On Feb. 19, State of Frameworks speakers, including many of the best and brightest from the development world, gave us updates on all things frameworks.
Stephen Fluin — Developer Advocate for Angular — @stephenfluin
What Angular Values
Angular builds apps based on the following goals:
Apps that users love to use
Apps that developers love to build
A community where everyone feels welcome
Everything Angular does aims to reflect those values, and the latest releases and experiments are no exception.
Right now, most Angular developers are using the latest major release.
Each major Angular release aims to help developers:
Move faster with a set of integrated tools
Scale better with the ecosystem
Reach further by partnering and building out an end-to-end story between clients, mobile, and more
Many users have been asking questions about Angular’s six-month release cycle. Most Angular apps that people are working on use the most recent version, with each release (based on anecdotal data and surveys) becoming easier and faster to update. Updates now take only around a few hours. This is one of Angular’s major goals.
By contrast, the traditional JS model has a few steps to interact with dependencies, which begins with following the 12 steps in README.md and updating your deps every certain number of days to fix whatever broke.
Angular is pushing hard to improve upon this somewhat unwieldy model, inverting the dependency tree. Dependencies should be able to update themselves, integrating themselves into a product organically. Dependencies should be also responsible for keeping your adaptation up to date, so that, for example, changing a symbol is automated for the user.
Version 8 is expected to go RC in Q2, probably in April 2019.
Changes for version 8 are mainly QOL improvements.
For example, the Angular router will support lazy-loading of JS routes using $route. This is a commonly requested feature, and users are especially excited about this. Also, Angular developers have incorporated some community PRs using Web Workers to make bundling easier.
Angular is also pushing people into differentially loaded JS. This involves a technique where you can conditionally load modern JS versus legacy JS. Developers are starting to bake that into the main bundle, to save users time and bandwidth.
The other major improvement for Version 8 involves getting Ivy ready. Ivy will appear as an opt-in preview in version 8. In the opt-in preview, Angular developers are looking for a great deal of feedback: where they’re breaking applications, where things are bigger and slower, and more. Early tests have been promising, showing code that’s easier to debug in real time, faster rebuilding, and decreased payload time.
Eventually, goals further down the line include Ivy for everyone and component-level hydration, which is still in its experimental phase.