SlideShare a Scribd company logo
1 of 54
Download to read offline
Angular, the new AngularJS
By Matthew Gardner
Matthew Gardner
Frontend Developer
● Been with Kenzan for 4 years
● In free time I enjoy playing the guitar and listening to music
● Have been experimenting with Angular since RC stage
● Created a website for my mom in Angular v2
● Have been developing an Angular app using spotify API
Kenzan
▪ Full Service Consulting Firm
▪ Architecture, front and back end development, business analysis and DevTest.
▪ Cloud Virtualization Experts And Enablers
▪ AWS, Netflix stack, Kubernetes, Istio, enterprise architecture and beyond.
▪ DevOps Leadership
▪ Platform builds, continuous delivery and scalable resourcing.
What we will cover today
▪ Differences between Angular and AngularJS
▪ What is Angular?
▪ Core concepts of Angular
▪ Major changes from Angular v2 - v6
▪ Life cycle methods
▪ Brief overview of TypeScript
▪ Brief overview of RxJS
▪ Configuration to Angular
▪ Angular CLI
▪ What is next for Angular
▪ Demo of Angular spotify app and site for my mom
Examples of differences between
Angular and AngularJS
AngularJS vs Angular two way data binding
AngularJS Angular
https://codepen.io/mgarnder/pen/jpZGmP - AngularJs
https://codepen.io/mgarnder/pen/KBQXRM - Angular
AngularJS vs Angular Services
AngularJS Angular
https://codepen.io/mgarnder/pen/djdZvB - AngularJS
https://github.com/mrgardner/Angular2ServiceExample - Angular
AngularJS vs Angular Components
AngularJS Angular
https://codepen.io/mgarnder/pen/oMEqGr - AngularJS
https://codepen.io/mgarnder/pen/KBQoeQ - Angular
What is Angular?
What is Angular?
▪ A completely rewritten framework based on some of the concepts in AngularJS
▪ Does not include concept of “scope” or “controllers” instead it uses a hierarchy of
components
▪ Modularity
▪ Typescript
▪ Asynchronous template compilation
Main Features of Angular
▪ Cross Platform
▪ Speed and Performance
▪ Productivity
▪ Full Development story
Cross Platform
▪ Progressive Web Apps
▪ Allows developer to use modern web platforms to deliver an app-like experience
▪ Native
▪ Build native mobile apps with strategies from Cordova, Ionic, or NativeScript
▪ Desktop
▪ Create desktop app on Mac, Windows, and Linux
Speed and Performance
▪ Code Generation
▪ Angular turns the templates into highly optimized Javascript code
▪ Universal
▪ Serve the first view of your app on Node.JS, .NET, PHP, and other servers
▪ Code Splitting
▪ Angular apps load quicker with new Component Router which only loads code required to
render
Productivity
▪ Templates
▪ Create UI views with ease
▪ Angular CLI
▪ Command line tool that allows you to create your app, create components, test, and serve
your app
▪ IDEs
▪ Code completion, error messages, and other feedback from popular editors
Full Development Story
▪ Testing
▪ Has Karma built into framework for Unit tests and Protractor for End to End tests
▪ Animation
▪ Angular library that allows you to add simple or complex animation to your app
▪ Accessibility
▪ Create accessible apps with AIRA-enabled components, developer guides, and built-in a11y
test infrastructure
Core Concepts of Angular
What is two way data binding
▪ When properties in the model gets updated it is also updated in the UI
▪ When the UI gets updated, the changes get propagated back to the model
▪ One of the biggest features in Angular and AngularJS
Example of two way data binding
Ng template
▪ Is an Angular template
▪ Is used in Angular under the hood when using
▪ *ngFor
▪ *ngIf
▪ *ngSwitch
▪ Can use ng container to attach a structural directive to a section of the page, without
having to create an extra element just for that.
Ng template Example
Guards
▪ Part of Angular Router package
▪ Navigation guard to protect routes
▪ Four types of guards
▪ CanActivate
▪ Whether of not the route can be activated
▪ CanActivateChild
▪ Whether of not the child route can be activated
▪ CanDeactivate
▪ Whether or not the route can be deactivated
▪ CanLoad
▪ Whether or not the route can be loaded
Guard Example
https://github.com/mrgardner/AngularGuardExample
Event Emitters
▪ Can emit custom events synchronously or asynchronously
▪ When event is emitted it returns an Observable
▪ Get the value from the event emitter by subscribing to the instance
Event Emitter Example
https://github.com/mrgardner/CustomCounter
Major changes from Angular v2-v6
Major changes from v2-v6
▪ Updates to work with new versions of TypeScript
▪ Creation of new view engine
▪ Improved file sizes and application speeds
▪ Moving from SystemJS to Webpack
Major changes in v6
▪ Angular Elements Support
▪ Allows the developer to create and angular component as a web component that can be
used in any application without the angular framework
▪ Service Worker Support
▪ Support was first introduced in v5 but in v6 it ships with more bug fixes and the
configuration of navigation URLs within service workers
▪ <template> was replaced with <ng-template>
▪ I18n
▪ Runtime rendering so you do not have to build one application per locale
▪ Introduced third rendering engine Ivy
▪ Can test out the ivy engine with v6
▪ Should have a more complete version in next major release
▪ ngModelChanges
▪ Values are now emitted after the value is updated from the form control
Major changes in v6
▪ Bazel Compiler Support
▪ A tool that automates software builds and tests
▪ Similar to other tools such as Make, Ant, Maven, Gradle, and more
▪ RxJS 6.0 support
▪ Tree shaking
▪ New way to define an injectable service directly in the @Injectable decorator by adding
providedIn: ‘root’
▪ Webpack v4
Life cycle methods
Lifecycle methods
▪ ngOnChanges()
▪ Called when Angular set data-bound input properties
▪ ngOnInit()
▪ Called after Angular first displays data-bound properties
▪ ngDoCheck()
▪ Act and detect changes in Angular that won’t act upon on its own
▪ ngAfterContentInit()
▪ Called after components view is ready
Lifecycle methods Con’t
▪ ngAfterContentChecked()
▪ Called after Angular checks content projected onto view
▪ ngAfterViewInit()
▪ Called after component and child view are intialized
▪ ngAfterViewChecked()
▪ Called after component and child views are checked
▪ ngOnDestroy()
▪ Called just before Angular destroys the component or directive
Overview of TypeScript
What is TypeScript
▪ Developed by Microsoft
▪ A typed superset of Javascript that compiles into plain Javascript
▪ Allows developers to add types to variables
▪ Such as defining a variable to be of type string, array, object, boolean, number, etc
TypeScript Examples
Good Bad
Overview of RxJS
Observables (RxJS)
▪ Reactive Extensions for JavaScript (RxJS)
▪ Allow you to work with asynchronous data streams
▪ Asynchronous - when you call a function and is notified with a callback when results are
available
▪ Data - information that could be numbers, strings, or objects
▪ Streams - sequences of data that are made available over time
▪ You represent asynchronous data streams using observable sequences
Observables Examples
Angular Configuration
Angular Configurations
▪ Angular.json is the configuration file
▪ Add third part styles, scripts, and assets
▪ Testing
▪ Linting
Angular CLI
Angular CLI
▪ A command line interface that scaffolds and builds Angular apps
▪ Can be used to create
▪ Apps
▪ Components
▪ Services
▪ Guards
▪ Pipes
▪ And more
How to use Angular CLI
▪ First you need to install Angular CLI with npm install -g @angular/cli
▪ Now to use Angular CLI
▪ ng new <app-name>
▪ ng g component <component-name>
▪ ng g service <service-name>
▪ ng g guard <guard-name>
▪ ng g pipe <pipe-name>
Example output for creating a new app
Example output for creating a pipe
What is next for Angular?
What is next for Angular
▪ The Angular team is currently working on the third render engine Ivy
▪ Ivy uses two major concepts:
1. Tree Shaking
a. Removes unused code to result in smaller bundles and faster load times
2. Locality
a. Compiles one file at a time
b. It only looks at a component and its template not its dependencies
Demos
Demos
▪ Angular v2 App that I made for my mom when she was running for town council
▪ Angular v6 app that I have been working on that uses the Spotify API
▪ Created own shuffler
▪ Created filter to detect and remove duplicate tracks
▪ Able to play full-length spotify tracks in the browser with Spotify’s playback SDK
Topics We have covered
▪ Differences between Angular and AngularJS
▪ What is Angular?
▪ Core concepts of Angular
▪ Major changes from Angular v2 - v6
▪ Life cycle methods
▪ Brief overview of TypeScript
▪ Brief overview of RxJS
▪ Configuration to Angular
▪ Angular CLI
▪ What is next for Angular
▪ Demo of Angular spotify app and site for my mom
Questions?
50
Social Media
Kenzan Personal
Twitter
Website
Linkedin
Github
Email - matthew.gardner.mrg@gmail.com
Resources
▪ https://angular.io/
▪ https://www.typescriptlang.org/
▪ http://es6-features.org/#Constants
▪ https://www.learnrxjs.io/
▪ https://bazel.build/
Codepen links
▪ https://codepen.io/mgarnder/pen/jpZGmP
▪ AngularJS two way data binding example
▪ https://codepen.io/mgarnder/pen/KBQXRM
▪ Angular two way data binding example
▪ https://codepen.io/mgarnder/pen/djdZvB
▪ AngularJS service example
▪ https://github.com/mrgardner/Angular2ServiceExample
▪ Angular service example
Codepen links Con’t
▪ https://codepen.io/mgarnder/pen/oMEqGr
▪ AngularJS component example
▪ https://codepen.io/mgarnder/pen/KBQoeQ
▪ Angular component example
▪ https://github.com/mrgardner/CustomCounter
▪ Angular event emitter example
▪ https://github.com/mrgardner/AngularGuardExample
▪ Angular guard example

More Related Content

What's hot

Go live with angular 4
Go live with angular 4Go live with angular 4
Go live with angular 4Indra Gunawan
 
Talk for DevFest 2021 - GDG Bénin
Talk for DevFest 2021 - GDG BéninTalk for DevFest 2021 - GDG Bénin
Talk for DevFest 2021 - GDG BéninEzéchiel Amen AGBLA
 
What's New in Angular 4 | Angular 4 Features | Angular 4 Changes | Angular Tu...
What's New in Angular 4 | Angular 4 Features | Angular 4 Changes | Angular Tu...What's New in Angular 4 | Angular 4 Features | Angular 4 Changes | Angular Tu...
What's New in Angular 4 | Angular 4 Features | Angular 4 Changes | Angular Tu...Edureka!
 
Angular 4 Introduction Tutorial
Angular 4 Introduction TutorialAngular 4 Introduction Tutorial
Angular 4 Introduction TutorialScott Lee
 
Mastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksMastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksGaurav Singh
 
Developing a Demo Application with Angular 4 - J2I
Developing a Demo Application with Angular 4 - J2IDeveloping a Demo Application with Angular 4 - J2I
Developing a Demo Application with Angular 4 - J2INader Debbabi
 
Meetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son applicationMeetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son applicationThibault Even
 
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Edureka!
 
Angular App Presentation
Angular App PresentationAngular App Presentation
Angular App PresentationElizabeth Long
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core ConceptsFabio Biondi
 
Angular meetup 2 2019-08-29
Angular meetup 2   2019-08-29Angular meetup 2   2019-08-29
Angular meetup 2 2019-08-29Nitin Bhojwani
 
Angular 10 course_content
Angular 10 course_contentAngular 10 course_content
Angular 10 course_contentNAVEENSAGGAM1
 
Introduction to angular 2
Introduction to angular 2Introduction to angular 2
Introduction to angular 2Dhyego Fernando
 

What's hot (20)

Go live with angular 4
Go live with angular 4Go live with angular 4
Go live with angular 4
 
Talk for DevFest 2021 - GDG Bénin
Talk for DevFest 2021 - GDG BéninTalk for DevFest 2021 - GDG Bénin
Talk for DevFest 2021 - GDG Bénin
 
What's New in Angular 4 | Angular 4 Features | Angular 4 Changes | Angular Tu...
What's New in Angular 4 | Angular 4 Features | Angular 4 Changes | Angular Tu...What's New in Angular 4 | Angular 4 Features | Angular 4 Changes | Angular Tu...
What's New in Angular 4 | Angular 4 Features | Angular 4 Changes | Angular Tu...
 
Angular 4 Introduction Tutorial
Angular 4 Introduction TutorialAngular 4 Introduction Tutorial
Angular 4 Introduction Tutorial
 
Mastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksMastering angular - Dot Net Tricks
Mastering angular - Dot Net Tricks
 
Developing a Demo Application with Angular 4 - J2I
Developing a Demo Application with Angular 4 - J2IDeveloping a Demo Application with Angular 4 - J2I
Developing a Demo Application with Angular 4 - J2I
 
Meetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son applicationMeetup SkillValue - Angular 6 : Bien démarrer son application
Meetup SkillValue - Angular 6 : Bien démarrer son application
 
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
Angular Directives | Angular 2 Custom Directives | Angular Tutorial | Angular...
 
An Overview of Angular 4
An Overview of Angular 4 An Overview of Angular 4
An Overview of Angular 4
 
Angular App Presentation
Angular App PresentationAngular App Presentation
Angular App Presentation
 
Angular 9
Angular 9 Angular 9
Angular 9
 
Introduction to angular 4
Introduction to angular 4Introduction to angular 4
Introduction to angular 4
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
 
Angular 2
Angular 2Angular 2
Angular 2
 
Angular 9 New features
Angular 9 New featuresAngular 9 New features
Angular 9 New features
 
Angular meetup 2 2019-08-29
Angular meetup 2   2019-08-29Angular meetup 2   2019-08-29
Angular meetup 2 2019-08-29
 
Angular 2
Angular 2Angular 2
Angular 2
 
Angular 10 course_content
Angular 10 course_contentAngular 10 course_content
Angular 10 course_content
 
Introduction to angular 2
Introduction to angular 2Introduction to angular 2
Introduction to angular 2
 
Lecture 32
Lecture 32Lecture 32
Lecture 32
 

Similar to Angular, the New Angular JS

Evolution and History of Angular as Web Development Platform.pdf
Evolution and History of Angular as Web Development Platform.pdfEvolution and History of Angular as Web Development Platform.pdf
Evolution and History of Angular as Web Development Platform.pdfiFour Technolab Pvt. Ltd.
 
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]Alex Ershov
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2Naveen Pete
 
Getting Started With AngularJS
Getting Started With AngularJSGetting Started With AngularJS
Getting Started With AngularJSOmnia Helmi
 
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр ШевнинAzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр ШевнинJSC “Arcadia Inc”
 
Where and Why Use Angular for Web Development?
Where and Why Use Angular for Web Development?Where and Why Use Angular for Web Development?
Where and Why Use Angular for Web Development?John Metthew
 
Learn Angular 9/8 In Easy Steps
Learn Angular 9/8 In Easy Steps Learn Angular 9/8 In Easy Steps
Learn Angular 9/8 In Easy Steps Ahmed Bouchefra
 
Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Bibby Chung
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - IntroductionWebStackAcademy
 
End to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJSEnd to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJSGil Fink
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectJadson Santos
 
Top Features And Updates Of Angular 13 You Must Know
Top Features And Updates Of Angular 13 You Must KnowTop Features And Updates Of Angular 13 You Must Know
Top Features And Updates Of Angular 13 You Must KnowAndolasoft Inc
 
AngularJS Introduction (Talk given on Aug 5 2013)
AngularJS Introduction (Talk given on Aug 5 2013)AngularJS Introduction (Talk given on Aug 5 2013)
AngularJS Introduction (Talk given on Aug 5 2013)Abhishek Anand
 

Similar to Angular, the New Angular JS (20)

Why choose Angular 6?
Why choose Angular 6?Why choose Angular 6?
Why choose Angular 6?
 
Evolution and History of Angular as Web Development Platform.pdf
Evolution and History of Angular as Web Development Platform.pdfEvolution and History of Angular as Web Development Platform.pdf
Evolution and History of Angular as Web Development Platform.pdf
 
What’s New in Angular 15.pptx
What’s New in Angular 15.pptxWhat’s New in Angular 15.pptx
What’s New in Angular 15.pptx
 
THE FUTURE OF ANGULAR JS
THE FUTURE OF ANGULAR JSTHE FUTURE OF ANGULAR JS
THE FUTURE OF ANGULAR JS
 
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]26 top angular 8 interview questions to know in 2020   [www.full stack.cafe]
26 top angular 8 interview questions to know in 2020 [www.full stack.cafe]
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 
What is Angular Ivy?
What is Angular Ivy?What is Angular Ivy?
What is Angular Ivy?
 
Getting Started With AngularJS
Getting Started With AngularJSGetting Started With AngularJS
Getting Started With AngularJS
 
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр ШевнинAzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
AzovDevMeetup 2016 | Angular 2: обзор | Александр Шевнин
 
Angular 2.0
Angular  2.0Angular  2.0
Angular 2.0
 
Where and Why Use Angular for Web Development?
Where and Why Use Angular for Web Development?Where and Why Use Angular for Web Development?
Where and Why Use Angular for Web Development?
 
Angular vs react
Angular vs reactAngular vs react
Angular vs react
 
Learn Angular 9/8 In Easy Steps
Learn Angular 9/8 In Easy Steps Learn Angular 9/8 In Easy Steps
Learn Angular 9/8 In Easy Steps
 
Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Angular2.0@Shanghai0319
Angular2.0@Shanghai0319
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
End to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJSEnd to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJS
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
 
Top Features And Updates Of Angular 13 You Must Know
Top Features And Updates Of Angular 13 You Must KnowTop Features And Updates Of Angular 13 You Must Know
Top Features And Updates Of Angular 13 You Must Know
 
AngularJS Introduction (Talk given on Aug 5 2013)
AngularJS Introduction (Talk given on Aug 5 2013)AngularJS Introduction (Talk given on Aug 5 2013)
AngularJS Introduction (Talk given on Aug 5 2013)
 
Angular IO
Angular IOAngular IO
Angular IO
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Angular, the New Angular JS

  • 1. Angular, the new AngularJS By Matthew Gardner
  • 2. Matthew Gardner Frontend Developer ● Been with Kenzan for 4 years ● In free time I enjoy playing the guitar and listening to music ● Have been experimenting with Angular since RC stage ● Created a website for my mom in Angular v2 ● Have been developing an Angular app using spotify API
  • 3. Kenzan ▪ Full Service Consulting Firm ▪ Architecture, front and back end development, business analysis and DevTest. ▪ Cloud Virtualization Experts And Enablers ▪ AWS, Netflix stack, Kubernetes, Istio, enterprise architecture and beyond. ▪ DevOps Leadership ▪ Platform builds, continuous delivery and scalable resourcing.
  • 4. What we will cover today ▪ Differences between Angular and AngularJS ▪ What is Angular? ▪ Core concepts of Angular ▪ Major changes from Angular v2 - v6 ▪ Life cycle methods ▪ Brief overview of TypeScript ▪ Brief overview of RxJS ▪ Configuration to Angular ▪ Angular CLI ▪ What is next for Angular ▪ Demo of Angular spotify app and site for my mom
  • 5. Examples of differences between Angular and AngularJS
  • 6. AngularJS vs Angular two way data binding AngularJS Angular https://codepen.io/mgarnder/pen/jpZGmP - AngularJs https://codepen.io/mgarnder/pen/KBQXRM - Angular
  • 7. AngularJS vs Angular Services AngularJS Angular https://codepen.io/mgarnder/pen/djdZvB - AngularJS https://github.com/mrgardner/Angular2ServiceExample - Angular
  • 8. AngularJS vs Angular Components AngularJS Angular https://codepen.io/mgarnder/pen/oMEqGr - AngularJS https://codepen.io/mgarnder/pen/KBQoeQ - Angular
  • 10. What is Angular? ▪ A completely rewritten framework based on some of the concepts in AngularJS ▪ Does not include concept of “scope” or “controllers” instead it uses a hierarchy of components ▪ Modularity ▪ Typescript ▪ Asynchronous template compilation
  • 11. Main Features of Angular ▪ Cross Platform ▪ Speed and Performance ▪ Productivity ▪ Full Development story
  • 12. Cross Platform ▪ Progressive Web Apps ▪ Allows developer to use modern web platforms to deliver an app-like experience ▪ Native ▪ Build native mobile apps with strategies from Cordova, Ionic, or NativeScript ▪ Desktop ▪ Create desktop app on Mac, Windows, and Linux
  • 13. Speed and Performance ▪ Code Generation ▪ Angular turns the templates into highly optimized Javascript code ▪ Universal ▪ Serve the first view of your app on Node.JS, .NET, PHP, and other servers ▪ Code Splitting ▪ Angular apps load quicker with new Component Router which only loads code required to render
  • 14. Productivity ▪ Templates ▪ Create UI views with ease ▪ Angular CLI ▪ Command line tool that allows you to create your app, create components, test, and serve your app ▪ IDEs ▪ Code completion, error messages, and other feedback from popular editors
  • 15. Full Development Story ▪ Testing ▪ Has Karma built into framework for Unit tests and Protractor for End to End tests ▪ Animation ▪ Angular library that allows you to add simple or complex animation to your app ▪ Accessibility ▪ Create accessible apps with AIRA-enabled components, developer guides, and built-in a11y test infrastructure
  • 16. Core Concepts of Angular
  • 17. What is two way data binding ▪ When properties in the model gets updated it is also updated in the UI ▪ When the UI gets updated, the changes get propagated back to the model ▪ One of the biggest features in Angular and AngularJS
  • 18. Example of two way data binding
  • 19. Ng template ▪ Is an Angular template ▪ Is used in Angular under the hood when using ▪ *ngFor ▪ *ngIf ▪ *ngSwitch ▪ Can use ng container to attach a structural directive to a section of the page, without having to create an extra element just for that.
  • 21. Guards ▪ Part of Angular Router package ▪ Navigation guard to protect routes ▪ Four types of guards ▪ CanActivate ▪ Whether of not the route can be activated ▪ CanActivateChild ▪ Whether of not the child route can be activated ▪ CanDeactivate ▪ Whether or not the route can be deactivated ▪ CanLoad ▪ Whether or not the route can be loaded
  • 23. Event Emitters ▪ Can emit custom events synchronously or asynchronously ▪ When event is emitted it returns an Observable ▪ Get the value from the event emitter by subscribing to the instance
  • 25. Major changes from Angular v2-v6
  • 26. Major changes from v2-v6 ▪ Updates to work with new versions of TypeScript ▪ Creation of new view engine ▪ Improved file sizes and application speeds ▪ Moving from SystemJS to Webpack
  • 27. Major changes in v6 ▪ Angular Elements Support ▪ Allows the developer to create and angular component as a web component that can be used in any application without the angular framework ▪ Service Worker Support ▪ Support was first introduced in v5 but in v6 it ships with more bug fixes and the configuration of navigation URLs within service workers ▪ <template> was replaced with <ng-template> ▪ I18n ▪ Runtime rendering so you do not have to build one application per locale ▪ Introduced third rendering engine Ivy ▪ Can test out the ivy engine with v6 ▪ Should have a more complete version in next major release ▪ ngModelChanges ▪ Values are now emitted after the value is updated from the form control
  • 28. Major changes in v6 ▪ Bazel Compiler Support ▪ A tool that automates software builds and tests ▪ Similar to other tools such as Make, Ant, Maven, Gradle, and more ▪ RxJS 6.0 support ▪ Tree shaking ▪ New way to define an injectable service directly in the @Injectable decorator by adding providedIn: ‘root’ ▪ Webpack v4
  • 30. Lifecycle methods ▪ ngOnChanges() ▪ Called when Angular set data-bound input properties ▪ ngOnInit() ▪ Called after Angular first displays data-bound properties ▪ ngDoCheck() ▪ Act and detect changes in Angular that won’t act upon on its own ▪ ngAfterContentInit() ▪ Called after components view is ready
  • 31. Lifecycle methods Con’t ▪ ngAfterContentChecked() ▪ Called after Angular checks content projected onto view ▪ ngAfterViewInit() ▪ Called after component and child view are intialized ▪ ngAfterViewChecked() ▪ Called after component and child views are checked ▪ ngOnDestroy() ▪ Called just before Angular destroys the component or directive
  • 33. What is TypeScript ▪ Developed by Microsoft ▪ A typed superset of Javascript that compiles into plain Javascript ▪ Allows developers to add types to variables ▪ Such as defining a variable to be of type string, array, object, boolean, number, etc
  • 36. Observables (RxJS) ▪ Reactive Extensions for JavaScript (RxJS) ▪ Allow you to work with asynchronous data streams ▪ Asynchronous - when you call a function and is notified with a callback when results are available ▪ Data - information that could be numbers, strings, or objects ▪ Streams - sequences of data that are made available over time ▪ You represent asynchronous data streams using observable sequences
  • 39. Angular Configurations ▪ Angular.json is the configuration file ▪ Add third part styles, scripts, and assets ▪ Testing ▪ Linting
  • 41. Angular CLI ▪ A command line interface that scaffolds and builds Angular apps ▪ Can be used to create ▪ Apps ▪ Components ▪ Services ▪ Guards ▪ Pipes ▪ And more
  • 42. How to use Angular CLI ▪ First you need to install Angular CLI with npm install -g @angular/cli ▪ Now to use Angular CLI ▪ ng new <app-name> ▪ ng g component <component-name> ▪ ng g service <service-name> ▪ ng g guard <guard-name> ▪ ng g pipe <pipe-name>
  • 43. Example output for creating a new app
  • 44. Example output for creating a pipe
  • 45. What is next for Angular?
  • 46. What is next for Angular ▪ The Angular team is currently working on the third render engine Ivy ▪ Ivy uses two major concepts: 1. Tree Shaking a. Removes unused code to result in smaller bundles and faster load times 2. Locality a. Compiles one file at a time b. It only looks at a component and its template not its dependencies
  • 47. Demos
  • 48. Demos ▪ Angular v2 App that I made for my mom when she was running for town council ▪ Angular v6 app that I have been working on that uses the Spotify API ▪ Created own shuffler ▪ Created filter to detect and remove duplicate tracks ▪ Able to play full-length spotify tracks in the browser with Spotify’s playback SDK
  • 49. Topics We have covered ▪ Differences between Angular and AngularJS ▪ What is Angular? ▪ Core concepts of Angular ▪ Major changes from Angular v2 - v6 ▪ Life cycle methods ▪ Brief overview of TypeScript ▪ Brief overview of RxJS ▪ Configuration to Angular ▪ Angular CLI ▪ What is next for Angular ▪ Demo of Angular spotify app and site for my mom
  • 52. Resources ▪ https://angular.io/ ▪ https://www.typescriptlang.org/ ▪ http://es6-features.org/#Constants ▪ https://www.learnrxjs.io/ ▪ https://bazel.build/
  • 53. Codepen links ▪ https://codepen.io/mgarnder/pen/jpZGmP ▪ AngularJS two way data binding example ▪ https://codepen.io/mgarnder/pen/KBQXRM ▪ Angular two way data binding example ▪ https://codepen.io/mgarnder/pen/djdZvB ▪ AngularJS service example ▪ https://github.com/mrgardner/Angular2ServiceExample ▪ Angular service example
  • 54. Codepen links Con’t ▪ https://codepen.io/mgarnder/pen/oMEqGr ▪ AngularJS component example ▪ https://codepen.io/mgarnder/pen/KBQoeQ ▪ Angular component example ▪ https://github.com/mrgardner/CustomCounter ▪ Angular event emitter example ▪ https://github.com/mrgardner/AngularGuardExample ▪ Angular guard example