ng-conf 2019
Day 1 Keynote
Brad Green
@BradlyGreen
Igor Minar
@IgorMinar
Angular Products
Angular
Protractor
Forms
PWA
Augury
Language Services
Router
Elements
CDK
Universal
Karma
Labs
Compiler
i18n
Http
Material
Animations
CLI
Frictionless Updates
ng update @angular/cli @angular/core
The Update Experience
We believe that the best measure of a healthy codebase and development team, is the time it takes from wanting a change to the time it is developed and deployed in production.
Air France / KLM Upgrade times
Angular Versions
30
20
10
0
30d
14d
14d
1d
v2 to v4
v4 to v5
v5 to v6
v6 to v7
Time in Days
Angular Community
angular.io grew >50% in 2018
2015
2016
2017
2018
Daddy, did you pick your nose when you were a kid?
It’s just a compliment after all!
Thursday 3:00 PM
Grand Ballroom B
How tech communities can change your life
Friday 11:47 AM
Grand Ballroom
Angular Version 8 RC
Timeline
Version 8 RC
Version 8 Final
Version 9
Today
~May
Q4
Try Version 8 RC
update.angular.io
Instructions
next.angular.io
Docs
Smaller apps with Differential Loading
Evergreen
Legacy
Minimal polyfill
Modern syntax
Full polyfill
ES5 syntax
Differential Loading Savings
41Kb
Before
After
For angular.io
7-20%
More Features
Builders
Deploy
Web Workers
Service Worker Improvements
Lazy Loading Via import()
AngularJS $location Support
Simplified “Getting Started” Guide
Better IDE Completions
Work in progress
Build like Google with Bazel
Shifting Development Landscape
Java, C#, etc.
COMPLEXITY
COMPLEXITY
JavaScript
Bazel Benefits
Incremental build and test
Full-stack
Scale on the Cloud
Bazel Users
Lucidchart
LogiOcean
Angular
Angular Products
Angular
Protractor
Forms
PWA
Augury
Language Services
Router
Elements
CDK
Universal
Karma
Labs
Compiler
i18n
Http
Material
Animations
CLI
Angular framework CI faster with RBE
4000
3000
2000
1000
0
60 min
7.5 min
Before RBE
After RBE
Run Bazel in the CLI
Get all the Bazel details
The Bazel Opt-In Preview is Here
Friday 1:30 PM
Grand Ballroom
Bazel team is here at ng-conf!
Wednesday: 10am - 1:30pm
Expo hall at the Google Cloud & Firebase table
Thursday: 1 - 3pm
Bagatelle (3rd floor)
Friday: 10am - 1:30pm
Expo hall at the Google Cloud & Firebase table
Ivy Renderer
Faster compilation
Smaller
Simpler debugging
Improved type checking
Backwards compatible
Try Ivy in Version 8 RC
ng new my-app --enable-ivy
next.angular.io/guide/ivy
Ivy @ Google
97%
Passing unit, integration, and screenshot tests
Representing hundreds of thousands of tests across Google apps using Angular
Backwards Compatibility for You
Few dependencies
Many dependencies
Low risk
Higher risk
Simpler Debugging in Version 8 RC
Breakpoints in HTML
Debuggable change detection
Smaller
160
120
90
60
30
0
151kB
View Engine
131kB
View Engine + Differential
126kB
Ivy Compat
109kB
Ivy Compat + Differential
Ivy Future API + Differential
14kB
Recommended
Help us test!
Thrill seekers
Angular hello world app, minified, uncompressed
BONUS: Lower memory requirements
Angular Test Suites
Application simulation
Material unit tests
memory
30%
91%
BONUS: Faster tests
Framework unit tests
time
Material unit tests
time
38%
80%
Angular Test Suites
BONUS: Fixed Long Standing Bugs
Descendants flag works inconsistently
Queries have inconsistent resolution timing
Change detection runs too often
Class bindings override other classes
ContentChildren queries select host node
Ivy Renderer
Backwards compatible
Simpler debugging
Lower memory
Faster tests
Bug fixes
Ivy Renderer
Faster compilation
Smaller
Improved type checking
v9
v9
v9
Version 9 (Q4 2019)
Ivy as Default
Bazel in CLI
Fully Featured & Stable
Design considerations + Community
Igor Minar
Angular Tech Lead
Compatible
Angular
is an ecosystem that
you can rely on.
Evergreen
Angular
is an ecosystem that
is malleable and ever-evolving.
Scalable
billions
Billion user apps
Enterprise
apps
Small apps
Demos
Edu apps
Number of users
0
Number of apps
millions
billions
Billion user apps
Enterprise
apps
Small-medium apps
Demos
Edu apps
Number of users
0
Number of apps
millions
AngularJS
(est 2010)
billions
Billion user apps
Enterprise
apps
Small-medium apps
Demos
Edu apps
Number of users
0
Number of apps
millions
Angular v2
(est 2016)
billions
Billion user apps
Enterprise
apps
Small-medium apps
Demos
Edu apps
Number of users
0
Number of apps
millions
Angular v2 actual
(est 2016)
billions
Billion user apps
Enterprise
apps
Small-medium apps
Demos
Edu apps
Number of users
0
Number of apps
millions
Angular v4-v8
(2016-2019)
billions
Billion user apps
Enterprise
apps
Small-medium apps
Demos
Edu apps
Number of users
0
Number of apps
millions
Angular Ivy
(planned for v9)
billions
Billion user apps
Enterprise
apps
Small-medium apps
Demos
Edu apps
Number of users
0
Number of apps
millions
Angular Photon
(prototypes)
Not Every App is a SPA
Today 3:55 PM
Web Components with Angular Elements: Beyond the Basics
Today 10:50 AM
billions
Billion user apps
Enterprise
apps
Small-medium apps
Demos
Edu apps
Number of users
0
Number of apps
millions
Angular Photon
(prototypes)
Hello Friends!
Angular
is an ecosystem that
is people-oriented
Values
Apps that users ❤ to use
Apps that developers ❤ to build
Community where everyone feels welcome
Angular
is
open-source
❤
OSS
OSS
Developed on GitHub
CI with Google
(Google runs on development HEAD)
OSS
43 Amazing People
Angular Team
Framework
Components
Tooling
Developer Relations
Documentation
Angular Organization
Googlers
(with access to google3)
PR Contributors &
Issue Reporters
Community
Collaborators
Team
Angular Collaborators
Program for scaling Angular development through the Angular community
Angular Organization
Googlers
(with access to google3)
PR Contributors &
Issue Reporters
Community
Collaborators
Team
Scaling with OSS via Angular Collaborators
Googlers
PR Contributors &
Issue Reporters
Community
Existing Collaborator
Team
New Collaborators
Angular Collaborators
Community
Enable individuals turn their passion into impact
Enterprise
Enable enterprises to invest into Angular in exchange for inhouse expertise, and ability to inform the roadmap
Angular Collaborators: Goals
Scale via OSS
Increase Team Diversity
Engage with the Community
Create Opportunities
Ensure Long Term Success
9 New Community Collaborators
Adam Plumer
Cédric Exbrayat
Deborah Kurata
Jason Bedard
JaiLi Passion
Joost Koehoorn
Manfred Steyer
Markus Padourek
Sam Julien
~40 more in 2019
Angular GDE
Angular Collaborator
Not just to code contributions
Docs
Triaging / Support
Design / UX Research
How to Join?
Community: Be an awesome contributor
Enterprise: devrel@angular.io
Empathy and Respect
Enjoy ng-conf!
Thank You!
g.co/ng/ng-conf-2019-keynote1
@BradlyGreen
@IgorMinar