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
@manekinekko
@sfeir
All characters and items featured in this talk were created by Eiichiro Oda. all pictures are not owned by me and are subject to copyright status by Shueisha's Jump Comics division, Toei Animation, and related authors.
angular tooling
faster builds with Bazel
ux Material & CDK
Angular Elements as c.e.
Angular Ivy; a faster compiler
fair question...
Source: https://2018.stateofjs.com/front-end-frameworks/angular/
What happened?
NO. Fake News!!!!
angular.js 2
angular 2
angular.js
it is just "angular"
angular release cycle
x
6
months
1-3
months
every
week
z
y
. .
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
angular.io/docs unique visitors
Source: https://2018.stateofjs.com/front-end-frameworks/conclusion/
Is It The Fall Of Angular?
Definitely Not!
SFEIR.com
Sr. Developer advocate
wassim chegham
Head Of Open Source
Klingon
(author)
xLayers.app
(author)
angular Core Team Member
Compodoc
(co-author)
Universal
(former member)
angular console
(former member)
ngx.tools
(author)
Google Cloud
Actions On Google
Angular
GDE nominated by google
THE sfeir DEV ADVOCACY TEAM
@shikalegend
THE sfeir oss CORE TEAM
@manekinekko
@manekinekko
Organized by ng-be and editx
520+ participants in 2018
20 questions (online)
15 minutes
Final May 15, 2019
angular challenge 2019
OUR 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-9
we are opinionated!
Angular labs
experiment ideas/prototype define an sla
avoid PR stagnation
angular tooling
@stephenfluin
Architect is the Angular Tooling system to develop and interact with Builders and external tools, which can perform common tasks: Linting, Building...
Build it harder
Make it lighter
Do it faster
Makes us stronger
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...
@angular/core/**/*.{ts,js}
ng_module(), ts_library(), ng_package()
./bundles/core.umd.js
ts_web_test_suite, ts_devserver, rollup_bundle...
ts_library()
typescript compiler
tsc
compilation
Component Dev. Kit:
UI Components Building Blocks
CdkTreeModule
// html
<cdk-tree>
<cdk-tree-node></cdk-tree-node>
<cdk-tree-node></cdk-tree-node>
<cdk-tree-node></cdk-tree-node>
</cdk-tree>
// css
cdk-tree-node {
background-color: #404040;
}
MatTreeModule
<mat-tree>
<mat-tree-node></mat-tree-node>
<mat-tree-node></mat-tree-node>
<mat-tree-node></mat-tree-node>
</mat-tree>
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
future!!!
Faster Builds with Bazel
tooling
UX Components with CDK
Angular Components as CE
Faster Compiler
+ + +
Here is an initiative/idea...
a platform where developers can share code recipes for vue, angular and react.
Let's work hand in hand and build a better web.
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