AngularJS is one of the most popular, complete and advanced HTML frameworks of the moment. Recently, the first Angular conference in Europe – ng-europe – took place in Paris. My colleague Thomas Anciaux and I attended it and in this post I will highlight the most important takeaways.
Future of Angular
Angular 1.3 is out and mainly focuses on better performance. -Compared to version 1.2 DOM manipulation is 4.4 times faster and there’s 73% less garbage to collect. Worth the upgrade I would say!
At this moment the guys of Angular are working very hard on implementing Angular 2.0. This version will have a strong focus on mobile, performance and scale. As for most major version upgrades this one also contains some major changes.
The core will heavily change and the power of ES6 will be all over the place.
- Directives as we know them will be replaced by 3 different types: ComponentDirectives, TemplateDirectives & DecoratorDirectives. ComponentDirectives are the most important ones.
- Components will be able to find the nearest component of a specific type and to communicate with it directly. This will make controllers and scope obsolete.
- Angular.module will be abandoned in favor of the ES6 module loader which is capable of loading resources asynchronuously.
- The change detection mechanism which is part of Angular's data-binding implementation will use Object.observe() behind the scenes. This will make change detection significantly faster.
- One time data-binding will be included. No longer necessary to use an external library for that.
- Angular 2.0 apps can be written in AtScript, a superset of TypeScript (and hence ES6). AtScript adds annotations and assertions on top of the ES6 language standard. However, you'll still be able to use ES5.
The new router includes the concept of child apps: a larger piece of an app which is encapsulated. These child apps can have their own routing which makes it easy to drop in some module which handles its own routing out of the box. Pretty clever!
Hooks for screen activation and screen deactivation are provided as a promise. This makes transactional screen navigation possible and enables customization of the pipeline and viewport.
Interesting frameworks and libraries
Next to evolutions to AngularJS itself, some interesting new frameworks and libraries were presented. The ones that caught my attention are Angular material design, Ionic and Angular-fire.
Angular material design is a very promising library based on the Google Material Design spec. It leverages ink & UI effects, UI components, CSS layouts based on flexbox, directives, services and themes. All components are responsive, animated and have support for screen readers, keyboard navigation and focus support (aka ARIA support).
Ionic is an SDK for making hybrid apps developed with Angular feel like they’re native apps. The framework provides a lot of special components which behave like native ones and uses Cordova under the hood to wrap the web app in a native container. Transitions look like native ones, buttons behave like native ones and gestures and theming are included out of the box.
Angular-fire is a library that provides a realtime backend for Angular applications by exposing a firebase back end as a service. This enables instant data syncing between multiple clients. Firebase-powered apps work offline and data is synced instantly when apps regain connectivity.
Like this Blog?
Then you’re in for a treat! Visit my personal blog, which offers many more hours of excellent reading material!