SlideShare a Scribd company logo
1 of 42
www.axon.vnfb.com/AxonActiveVietNam
www.axon.vnfb.com/AxonActiveVietNam
Who I am
www.axon.vnfb.com/AxonActiveVietNam
• Web development overview
• Introduction of Angular
• Build your own application
• Touch to the most important parts in Angular
• Workshop
Agenda
www.axon.vnfb.com/AxonActiveVietNam
History of Web development
www.axon.vnfb.com/AxonActiveVietNam
Server side rendering
www.axon.vnfb.com/AxonActiveVietNam
Ajax
Ajax(asynchronous JavaScript and XML): Used to update a part of screen.
If client have list users, we can update UI in client side.
www.axon.vnfb.com/AxonActiveVietNam
Client side rendering
www.axon.vnfb.com/AxonActiveVietNam
Modern JavaScript frameworks
www.axon.vnfb.com/AxonActiveVietNam
Angular?
www.axon.vnfb.com/AxonActiveVietNam
Angular
JUST
www.axon.vnfb.com/AxonActiveVietNam
• Angular 2.0.0 was released in September 2016
• Angular 4.0.0 was released in March 2017 and backwards
compatible with 2.x.x.
• Current version is 4.3.1
Angular Roadmap
www.axon.vnfb.com/AxonActiveVietNam
• Fix a bug and release it, increase the last number.
• A new feature is added, increase the second number.
• Release a breaking change, increase the first number.
Semantic Versioning
www.axon.vnfb.com/AxonActiveVietNam
Why not version 3 then?
www.axon.vnfb.com/AxonActiveVietNam
• Patch releases every week.
• 3 monthly minor release after each major release.
• A major release with easy-to-migrate-over breaking changes
every 6 months.
Tentative release schedule
www.axon.vnfb.com/AxonActiveVietNam
• Support for web components
• Usage of Typescript
• Great performance
• Angular CLI
• General simplicity of the interface
• A stronger templating system
• Possesses easier APIs, lazy loading, simpler/faster debugging
• Much more testable
• Provides nested components
• Google and the lesson learn
Why Angular?
www.axon.vnfb.com/AxonActiveVietNam
Creating app in 3 steps
1. Setup the environment
2. Create a new project
3. Serve the application
www.axon.vnfb.com/AxonActiveVietNam
Architecture overview
www.axon.vnfb.com/AxonActiveVietNam
Modules
www.axon.vnfb.com/AxonActiveVietNam
Modules
www.axon.vnfb.com/AxonActiveVietNam
Modules
www.axon.vnfb.com/AxonActiveVietNam
Modules
www.axon.vnfb.com/AxonActiveVietNam
Component
www.axon.vnfb.com/AxonActiveVietNam
Component
www.axon.vnfb.com/AxonActiveVietNam
Template
www.axon.vnfb.com/AxonActiveVietNam
Data Binding
www.axon.vnfb.com/AxonActiveVietNam
Two-Way Binding
www.axon.vnfb.com/AxonActiveVietNam
Parent – Child communication
www.axon.vnfb.com/AxonActiveVietNam
@Input and @Output
www.axon.vnfb.com/AxonActiveVietNam
World of Components
www.axon.vnfb.com/AxonActiveVietNam
Types of component
 Dumb or Representational component
 Smart or Container component.
www.axon.vnfb.com/AxonActiveVietNam
Dump or Smart?
www.axon.vnfb.com/AxonActiveVietNam
Directives
www.axon.vnfb.com/AxonActiveVietNam
Types of Directive
www.axon.vnfb.com/AxonActiveVietNam
Services
 Value, function or feature.
 Almost anything can be a service.
 Typically a class with well-defined
purpose.
 Services should be everywhere.
www.axon.vnfb.com/AxonActiveVietNam
Dependency Injection
www.axon.vnfb.com/AxonActiveVietNam
HttpClient
www.axon.vnfb.com/AxonActiveVietNam
Routing & Navigation
 Router imports
 Configuration
 Router outlet
 Router links
 Router state
www.axon.vnfb.com/AxonActiveVietNam
Testing
www.axon.vnfb.com/AxonActiveVietNam
Testing: Tools and technologies
www.axon.vnfb.com/AxonActiveVietNam
Give it a try
Workshop instruction: https://goo.gl/jvgBBT
www.axon.vnfb.com/AxonActiveVietNam

More Related Content

What's hot

Videogame designer
Videogame designerVideogame designer
Videogame designer
tbrown12345
 
Wc miami 2013 designing for development
Wc miami 2013 designing for developmentWc miami 2013 designing for development
Wc miami 2013 designing for development
onefinejay
 

What's hot (20)

Fa102 assignment 5
Fa102 assignment 5Fa102 assignment 5
Fa102 assignment 5
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
 
Videogame designer
Videogame designerVideogame designer
Videogame designer
 
Wc miami 2013 designing for development
Wc miami 2013 designing for developmentWc miami 2013 designing for development
Wc miami 2013 designing for development
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
 
[DevDay 2017] Lean Startup - Design Thinking - Speaker: Sebastian Sussmann - ...
[DevDay 2017] Lean Startup - Design Thinking - Speaker: Sebastian Sussmann - ...[DevDay 2017] Lean Startup - Design Thinking - Speaker: Sebastian Sussmann - ...
[DevDay 2017] Lean Startup - Design Thinking - Speaker: Sebastian Sussmann - ...
 
Webinar: On-Page SEO Tips and Tricks
Webinar: On-Page SEO Tips and TricksWebinar: On-Page SEO Tips and Tricks
Webinar: On-Page SEO Tips and Tricks
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
 
Смешиваем Scrum и Канбан
Смешиваем Scrum и КанбанСмешиваем Scrum и Канбан
Смешиваем Scrum и Канбан
 
How to create web apps on azure step by step
How to create web apps on azure step by stepHow to create web apps on azure step by step
How to create web apps on azure step by step
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
 
Deploying & operating microservices
Deploying & operating microservicesDeploying & operating microservices
Deploying & operating microservices
 
Webinar: You Are Too Cheap!
Webinar: You Are Too Cheap! Webinar: You Are Too Cheap!
Webinar: You Are Too Cheap!
 
How to Copy Pages & Posts in WordPress
How to Copy Pages & Posts in WordPressHow to Copy Pages & Posts in WordPress
How to Copy Pages & Posts in WordPress
 
Invisible CMS by Robert Jacobi
Invisible CMS by Robert JacobiInvisible CMS by Robert Jacobi
Invisible CMS by Robert Jacobi
 
What it takes to be a Web Developer
What it takes to be a Web DeveloperWhat it takes to be a Web Developer
What it takes to be a Web Developer
 
Front-End Web Developer - Chelsea Career and Technical High School Career Day
Front-End Web Developer - Chelsea Career and Technical High School Career DayFront-End Web Developer - Chelsea Career and Technical High School Career Day
Front-End Web Developer - Chelsea Career and Technical High School Career Day
 
Xamarin Hack Day - Sydney 2016 - Introduction to Xamarin
Xamarin Hack Day - Sydney 2016 - Introduction to XamarinXamarin Hack Day - Sydney 2016 - Introduction to Xamarin
Xamarin Hack Day - Sydney 2016 - Introduction to Xamarin
 
Webinar: Myths, Mistakes and Management of WooCommerce at Scale
Webinar: Myths, Mistakes and Management of WooCommerce at ScaleWebinar: Myths, Mistakes and Management of WooCommerce at Scale
Webinar: Myths, Mistakes and Management of WooCommerce at Scale
 
How WPMaintain Improved Page Speed by 16%
How WPMaintain Improved Page Speed by 16%How WPMaintain Improved Page Speed by 16%
How WPMaintain Improved Page Speed by 16%
 

Similar to [Da Nang Scrum Breakfast] Angular Tour

Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
Mayank Srivastava
 

Similar to [Da Nang Scrum Breakfast] Angular Tour (20)

[DevDay 2016] Web Components, is it the future of Web Development? Speaker: V...
[DevDay 2016] Web Components, is it the future of Web Development? Speaker: V...[DevDay 2016] Web Components, is it the future of Web Development? Speaker: V...
[DevDay 2016] Web Components, is it the future of Web Development? Speaker: V...
 
Component Art
Component ArtComponent Art
Component Art
 
SynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax DevelopmentSynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax Development
 
A white paper on Fundamentals and Implementations of Angular JS
A white paper on Fundamentals and Implementations of Angular JSA white paper on Fundamentals and Implementations of Angular JS
A white paper on Fundamentals and Implementations of Angular JS
 
Fundamentals and Implementations of Angular JS with renowned Technology Platf...
Fundamentals and Implementations of Angular JS with renowned Technology Platf...Fundamentals and Implementations of Angular JS with renowned Technology Platf...
Fundamentals and Implementations of Angular JS with renowned Technology Platf...
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
 
Ajax Ppt 1
Ajax Ppt 1Ajax Ppt 1
Ajax Ppt 1
 
Ajax ppt
Ajax pptAjax ppt
Ajax ppt
 
Angular from Zero to Mastery - Training (Intermediate)
Angular from Zero to Mastery - Training (Intermediate)Angular from Zero to Mastery - Training (Intermediate)
Angular from Zero to Mastery - Training (Intermediate)
 
Wakanda#2
Wakanda#2Wakanda#2
Wakanda#2
 
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
Benefits of BPMN in Software Development - DN Scrum Breakfast - September 29,...
 
Angular 6 Training with project in hyderabad india
Angular 6 Training with project in hyderabad indiaAngular 6 Training with project in hyderabad india
Angular 6 Training with project in hyderabad india
 
AngularJS Vs Angular: Understanding the Differences
AngularJS Vs Angular: Understanding the DifferencesAngularJS Vs Angular: Understanding the Differences
AngularJS Vs Angular: Understanding the Differences
 
Walther Ajax4
Walther Ajax4Walther Ajax4
Walther Ajax4
 
Walther Aspnet4
Walther Aspnet4Walther Aspnet4
Walther Aspnet4
 
Ajax
AjaxAjax
Ajax
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
 
AngularJS Basics
AngularJS BasicsAngularJS Basics
AngularJS Basics
 

More from Scrum Breakfast Vietnam

More from Scrum Breakfast Vietnam (20)

[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...
 
Zero to hero in agile automation testing
Zero to hero in agile automation testingZero to hero in agile automation testing
Zero to hero in agile automation testing
 
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
Retrospective Toolbox - HCMC Scrum Breakfast - 30/11/2019
 
UI/UX Design in Agile process
UI/UX Design in Agile process  UI/UX Design in Agile process
UI/UX Design in Agile process
 
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
Team building in the Infinite game - HCMC Scrum Breakfast - 28/09/2019
 
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
Design Thinking in Solving Problem - HCMC Scrum Breakfast - July 27, 2019
 
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
Make your Scrum team great again - DN Scrum Breakfast - June 21, 2019
 
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019Working as a remote team - HCM Scrum Breakfast - May 25, 2019
Working as a remote team - HCM Scrum Breakfast - May 25, 2019
 
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018
 
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
CSS Flexbox and Grid: The future of website layouts - DN Scrum Breakfast - Au...
 
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018Automation Testing in Agile - HCM Scrum Breakfast - July 2018
Automation Testing in Agile - HCM Scrum Breakfast - July 2018
 
[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber
[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber
[DN Scrum Breakfast] API Automation Testing Using Retrofit & Cucumber
 
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
[HCM Scrum Breakfast - April 2018] Teamwork: The Leader Job (Pt.1)
 
[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing[DN Scrum Breakfast] Effective Cloud Computing
[DN Scrum Breakfast] Effective Cloud Computing
 
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
[HCM Scrum Breakfast - January 2018] ElasticSearch In Action
 
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
[DN Scrum Breakfast] Automation E2E Testing with Chimp Framework and WebdriverIO
 
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
[DN Scrum Breakfast] Scrum Master, do we really need one_by Nam Dang_Mar2016
 
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
[DN Scrum Breakfast] Protractor: E2E Testing for AngularJS (by Thuy Nguyen)
 
[Da Nang Scrum Breakfast] The power of visualization
[Da Nang Scrum Breakfast] The power of visualization[Da Nang Scrum Breakfast] The power of visualization
[Da Nang Scrum Breakfast] The power of visualization
 
[Da Nang Scrum Breakfast] Dealing with Technical Debt
[Da Nang Scrum Breakfast] Dealing with Technical Debt[Da Nang Scrum Breakfast] Dealing with Technical Debt
[Da Nang Scrum Breakfast] Dealing with Technical Debt
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Recently uploaded (20)

Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Pharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodologyPharm-D Biostatistics and Research methodology
Pharm-D Biostatistics and Research methodology
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

[Da Nang Scrum Breakfast] Angular Tour

Editor's Notes

  1. Languages : php, jsp, asp... Data model, business logic keep in server side. Return HTML to browser. JavaScript just for validating before submit form. Disadvantage: reload page on every user’s interactions such as click
  2. Client side keep data state and do business logic Use rest API in server side. JavaScript (JQuery) processes business, manipulates DOM -> need a framework for managing, handling, binding data as well as manipulating effectively with DOM
  3. Backbone and Knockout: 2010 AngularJs 2010. Angular September 2016. React open source in 2013 VueJs 2014 AngularJs became very popular JS framework, had been used by 1000 developers over the world to develop so many applications.
  4. There is a confusion of the name and version of the angular platform, and it’s not convenient to search for learning, question on Stack Overflow or just talk with your partner.
  5. In order to solve this frustrating issue, the Angular team decided about the name terminology: the old angular, angular 1 is called AngularJS. And the new angular 2/2+/4/5 is called Angular, just Angular
  6. The Core Angular libraries are versioned the same way, but distributed as different NPM packages. Due to this misalignment of the router package’s version, the team decided to go straight for Angular v4. All the core packages are aligned which will be easier to maintain and help avoid confusion in the future.
  7. Rather than having a closed system for modularizing AngularJS applications, Angular’s foundations lie on the emerging Web Components standard. The biggest selling point of TypeScript is tooling. It provides advanced autocompletion, navigation, and refactoring. Having such tools is almost a requirement for large projects. Angular doesn't do deep object comparison. If items are added/removed to/from an array, change detection won't detect it. The same for object properties as long as they are not directly bound from the view. The Angular CLI makes it easy to create an application that already works, right out of the box. It already follows our best practices.
  8. On step 2, patience please. It takes time to set up a new project, most of it spent installing NPM packages.
  9. Framework for building client applications in HTML and JS ( or a language like TS that compiles to JS). Consists of several libraries, some of them core and some optional. Focus on the big picture, you’re able to see that we write NG app by: Composing HTML templates with ‘Angularized’ markup. Writing component classes to manage those templates. Adding application logic in services. Boxing or packing components and services in modules. Lunching the app by bootstrapping the root module. Angular takes over, presenting your application content in browser and responding to the user’s interaction.
  10. Angular apps are modular and Angular has its own modularity system call NgModules.
  11. At least one NgModule class, the root module, conventionally named AppModule. While the root module may be the only module in a small application, most apps have many more feature modules. Each feature module is used in order to help us organize our application into cohesive blocks of functionality. An NgModule is class with an @NgModule decorator
  12. Is a decorator function that takes a single metadata object whose properties describe the module. The most important properties are: The NgModule — a class decorated with @NgModule — is a fundamental feature of Angular.
  13. JS also has its own module system for managing collection of JS objects. It’s completely different and un-related to the NgModule system. In JS each file is a module and all objects defined in the file belong to that module.
  14. Component is a class which defined by @Component decorator. Component controls a patch of screen called a view. You define a component's application logic—what it does to support the view—inside a class. The class interacts with the view through an API of properties and methods. Template is component's view with its companion template. A template is a form of HTML that tells Angular how to render the component.
  15. You can either use ‘template’ or ‘templateUrl’ metadata property. How to bind data from component class to the view?
  16. A template looks like regular HTML, except for a few differences: typical html elements: <button>, <div> Code like {{buttonLabel}}, *ngFor, [participant], <participant-tile>, (click) uses Angular’s template syntax
  17. Without framework, you’re responsible for pushing data values into HTML and turning user’s responses into actions and value updates. Writing such a push/pull logic by hand is incredibly difficult and nightmare to read, as you might experience using JQuery. Angular supports data binding with four form syntaxes: to the DOM, from the DOM or in both directions.
  18. Is the combination of property and event binding in a single notation using ngModel directive. This is the only 2-way binding mechanism supported by Angular, of course, we’re able to make custom 2-way binding, however, it’s not recommended. In the 2-way data binding, a data property value flows to the input box from component as with property binding. The user’s changes also flow back to the component, resetting the property value to the latest value, as with event binding. Angular automatically creates and attaches an NgForm directive to the <form> tag. The NgForm directive supplements the form element with additional features. It holds the controls you created for the elements with an ngModel directive and name attribute, and monitors their properties, including their validity.
  19. Data binding is also important for communication between parent and child component.
  20. Property decorator, need to import from @angular/core. In case you’d like your component’s internal variable name is different from its usage, you’re able to use alias name. Input is used to pass data from parent to child. The child component exposes an EventEmitter property with which it emits events when something happens. The parent binds to that event property and reacts to those events. There are other ways to communicate between parent and child component such as: Local variable, @ViewChild decorator and service
  21. In Angular, everything is component, it is the main way we build and specify element and logic on the page.
  22. Basing upon the usage of components, they’re divided into two types.
  23. Could you please tell me which one should be dump and smart?
  24. A directive is a custom html element that is used to extend the power of HTML. Is a class with @Directive decorator, a component is a directive with a template. @Component decorator is actually a @Directive decorator extended with template oriented feature.
  25. There are two kinds of directive: Attribute and Structural directive Attribute directive changes the appearance or behavior of an element, component, or other directive, the usage as the same as html attribute. While structural directive changes the DOM layout by adding and removing DOM elements (change structure of view), there are two built-in: ngFor and ngIf
  26. How to communicate between component that not in parent-child relationship? How to fetch data from server, to play some business logic? Example: log service, data service, validation service, configuration data… Component classes should be clean, they don’t fetch data from server, validate user’s input…, they delegate such tasks to services. A component’s job is to enable user experience and nothing more, a good component presents properties and method for data binding.
  27. How can those services be available to components? Angular exposes these through Dependency Injection. DI is a way to supply new instance of a class with fully-form dependencies it requires. Most dependencies are services. Angular uses DI to provide new components with the services they need. Angular can tell which services a component needs by looking at the types of its constructor parameters (e.g..). When Angular -> component -> injector -> services -> call component’s constructor. How does the injector know how to make a service? -> Registration: via module or component
  28. Most front-end applications communicate with backend server over the HTTP protocol. Use: import HttpClientModule from ‘@angular/common/http’ -> inject HttpClient to component or services.
  29. How does it navigate from list to detail view? The Angular Router enables navigation from one view to the next as users perform application tasks. After the end of each successful navigation lifecycle, the router builds a tree of ActivatedRoute objects that make up the current state of the router. You can access the current RouterState from anywhere in the application using the Router service and the routerState property: access parameter via router.
  30. You can write and run Angular tests with a variety of tools and technologies. This guide describes specific choices that are known to work well.