Angular in 2019
ngAtlanta, January 2019
Brad Green
@bradlygreen
@
First eng review:
Nov 16, 2010
You are all liars!
Urs Hölzle
Later that day...
Check out the framework Urs doesn't want you to use!
Angular in 2018
Used by more Google developers than any other front end framework
Angular Everywhere
Startups Choosing Angular
Growth (angluar.io monthly visitors)
55%
Help us grow
Daddy, do you pick your nose?
Create excellent interactions
Expect and deliver the best
good
bad
interactions
conduct@angular.io
799 Worldwide Meetups
angular.meetup.com
Angular 6 & 7
Building a better developer experience
Fully supported, fully integrated
Angular
Protractor
Forms
PWA
Augury
Language Services
Router
Elements
CDK
Universal
Karma
Labs
Compiler
i18n
Http
Material
Animations
CLI
Angular Universal
Angular Universal
req
html
js
The cause for server side rendering
Speed
Preview
SEO
The cause for server side rendering
Speed
SEO
Preview
Good
Fast
Popular
Shopping
Express
Place your screenshot here
2.3x Faster!
Embed anywhere with Angular Elements
Self bootstrapping
Standards-based
Works everywhere
Angular Material & CDK
Angular Material Design Components
date-
picker
menu
badge
bottom sheet
button
card
dialog
grid-list
icon
radio
select
sidenav
auto-
complete
expansion
progress
checkbox
input
slide toggle
chips
list
slider
snack bar
table
tabs
toolbar
stepper
tooltip
tree
Angular Component DevKit (CDK)
Behaviors
Accessibility
Layout
Observers
Overlay
Bidirectionality
Portal
Scrolling
Virtual Scroll
Drag & Drop
Generic Components
Stepper
Table
Tree
Angular CLI
Extensible CLI Ecosystem
new
generate
add
update
component
directive
pipe
service
...
Angular Console
One-step install
CLI Graphical UI
Interactive command discovery
StackBlitz
Angular Language Service
CLI Schematics Extensions
Faster than desktop
Painless Updates
update.angular.io
Strict deprecation policies
ng update
Painless Updates
Painless Updates
Angular v8 and Beyond
Smaller, faster, easier
Me
Steve
Design/Develop Workflow Friction
Sketch
HTML
CSS
Static Mocks
Prototype?
Angular Codesign by GCP
Production components
Living design spec
High-resolution prototypes
Template export
Angular Codesign
Fast, stable builds
Bazel
Scale
Speed
Multi-language
Fast, stable builds
Bazel
Accepting early access
Used by Angular itself
In the CLI as an option
Fast, stable builds
Bazel
Expanding Angular Use Cases
Ivy Renderer + Angular Elements
Expanding Angular Use Cases
Applications
Lightweight
Websites
Industrial strength
Angular Universal
Optimization & lazy loading
Angular Elements
Ivy Renderer
Ivy Renderer
Faster compilation
Smaller
Better DX
Smaller
25 Kb
20 Kb
10 Kb
5 Kb
0
30 Kb
7.3 Kb
2.7 Kb
Ivy
Minified
Ivy
Compressed
Cake Goal
10 Kb
'Hello, World' Cake Threshold
36 Kb
Today (compressed)
(no-zone.js)
Backwards Compatible
Firebase
Analytics
Express
Cloud Platform
+600 more
...
Angular v8
Opt-in Ivy
Faster runtime
Lower memory
Smaller builds
Faster builds
Better debugging
Angular v9
Default Ivy
TINY builds
Better APIs
What about Urs?
Thanks!
"Brad will never go to college and will likely never have a full-time job"
- My 3rd grade teacher
ngGirls
Corporate Sponsorship
info@ng-girls.org
Individual Sponsorship
Sponsor
patreon.com/ngGirls
Mentoring
Volunteer
ng-girls.org/#descrption
Using 'ng add'
\
> ng add @angular/pwa
> ng add @angular/elements
> ng add @angular/material
> ng add @ng-bootstrap/schematics
> ng add @clr/angular
> ng add @nativescript/schematics
Per-library 'generate' schematics
\
> ng g @angular/material:material-nav --name=main-nav
Virtual Scroll & Drag-n-Drop
Building meetups at work
Friendships / networks
New concepts
Company-wide visibility
Personal confidence
Nebular Using CDK
Stackoverflow Survey