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...