Sajeetharan Sinnathurai
With over 13 years of experience in the IT industry, Sajeetharan is a Cloud Solution Architect, an enthusiast in Cloud and Opensource.He currently works at Microsoft as a Senior Program Manager in the CosmosDB team
@kokkisajee
www.sajeetharan.com
In a nutshell
Communities
Social Developer
Recognitions
Cloud Solution Architect @Microsoft
First GDE and MVP from SL
Top Stackoverflow user
@sajeetharan
@kokkisajee
@sajeetharan
@sajeetharan
@kokkisajee
If you don't know what to do
Stop ....Watch ....
@kokkisajee
@kokkisajee
@kokkisajee
Scalability
Performance
Flexibility
Versatility
Developer tools
Angular for mobile
Development kit
Angular elements
@kokkisajee
@kokkisajee
@kokkisajee
Over 30 annual Angular conferences
7 new events in 2019
800+ Meetups
@kokkisajee
AngularX has been reimplemented, not an evolution of Angularjs
Component based UI
$scope
ng-if
ng-app
ng-model
mobile oriented
better
performance
x7
@kokkisajee
@kokkisajee
Angular uses TypeScript and is ideal for programmers with a solid Object-Oriented Programming (OOP)
Massive ecosystems and more flexibility,
Relatively simple to pick up and integrate
@kokkisajee
NO. Fake News!!!!
@kokkisajee
Angular CLI & Schematics
Material & CDK
Angular Elements
Angular IVY
Bazel
@kokkisajee
Text
@kokkisajee
# For new apps
npm install -g @angular/bazel
ng new my-app --collection=@angular/bazel
# For existing apps
ng add @angular/bazel
@kokkisajee
ANGULAR CLI
Text
Updating to Angular N+1...
Add new dependencies in one single command!!
ng add @angular/pwa
@kokkisajee
Builder API
Text
The Builder API is the Angular Tooling system to develop and interact with Builders and external tools, which can perform common tasks: Linting, Building...
Create a builder
import {
BuilderOutput,
createBuilder
} from '@angular-devkit/architect';
export default createBuilder((options, context) => {
return new Promise<BuilderOutput>(resolve => {
resolve({ success: true });
});
});
Use the builder
{
"projects": {
"builder-test": {
"architect": {
"touch": {
"builder": "@example/command-runner:command",
"options": {
"command": "touch",
"args": [
"src/main.ts"
]
}
},
}
}
}
}
@kokkisajee
Angular Schematics
Text
Create your own Schematic
npm i -g @angular-devkit/schematics-cli
schematics schmatic --name=indore
Use your own Schematic
ng new gdg-indore && cd $_
npm link /path/to/indore
schematics <path>:<schematic> --<option>=<value>
# schematics .:indore --tests=false
@kokkisajee
Component Dev Kit
Text
Text
Registering Components as Custom Elements
@kokkisajee
36kb
7.3kb
2.7kb
Ivy minified
Ivy compressed
Today (compressed – no zone.js)
10kb
Initial target
@kokkisajee
Reduce the payload size for all modern browsers.
Still support legacy browser and google crawler.
On By default in version 8.
# ./src/browserslist
> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11
# ./tsconfig.json
{
"compilerOptions": {
"target": "es2015"
}
}
@kokkisajee
npm i -g @angular/cli@next
# OR
ng update @angular/cli @angular/core --next
# OR for Angular version 8
ng new gdg-indore --enable-ivy
@kokkisajee
@kokkisajee
- Explore more on angular
- Send your queries @kokkisajee
- Be a part of Ng-SriLanka 2020
@kokkisajee
@kokkisajee
@kokkisajee
By Sajeetharan Sinnathurai
Presentation at GDG DevFest Peshawar 2019. The session is about intro to angular, evolution and what is new on angular
With over 13 years of experience in the IT industry, Sajeetharan is a Cloud Solution Architect, an enthusiast in Cloud and Opensource.He currently works at Microsoft as a Senior Program Manager in the CosmosDB team