0 Comments // Reading Time: 6 min.
In April this year the Angular team announced that they are now working on AngularJS version 2. The new major version will of course be the best Angular version ever. From April to October the developers invested a lot of time in prototyping, brainstorming and research. At the ng-europe conference in Paris at the end of October, the first results and direction were announced. A lot has happened in the last 4 years regarding web technologies, and in version 2.0 Angular is supposed to become faster and easier using many new technologies.
Igor Minar summarized the differences between AngularJS 1.X and 2.0 very well with the following statement:
"AngularJS 1.X is built for current browsers while AngularJS 2.0 is being built for the browsers of the future.
This means that one turns away from old browsers and also sets the current and future browsers and technologies. AngularJS 2.0 will support EcmaScript 6 (Harmony) as well as EcmaScript 5. If your own application is written in ES5, Angular will also be transpiled into ES5.
Features of the new version:
- ES 6 Support
- WebComponents are supported out of the box
- Further modularisation and a "mobile first design".
- Introduction of AtScript as an extension of TypeScript and ES6
Some concepts of Angular 1.x are not adopted in Angular 2.0. Of course, the concepts themselves have not disappeared. However, the child often gets a different name.
- The definition object for directives
This looks like everything is going to be different. Especially since the syntax changes slightly in some places. But Miško Hevery answers some discussions with the simple statement:
"It's all just objects and it doesn't matter what an object's name is. It doesn't matter if it's Factory, Service or Controller - it depends on what it does."
In this sense the controllers and directives are not "abolished". One could say that these concepts are only united and thus the use becomes easier and better reusable.
The same applies to $scope. The concept of the Scopes is not abolished, but further developed. Who hasn't desperately looked for an error, because something went wrong in an isolated scope? I therefore welcome the simplification of the scope concept and am excited about this new version.
In my first AngularJS backend module I had set myself the goal to get by without jQuery and what can I say, it worked. I only had to resort to "jqLite" in a directive for one thing. But for the Angular project, jqLite has become a performance bottleneck, so I can fully understand the team's decision.
The Templating becomes with AngularJS 2.0 thus somewhat differently. But since the basic concepts remain the same and according to the team's statements many things should become easier, one can be curious.
If you don't want to or can't do without jqLite, you are also free to use jQuery in the directives.
In summary, the development of Angular is going in a very good direction and I can't wait to test it. The team doesn't give an exact date for a release. They have the goal to develop a great new version and don't let migration paths or deadlines bother them. The team informs regularly in the blog about the current status and the brave and curious can finally test the prototype. :)
Currently we are using Angular in version 1.3 and since the completion of Angular 2.0 is still in the stars, one wonders: "What can I expect from the current branch?
Some things, because the development of Angular 1.x doesn't stand still. The Angular team wants to support and develop versions 1.x as long as the community uses them. So when you start a new project, you don't have to worry about putting Angular on the wrong horse. Angular 1.x will be around for quite some time.
The community has set itself the goal for Angular 1.4 to again improve some things in the 1.x branch. Brian Ford is currently working closely with the Angular 2.0 team to backport the new Router for Angular 1.4. The community already benefits from Angular 2.0. Another feature of Angular 1.4 will be small core modules.
In addition to new features, existing modules will of course be improved:
- The I18N module is partly cumbersome and still needs a little love. Therefore
- There should be a simpler and better version.
- Forms should be improved.
- There is some unused code in the Angular Core. This should be removed.
- Pawel Kozlowski wants to improve $http
- Adjustment of request parameter serialization
- XMLHttpRequest factory to become part of public API
- A progress event is to be added.
Personally I find the last point of the $http adjustments very interesting. With the help of this event, displaying a charge indicator would be a piece of cake.
As with Angular 2, I'm really looking forward to this release.
Besides the development of AngularJS 2.0, the team is also working on a new module, which gives you the possibility to let your app shine in the Material Design of Google.
I think the module will be a very good alternative to the current Boostrap.UI Module. Just have a look at it at https://material.angularjs.org/latest/#/ . At the moment the module is still under development, but most directives already look very good.
We are a digital agency headquartered in Munich/Unterföhring, which works remotely worldwide. We are specialized in the development of digital products. Our core topics are websites and portals with TYPO3, eCommerce with Shopware and Android and iOS-Apps. In addition, we deal with many other topics in the field of web development. Feel free to contact us with your concerns!