Angular 2 has grown steadily more popular since its release, and a growing number of books are now available to teach programmers how to use it. But building an application involves a lot more than just writing code: in order to be performant and maintainable, the application must have some over-arching architectural plan that ties its pieces together and gives direction to future growth.

To help with this, Rangle has started to assemble a guide to software architecture using Angular 2. How should sets of components be organized so that they can easily be tested and re-used? How can Angular 2 be combined with tools like Redux to simplify state management in an asynchronous, event-driven world? How can we design today to make server-side rendering less painful to add tomorrow (and should we be doing SSR at all)? Sooner or later, every growing application has to wrestle with these issues; our aim is to distill expert knowledge so that people can make the right decisions early on.

The first chapter of this new guide, based on work by Daniel Figueiredo and Renee Vrantsidis, is now available. We would be grateful for feedback on its content and format, and for suggestions about other topics the community would like to see covered. And if you are interested in contributing, please get in touch: as always, we are smarter together than any one of us is alone.