Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
What's New in Angular version 8
Search
Minko Gechev
May 27, 2019
Programming
4
2k
What's New in Angular version 8
Minko Gechev
May 27, 2019
Tweet
Share
More Decks by Minko Gechev
See All by Minko Gechev
Change the World With Open Source Software
mgechev
0
140
Fast Angular Apps from End to End
mgechev
1
160
The State of Angular
mgechev
1
180
The State of Angular
mgechev
1
300
Software Engineering as a Superpower
mgechev
1
160
Introduction to Angular
mgechev
1
160
Internals of the Angular CLI
mgechev
2
1.2k
The State of Angular
mgechev
1
170
The State of Angular Deployment, SSR, and Prerendering, ng-conf keynote
mgechev
2
2.9k
Other Decks in Programming
See All in Programming
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.4k
DROBEの生成AI活用事例 with AWS
ippey
0
130
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
2
540
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
2
480
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
910
Writing documentation can be fun with plugin system
okuramasafumi
0
120
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
530
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
210
Unity Android XR入門
sakutama_11
0
160
Introduction to kotlinx.rpc
arawn
0
700
昭和の職場からアジャイルの世界へ
kumagoro95
1
380
Software Architecture
hschwentner
6
2.1k
Featured
See All Featured
Scaling GitHub
holman
459
140k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Invisible Side of Design
smashingmag
299
50k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
KATA
mclloyd
29
14k
Bash Introduction
62gerente
611
210k
Side Projects
sachag
452
42k
Producing Creativity
orderedlist
PRO
344
39k
Transcript
@yourtwitter What’s New in Angular Minko Gechev twitter.com/mgechev github.com/mgechev blog.mgechev.com
@mgechev Angular version 8 is coming out soon!
@mgechev Release schedule Two major releases a year
@yourtwitter @mgechev • Following SemVer • Predictable & guaranteed •
Place for innovation Release policy
@mgechev Still…major release means potential breaking changes
@mgechev
@mgechev 0 7.5 15 22.5 30 v2 to v4 v4
to v5 v5 to v6 v6 to v7 Air France / KLM Upgrade times
@yourtwitter ng update @angular/cli @angular/core Migrate to latest Angular
@yourtwitter [ { path: ‘a', loadChildren: './a.module#AModule' }, ... ];
Version 7 Version 8
@yourtwitter [ { path: ‘a', loadChildren: './a.module#AModule' }, ... ];
[ { path: 'a', loadChildren: import('./a.module') .then(m => m.AModule); }, ... ]; Version 7 Version 8
@mgechev
@mgechev
@mgechev Angular Community
@mgechev angular.io grew >50% in 2018
@mgechev How to contribute?
@yourtwitter @mgechev • Organize a meetup • Help with the
docs • Write a blog post • Help on StackOverflow • Answer questions on gitter • Introduce a bug fix • … Ways to contribute
@mgechev
@mgechev
@mgechev Angular Collaborators Program Adam Plumer Deborah Kurata Sam Julien
Markus Padourek Manfred Steyer Jason Bedard Cédric Exbrayat JiaLi Passion Joost Koehoorn
@mgechev Angular Collaborators Program Manfred Steyer
twitter.com/mgechev
@yourtwitter @mgechev Differential loading • Produce ES5 bundles for newer
browsers • Do not send polyfills to modern browsers • Smaller payload • Do not downlevel modern features • Faster execution • Smaller payload
@mgechev -65KB polyfills ~2-10% smaller bundles
@mgechev Step 1: Load HTML Step 2: Look at script
tags Step 2: Download right version Differential loading
@yourtwitter Differential loading <!DOCTYPE html> <html lang="en"> <head> <title>Differential loading
</title> </head> <body> <script type="module" src="app-es2015.js"> </script> <script nomodule src="app-es5.js"> </script> </body> </html>
@yourtwitter Differential loading <!DOCTYPE html> <html lang="en"> <head> <title>Differential loading
</title> </head> <body> <script type="module" src="app-es2015.js"> </script> <script nomodule src="app-es5.js"> </script> </body> </html>
@yourtwitter @mgechev Differential loading ✅ Simple deployment infrastructure ✅ Proposal
for a browser standard WHATWG
@mgechev Version 8 features Builders Deploy Web Workers SW Improvements
Code-splitting with import AngularJS $location support Better IDE completion Simplified “Getting started” guide
@mgechev Version 8 features Builders Deploy Web Workers SW Improvements
Code-splitting with import AngularJS $location support Better IDE completion Simplified “Getting started” guide
@mgechev
@mgechev Builders allow you to override existing commands
@mgechev
@mgechev Partnering with
@mgechev Work in progress…
@mgechev Build like Google
@yourtwitter @mgechev Benefits of Bazel • Incremental builds • Sharing
cache between team & CI • Full-stack support • Scale on the cloud
@mgechev Few Bazel users Google Lucidchart LogiOcean
@mgechev Speed improvements for Angular’s CI build 0 1000 2000
3000 4000 Before RBE After RBE
@mgechev Bazel opt-in preview
@yourtwitter npm i -g @angular/bazel ng new my-app --collection=@angular/bazel Try
Bazel in version 8
@yourtwitter @mgechev Ivy • Simpler debugging • Backwards compatible •
Lower memory usage • Faster tests • Smaller • Faster compilation • Improved type checking
@mgechev Backwards compatible 97% Passing unit, integration, screenshot tests at
Google
@mgechev Faster tests -38% Framework unit tests time -80% Material
unit tests time
@mgechev Lower memory requirements -30% Framework unit tests memory -91%
Material unit tests memory
@yourtwitter @mgechev Work pending in Angular Ivy • Smaller •
Faster compilation • Improved type checking
@mgechev Ivy opt-in preview
@yourtwitter ng new my-app --enable-ivy Try Ivy in version 8
@yourtwitter @mgechev Recap • Release schedule • Evergreen Angular •
Collaborators program • Differential loading & Builders API • Bazel & Ivy in opt-in preview
@mgechev Thank you! twitter.com/mgechev github.com/mgechev blog.mgechev.com