Scalable Angular Architecture
Submitted by Bartosz Pietrucha (@pietrucha) on Sunday, 28 January 2018
Building scalable software can be a challenging task. When we think about scalable front-end application, we can think of increasing complexity, more and more business rules, growing amount of data loaded into the application and large teams often distributed around the world. In order to deal with mentioned factors to increase the quality of delivery and prevent technical debt, robust and well grounded architecture can help.
In this talk I would like to present high level recommendations of well designed front-end architecture followed by implementation examples in Angular framework. Angular itself is a quite opinionated framework, forcing developers to do things “proper” way, yet there is also a place where things can go wrong.
Starting from proper abstractions between application layers, modular design and lazy loading to unidirectional data flow and predictable state management attendees will see how all of those help to scale front-end application. There are many talks about mentioned techniques and patterns, but presented independently. The goal of this talk is to show how those things can fit together to provide solid and scalable architecture for Angular applications.
- enterprise application context definition
- modularization and lazy loading
- abstraction layers
- unidirectional flow in UI and application
- state management based on NgRx
- components design