Architectural View on Angular 2
At Sparkbit, we have been working with Angular 2 framework since an early alpha version. We started building an enterprise system in Angular 2 back in November 2015. Since that time, the framework has been further improved for developer productivity, small payload size, and performance. Now, as Angular 2 has reached a final release version and our system is going into production, we decided to share our experience with others. We are starting a new series of blog posts, in which we will focus on topics related to architecture, component reusability and code maintainability.
We are building a system for a large European organization that will support the core processes within the enterprise. This system is a first element of a new application portfolio, thus one of the main challenges is to establish a set of patterns and principles that will be followed also by the future applications. Among our main priorities are maintainability and reusability. One of the objectives is to create rich UI components in such a way that they can be then reused in other applications. This would result in both lower the development cost and more consistent user experience. In this series we will describe our approach to solving such challenges.
Overview of the Angular 2 Series
Over the next weeks, we will write about topics such as:
- component-based architecture,
- structure of an enterprise system in Angular 2,
- data flow,
- benefits of static typing in a frontend application,
- generalizing components,
- local CSS in Angular 2,
- end-to-end testing of Angular 2 systems using Protractor,
- component reusability
and many more.
This series should not be treated as a tutorial on Angular 2 syntax. Instead, we will try to show how to apply universal patterns and architectural principles.
Our series will cover the most important aspects of using Angular 2 in a multi-module application. We start with an article that discusses loose coupling and high cohesion in context of Angular components. We hope it will help you to confidently use Angular components in your work. Enjoy the reading!