Wassim Chegham PRO
Senior Developer Advocate @Microsoft ★ Angular contributor ★ Bazel contributor ★ GDE @Google ★ creator of @itsjustangular / hueaction.dev / ngx.tools / xlayers.dev / angular.run / thundr.dev
Head Of Open Source Program Office at SFEIR
Bazel
CLI & Schematics
Material & CDK
Angular Elements
Angular Ivy
Source: https://2018.stateofjs.com/front-end-frameworks/angular/
What happened?
NO. Fake News!!!!
Source: https://2018.stateofjs.com/front-end-frameworks/conclusion/
Is It The Fall Of Angular?
0
500,000
1,000,000
1,500,000
Dec 2015
Dec 2016
Dec 2017
Nov 2018
THANK YOU!
Source: https://2018.stateofjs.com/front-end-frameworks/conclusion/
Is It The Fall Of Angular?
Definitely Not!
SFEIR.com
Head Of Open Source
WΛSSIM CHΞGHΛM
Other Contributions...
Klingon
(author)
xLayers.app
(author)
Angular Console
Core Team Member
Compodoc
(co-author)
?????????
Universal
(former member)
Angular Core Team 💕
I'm joining the
As a contributor
GCP
Actions On Google
Angular
Core Values
Apps that users love to use
Apps that developers love to build
Community where everyone feels welcome
Building a better Developer Experience
Angular 6—7—8
Schematics:
Extend Angular CLI
@stephenfluin
Bazel:
Build it harder
Make it lighter
Do it faster
Makes us stronger
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
Component Dev. Kit:
UI Components Building Blocks
Angular Elements:
Angular as Custom Elements
Angular
Component
Custom
Element
Angular
Component
Custom
Element
Ivy:
Angular's new Renderer
import {
Component
} from '@angular/core';
@Component({
selector: 'app-root',
template: `
<h1>{{ title }}</h1>
`
})
export class AppComponent {
title = 'ivy';
}
import * as tslib_1 from "tslib";
import { Component } from '@angular/core';
import * as i0 from "@angular/core";
var AppComponent = /** @class */ (function () {
function AppComponent() {
this.title = 'ivy';
}
AppComponent.ngComponentDef = i0.ɵdefineComponent({
type: AppComponent,
selectors: [["app-root"]],
factory: function AppComponent_Factory(t) {
return new (t || AppComponent)();
},
consts: 2,
vars: 1,
template: function AppComponent_Template(rf, ctx) {
if (rf & 1) {
i0.ɵelementStart(0, "h1");
i0.ɵtext(1);
i0.ɵelementEnd();
} if (rf & 2) {
i0.ɵtextBinding(1, i0.ɵinterpolation1("", ctx.title, ""));
}
}, encapsulation: 2
});
AppComponent = tslib_1.__decorate([
Component({
selector: 'app-root',
template: "\n\t<h1>{{ title }}</h1> \n "
})
], AppComponent);
return AppComponent;
}());
export { AppComponent };
36kb
7.3kb
2.7kb
Ivy minified
Ivy compressed
Today (compressed – no zone.js)
10kb
Initial target
@synalx
Faster Builds with Bazel
CLI extensions with Schematics
UX Components with CDK
Angular Components as CE
Faster Compiler
+ +
Here is an initiative...
By Wassim Chegham
2019 is an existing year for the Angular community. These slides cover the roadmap of some of the upcoming features. We talk about the new build orchestrator - Bazel, the Material CDK, the new rendering engine - IVy - and many other cool features. We will also see how it would be possible to make Angular run with other front-end technologies. Get ready.
Senior Developer Advocate @Microsoft ★ Angular contributor ★ Bazel contributor ★ GDE @Google ★ creator of @itsjustangular / hueaction.dev / ngx.tools / xlayers.dev / angular.run / thundr.dev