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
130
Fast Angular Apps from End to End
mgechev
0
140
The State of Angular
mgechev
1
170
The State of Angular
mgechev
1
280
Software Engineering as a Superpower
mgechev
1
150
Introduction to Angular
mgechev
1
150
Internals of the Angular CLI
mgechev
2
1.2k
The State of Angular
mgechev
1
160
The State of Angular Deployment, SSR, and Prerendering, ng-conf keynote
mgechev
2
2.8k
Other Decks in Programming
See All in Programming
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
Recoilを剥がしている話
kirik
5
6.8k
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
5
740
선언형 UI에서의 상태관리
l2hyunwoo
0
180
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
3
300
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
1
150
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
410
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
Designing Experiences People Love
moore
138
23k
The Cost Of JavaScript in 2023
addyosmani
45
7k
The Language of Interfaces
destraynor
154
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
What's in a price? How to price your products and services
michaelherold
243
12k
Music & Morning Musume
bryan
46
6.2k
Optimizing for Happiness
mojombo
376
70k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
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