You’ve all heard it. Angular 2 is out and countless software development companies are ramping up for this change in front-end development. Others are in the process of upgrading from an earlier version. But with great power comes, well… fear that Angular 2 simply isn’t production-ready yet, or that the ecosystem and community hasn’t gained critical mass for larger projects.
A few months ago, we were confronted with exactly this decision. After much discussion and deliberation went ahead and bet our chips on the Angular 2 card to develop the next generation application for one of our long time customers. We would like to share our experience over the last few months- our pains, ups and downs but also the fun we had.
To start off let us tell you, “It’s really not that hard to learn!” If you are familiar with AngularJS already, you might remember the pain when first starting with Angular. A time where you could get everything working, but if you weren’t steadfast representative of clean code, it was way too easy for it to turn into a big pile of mud. Angular 2 is different – and the good news is – if you’re coming from an OOP background, Angular 2 is easy to learn and not a giant leap of faith. This is because Angular 2 is written in TypeScript, which “forces” developers to write structured code. This gives us the advantage that code editors support us in much better ways such as IntelliSense, auto-completion, compile time type checking as well as generating code when needed. This… is… awesome! It simplifies the life of front-end development immensely.
Along with all the good, there is, of course, also some bad and Angular 2 is no exception to this. When we started development three months ago, the ecosystem was not even close to ready. We couldn’t find a Material Design CSS Framework that fit our needs. Answers to our questions on Stack Overflow were few and far between, and our dependent libraries received major updates with breaking changes every couple of weeks. Every problem has a solution however, and instead of struggling on with material Design, we switched to Bootstrap 4 (big shout-out to the Bootstrap 4 team). To keep our project up to date, but minimize the impact of breaking changes during development we fixed all npm versions and manually update our npm packages once a month. To get answers to our technical questions… well… we re-read the documentation a few more times, looked at actual implementations and found answers through the good old method of trial and error.
Notwithstanding the pains, we are pleasantly surprised by the elegance of Angular 2 and the satisfaction and fun of building an application with new technology. The code is clean. The code is fast. The code is sexy.
Now… do we recommend that you also use Angular 2? Our answer is, loud and clear – go for it, especially if you are starting from scratch. We guarantee that you’ll enjoy the ride.