What is Angular's future

Angular Connect: Distribution, Community and Future of the Framework

In his keynote at Angular Connect 2018, Igor Minar, Team Lead in the Angular team, first reported on the use of the SPA framework (Single Page Applications) at Google in London. He showed that the search engine provider operates over 600 Angular applications - including some well-known applications such as Firebase, Google Analytics or the Google Cloud Platform.

Current distribution

According to Minar, Angular is also popular outside of Google: Among other things, he referred to a survey by Stack Overflow, according to which Angular is the most widely used front-end framework. He also showed that the number of developers using Angular is steadily increasing. To do this, the Angular team uses the user statistics in the online documentation. According to this, around 1,400,000 developers were using the SPA framework in June of this year. This corresponds to an increase of 40 percent compared to the end of 2017.

Minar dedicated a large part of the keynote to the topics of values ​​and diversity. In addition to application development, the team also cares about the community. The aim is to create a community in which everyone feels welcome. He referred to initiatives such as ngGirls, mentoring at conferences, the team's Code of Conduct, but also to the worldwide Angular Meetups.

The state of affairs

The status quo of the framework was also in focus. One of the goals in 2018 was to simplify the use of Angular and the update to new versions. The Command-Line Interface (CLI) now offers the instructions for this ng add and ng update. First integrates a new library and also generates the necessary boilerplate code; the latter updates all libraries, including Angular and CLI, to the latest version.

In addition to downloading the latest versions, ng update also refactor the program code to address changed APIs. An update of Angular including the CLI and the control element library Material is therefore carried out with only three instructions:

ng update @ angular / cli
ng update @ angular / core
ng update @ angular / material

In addition, the keynote speaker referred to the new Angular Console, which should simplify the use of the framework. This is a graphical user interface for creating Angular projects and their components. But the online editor Stackblitz, based on Visual Studio Code, is also intended to lower the entry hurdle.

To make it easier for developers to switch to Angular, the Angular team has recently been working on the Migration Assistant. It analyzes an AngularJS 1.x project and generates proposals for migration. Another goal is to improve collaboration with designers. To this end, the team launched the Angular for Designers initiative. A product that emerged from this is CoDesign. It enables designers to create prototypes using Angular.

The future of the framework

While Angular is currently playing out its strengths primarily in applications, the team would like to use it to penetrate other areas. Examples are websites, but also the integration of Angular components in products such as SharePoint.

For this, the team relies on Angular Elements, which allows Angular components to be published as framework-neutral web components, and on Ivy, a new compiler and renderer. The latter creates much smaller bundles and supports tree shaking better. This means that build tools should be able to identify and remove unnecessary framework components more easily.

In order to underline the possibilities of Ivy, Minar referred again to the figures published at ngconf in April, according to which a compressed Hello World application, thanks to Ivy, only needs 2.7 Kbytes instead of the currently used 36 Kbytes.

No breaking changes

Minar also emphasized that the introduction of Ivy should not bring about any major changes. This is very important for Google. Therefore, Ivy is currently in a verification phase at Google. As part of this, they also want to publish Ivy as a Labs project to allow developers outside of Google to experiment with it before the team finally publishes it. Minar did not give a specific time frame for this.

Bazel is another lab project presented in the keynote. It is the open source version of the build tool used by Google, which is known for its good performance. For this, Bazel consistently relies on incremental builds. This means that only the most recently made changes can be rebuilt. This is primarily intended to simplify working with large code bases. Bazel is not limited to JavaScript, but can also deal with other programming environments and languages ​​and thus build an overall system consisting of client-side and server-side parts.

Manfred Steyer
is a trainer and consultant with a focus on Angular and Google Developer Expert. He writes for O'Reilly, the German Java magazine and heise Developer. In his current book on Angular, he covers the many pages of the popular JavaScript framework penned by Google.
(bbo)

Comment on the post