SFEIR
Head Of Open Source Program Office at SFEIR
Bazel
Schematics
Components Dev. Kit
Observables
Angular Elements
Angular Ivy
SFEIR
SFEIR
Head Of Open Source Program Office at SFEIR
Exciting Things In
🎉🎊✨
The Angular Community!
GDE & Advocate for the Angular core team
Node.js Foundation Member
Do open source at manekinekko
SFEIR
Head Of Open Source Program Office
GDE for the Google Assistant team
GDE for the GCP teams
Tweet at @manekinekko
Blog at @wassimchegham
Wassim Chegham
@ManekiNekko
Compodoc Core Team
Angular Console Core Team
Built with latest Angular and Angular CLI
PWA (cacheable & installable — only)
Full Material Design components
Search experience (with Algolia)
Search Filters
Search Facets
Search Sorting
autocomplete with hot words highlighting
Deep Linking URL (bookmark)
Infinite scrolling pagination
Voice search (via DialogFlow)
Serverless arch. with Firebase Cloud Functions
Deployed on Firebase Hosting
BLAZING FAST
Angular 6 & 7
Building a better developer experience
Bazel:
Build like Google
Fully incremental, Local & distributed caching and parallel execution
Multi or Monorepo, Any size codebase, and Any size group
TypeScript, Go, Java, SASS..., Windows, MacOS, and Linux
Android, C & C++, C#, D, Docker, Go, Groovy, Kotlin, iOS, Java, JavaScript, Jsonnet, Objective, OCaml, C, Proto Buffers, Python, Rust, Sass, Scala, Shell, TypeScript, etc...
ts_web_test_suite, ts_devserver, rollup_bundle...
BUILD.bazel
angular.json
Schematics:
Extend Angular CLI
Component Dev. Kit:
UI Components Building Blocks
Virtual Scrolling
Observables as a Standard: Streams everywhere
map()
filter()
reduce()
document
.querySelector("#img")
.on("load")
.subscribe(e => { ... })
Angular Elements:
Angular as Custom Elements
Angular
Component
Custom
Element
Angular
Component
Custom
Element
Ivy:
Angular's new Renderer
36kb
7.3kb
2.7kb
Ivy minified
Ivy compressed
Today (compressed)
(no zone.js)
10kb
Initial target
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<h1>
app, {{title}}
</h1>
`,
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'works!';
}
import * as core from '@angular/core';
export class AppComponent {
static ngComponentDef = core.ɵdefineComponent({
type: AppComponent,
tag: 'app-root',
template: template: (rf: core.ɵRenderFlags, ctx: ManualComponent) => {
if (rf & 1) {
core.ɵE(0, 'h1');
core.ɵT(1, 'app, ');
core.ɵT(2);
core.ɵe();
}
if (rf & 2) {
core.ɵt(2, ctx.title);
}
},
factory: () => new AppComponent()
})
}
Faster Builds with Bazel
Extend CLI with Schematics
UX Components with CDK
Observables as a Standard
Angular Components as CE
Faster Compiler
Elements Slot Support
Material Design 2018 Visual Refresh
@angular/labs
@angular/fire
CLI Reference (next.angular.io/cli)
* Pacific Time