In Angular 2 there are no more controllers or scopes. Angular 2 provides component-driven architecture and the central element is obviously the component. Components contain both state and processing, accepts parameters and can trigger events. Components can be used within other components and can react on other component events.
- Template syntax
Template syntax has evolved to be more efficient to use. Sure you find a way to use bindings (simple or birectional), to attach some processing on component events and leverage structural and attribute directives. Some shortcuts are also provided to make code concise at this level for example for bidirectional bindings and loops.
- New change detection
Angular completely updates the way it detects changes and handles them. Detection is now based on the ZoneJS library that can intercept all of the asynchronous APIs in the browser. Since an Angular 2 application is a reactive system, the change detection system propagates bindings from the root component to children ones.
By default, the change detection system walks the whole tree of components in a predictable way. This allows to have good performance. In addition, you can also add some optimizations for particular uses cases. For example, if you use immutable objects or observables, you can take advantage of them and check parts of the component tree only if they really change.
HTTP support relies on observables. The main consequence is the ability to easily plug HTTP calls into whole processing of components. We can easily configure some transformations on data to send for a request or received data within a response. More advanced processing like retries, errors can be easily handled with a few lines of code.
Form support is based on a set of directives that allow to specify bidirectional bindings on component attributes, but also have access to form and field states. Based on the new syntax in templates, we can efficiently and easily handle validations.
Faster and Modern Browsers: Faster and modern browsers are demanded by developers today. Developers want AngularJS 2.0 stress more on browsers like IE10/11, Chrome, Firefox, Opera & Safari on the desktop and Chrome on Android, Windows Phone 8+, iOS6 & Firefox mobile. Developers believe that this would allow AngularJS codebase to be short and compact and AngularJS would support the latest and greatest features without worrying about backward compatibility and polyfills. This would simplify the AngularJS app development process.
- Mobility Driven: AngularJS 1.x was developed taking mobile into consideration. Though developers can use it for building mobile apps but they usually face performance related problems. Developers are looking for a new Angular version with mobility driven approach which could make AngularJS mobile app development simplified. Developers are wanting for mobile-specific features like low memory, touch support and low memory and performance tuning etc. Developers and many technologists believe that by this all mobile related issues can be easily solved and one can efficiently create a desktop application hence AngularJS web application development becomes comprehensible.
- Changing World of Web: The web has changed noticeably and no doubt it will continue changing in the future as well. The current version of AngularJS cannot work with the new web components like custom elements, HTML imports, shadow DOM etc. which allow developers to create fully encapsulated custom elements. Developers anticipate with all hopes that AngularJS version 2.0 must fully support all web components.
- Better Performance: AngularJS originally was developed for designers not for developers. Though there were few evolutionary improvements made in design to fulfill the developer’s1 requirements, but still developers feel that there still lies some scope of improvement. The improved version 2.0 is expected to come up with overall improvements as far as the performance of framework is concerned.
- Easy Applicability: Understanding and implementing AngularJS is not easy and not everyone can enjoy using it. It certainly requires in-depth understanding of technicalities and has extensive knowledge of its core features. Features like custom directives and controllers ich are considered as ‘core’ of AngularJS are not easy ones to chew at first. Hence, developers are looking forth to make AngularJS a bit easy. Conclusively, developers would love to see what the newly rewritten code for AngularJS has to offer.
- Revamped Dependency Injection: Developers know that Dependency Injection (DI) is one of the most important feature of AngularJS. This component of AngularJS differentiates Angular from its competitor’s frameworks as it keeps away coders from writing a lot of tedious code for application. The current version of AngularJS1.x has issues like implementation of minification and features common to cutting-edge service side NET or Java frameworks. Developers are looking forward to getting these issues resolved in version 2.0.
- Strong and Flexible Routing: Routing which has been supporting a wide variety of requirements and needs, like child and sibling states is seen to bring in some features like nested states and sibling views with version 2.0 in core AngularJS router. Some other great and extensive features (which could revamp the routing and make it simple, scalable and extensible) like URL resolver, location service, navigational model, push state child router, or hash change etc. are some of the expectations which developers are looking for.