SlideShare uma empresa Scribd logo
1 de 33
Scott Lee
User Management Program
• Model Design
• Service Design
• UI Design
Model
• Class User
– ID
– Full Name
– Employee ID
– Role
Service
• List
• Get by ID
• Save
• Create
• Delete
• Search by …
UI
• List All Page
• View/Update Page
Existing Solution
• Javascript with Jquery, AngularJS 1.x
• Javascript for UI
• Data binding with DOM or Scope
• Javascript calls HTTP REST API on Server
• Java for Server side logic
• Data Access through Service Layer in Java
Issues
• Unorganized Javascript
• Difficult to track the logic in Javascript
• Complex inter-dependecy in Javascript
• Slow loading
• Long learning curve for Angular 1 and JQuery
•
AngularJS 1.x design
public interface ClientMasterRestFields
{
enum ClientDetail {
PARTY_ID,
ONTRAC_ID,
GOLDTIER_ID,
Address,
ShortCode,
AccountDetail,
UPDATED_BY,
};
enum Address {
SAME_AS_REGISTERED,
ADDRESS_LINE1,
ADDRESS_LINE2,
ADDRESS_LINE3,
CITY,
…
PETR_ADDR_ID,
VERSION,
CONFIRMATION_ID,
ENTITY_STATUS,
};
enum AccountDetail {
ACCOUNT_ID,
PARTY_ID,
ONTRAC_ID,
GOLDTIER_ID,
GOLDTIER_ACCOUNT_ID,
PRODUCT_TYPE,
PRODUCT_RANGE,
ShortCode,
Address,
ContactInfo,
OtherInfo,
PRIMARY_IDX,
VERSION,
XREF_ID,
UPDATED_BY,
ACKNOWLEDGE_MSG,
};
enum ShortCode {
XREF_ID,
ACCOUNT_ID,
EXTERNAL_SYSTEM_CODE,
EXTERNAL_SYSTEM_NAME,
EXTERNAL_KEY,
ACCOUNT_REF,
GOLDTIER_ACCOUNT_ID,
STATUS,
VERSION,
ENTITY_STATUS,
PRODUCT_TYPE_CODE,
PRODUCT_RANGE_CODE,
};
enum ContactInfo {
CONF_CONTACT_ID,
CONTACT_ID,
PETR_ADDR_ID,
CONTACT_ADD_ID,
FIRST_NAME,
LAST_NAME,
PHONE_NUMBER,
PHONE_EXT,
FAX_NUMBER,
EMAIL,
VERSION,
ADDRESS_VERSION,
ENTITY_STATUS
};
enum OtherInfo {
MFX_CNTRPRTY_TYPE,
MFX_CPTY_CLASS,
MFX_US_BRNCH,
MFX_CA_BRNCH,
MFX_SALES_BRNCH,
MFX_MRGN_OWNR,
MFX_REV_SHRNG_ID,
MFX_PYMNT_SUSP,
WIRE_FEE,
STTLMNT_NET_EMAIL,
LANGUAGE_PREFERENCE,
};
enum PropInfo {
VALUE,
XPREF_PROP_ID,
VERSION,
ENTITY_STATUS
};
}
Angular 2 without Angular 1.x
• Angular2 is totally new concept
• Easy to understand for OOP
• Faster
• Modular with more OO Like for Cleaner Code
New in Angular2
• No two way bindings
• TypeScript
• Dependency Injection
• No Controller  Component
• Angular CLI
Get started – Hello User
Install angular CLI
1. @Setup :: You should update your Angular cli version before cloning sample program
2. npm uninstall -g @angular/cli angular-cli
npm cache clean
npm install -g @angular/cli@latest
($ npm install -g @angular/cli)
New Project
1. C:angular2ng new hello-user
2. @test blank app :: ng serve
3. @index.html
4. @src/main.ts
5. @ platformBrowserDynamic().bootstrapModule(AppModule);
6. @ app.component.ts
7. @ AppComponent
Design
ng generate interface user
ng generate component --inline-template people-list
Add Components
• ng generate interface user
• ng generate component --inline-template
user-list
• Update User List component
User : Model
User List : Component
User List
Component
Service Layer
user-list.component.ts user.ts
User Manager
Service
Presentation Layer
Creating The
UserManagerService
• ng generate service userManager –module
app
• Implement 'getAll()' method
• Dependency Injection to UserList Component
• ng generate service userManager --module
app
UserManagerService
Register Service to
AppComponent
Angular 2 Component Lifecycle
Dependency of sources
• index.html :: <app-root>
• app.component.ts
• user-list.component.ts
• user.ts
Service
• UserManagerService
• Register Service in app module
• Register Service in app component
Extracting User Details Into
Its Own Component
• ng g c –it –is user-details
• ng generate component --inline-template --
inline-style user-details
Data Binding
• Event Binding : Component to Template :
(click) – selectUser(user)
• Property Binding : Property (Interface) to
Component
• UserDetailsComponent
Routing
Forms and Validation
Next …
Run sample
@Setup :: You should update your Angular cli version before cloning sample program
npm uninstall -g @angular/cli angular-cli
npm cache clean
npm install -g @angular/cli@latest
@Download sample :: git clone https://github.com/Vintharas/angular2-step-by-step-01-your-first-component
:: C:angular2
:: Go to new directory : C:angular2angular2-step-by-step-01-your-first-component>ng build
:: npm install
@ Running Server
:: ng serve
@ Test on Browser
:: http://localhost:4200/
@Blog :: Angular 2 code samples for the blog post Angular 2 Step by Step Your First Component
http://www.barbarianmeetscoding.com/blog/2016/03/25/getting-started-with-angular-2-step-by-step-1-your-
first-component/
Reference
• 1st week : https://www.barbarianmeetscoding.com/blog/2016/03/25/getting-started-with-angular-2-step-
by-step-1-your-first-component/
• 2nd week : service : https://www.barbarianmeetscoding.com/blog/2016/03/26/getting-started-with-
angular-2-step-by-step-2-refactoring-to-services/
• 3rd week : data binding : https://www.barbarianmeetscoding.com/blog/2016/03/27/getting-started-with-
angular-2-step-by-step-3-your-second-component-and-angular-2-data-binding/
• 4th week : routing : https://www.barbarianmeetscoding.com/blog/2016/03/28/getting-started-with-
angular-2-step-by-step-4-routing/
• 5th week : forms and validation : https://www.barbarianmeetscoding.com/blog/2016/03/29/getting-
started-with-angular-2-step-by-step-5-forms-and-validation/
• Connecting Angular 2 Front to MongoDB : http://adrianmejia.com/blog/2014/10/03/mean-stack-tutorial-
mongodb-expressjs-angularjs-nodejs/
• Editor : Visual Studio Code - https://code.visualstudio.com/docs/?dv=win

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Angular 5
Angular 5Angular 5
Angular 5
 
Angular JS, steal the idea
Angular JS, steal the ideaAngular JS, steal the idea
Angular JS, steal the idea
 
Angular, the New Angular JS
Angular, the New Angular JSAngular, the New Angular JS
Angular, the New Angular JS
 
Angular 4 for Java Developers
Angular 4 for Java DevelopersAngular 4 for Java Developers
Angular 4 for Java Developers
 
Angular 2 - Core Concepts
Angular 2 - Core ConceptsAngular 2 - Core Concepts
Angular 2 - Core Concepts
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 
Mastering angular - Dot Net Tricks
Mastering angular - Dot Net TricksMastering angular - Dot Net Tricks
Mastering angular - Dot Net Tricks
 
AngularJS2 / TypeScript / CLI
AngularJS2 / TypeScript / CLIAngularJS2 / TypeScript / CLI
AngularJS2 / TypeScript / CLI
 
Angular 2: core concepts
Angular 2: core conceptsAngular 2: core concepts
Angular 2: core concepts
 
What is Angular version 4?
What is Angular version 4?What is Angular version 4?
What is Angular version 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
 
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
Understanding Angular 2 - Shmuela Jacobs - Codemotion Milan 2016
 
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 Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
 
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
Angular 2Angular 2
Angular 2
 
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
Angular 2 Training | Angular 2 Tutorial For Beginners | Angular Certification...
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 
Introduction to Angular 2
Introduction to Angular 2Introduction to Angular 2
Introduction to Angular 2
 

Semelhante a Angular 4 Introduction Tutorial

Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5
Ganesh Kondal
 
Introducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and serverIntroducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and server
Spike Brehm
 

Semelhante a Angular 4 Introduction Tutorial (20)

Angular js for Beginnners
Angular js for BeginnnersAngular js for Beginnners
Angular js for Beginnners
 
Moving From AngularJS to Angular 2
Moving From AngularJS to  Angular 2 Moving From AngularJS to  Angular 2
Moving From AngularJS to Angular 2
 
ITSC Internship Presentation
ITSC Internship PresentationITSC Internship Presentation
ITSC Internship Presentation
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
 
Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5Tech io spa_angularjs_20130814_v0.9.5
Tech io spa_angularjs_20130814_v0.9.5
 
Medium TechTalk — iOS
Medium TechTalk — iOSMedium TechTalk — iOS
Medium TechTalk — iOS
 
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB StitchMongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
MongoDB.local Sydney: Evolving your Data Access with MongoDB Stitch
 
Introducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and serverIntroducing Rendr: Run your Backbone.js apps on the client and server
Introducing Rendr: Run your Backbone.js apps on the client and server
 
Frontend APIs powering fast paced product iterations
Frontend APIs powering fast paced product iterationsFrontend APIs powering fast paced product iterations
Frontend APIs powering fast paced product iterations
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - Introduction
 
Angular js 2
Angular js 2Angular js 2
Angular js 2
 
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
 
Component-based Front-End architecture
Component-based Front-End architectureComponent-based Front-End architecture
Component-based Front-End architecture
 
Mini-Training: AngularJS
Mini-Training: AngularJSMini-Training: AngularJS
Mini-Training: AngularJS
 
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSAngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJS
 
Harish Resume
Harish ResumeHarish Resume
Harish Resume
 
Angularjs Basics
Angularjs BasicsAngularjs Basics
Angularjs Basics
 
Tokyo Azure Meetup #14 - Azure Functions Proxies
Tokyo Azure Meetup #14  -  Azure Functions ProxiesTokyo Azure Meetup #14  -  Azure Functions Proxies
Tokyo Azure Meetup #14 - Azure Functions Proxies
 
Large-Scale Web Development with JavaScript
Large-Scale Web Development with JavaScriptLarge-Scale Web Development with JavaScript
Large-Scale Web Development with JavaScript
 
Android development course in pune ppt.
Android development course in pune ppt.Android development course in pune ppt.
Android development course in pune ppt.
 

Mais de Scott Lee (6)

Basic Object Oriented Concepts
Basic Object Oriented ConceptsBasic Object Oriented Concepts
Basic Object Oriented Concepts
 
Mean full stack development
Mean full stack developmentMean full stack development
Mean full stack development
 
Resilience 위기관리능력, 캐나다행 토크쇼
Resilience 위기관리능력, 캐나다행 토크쇼Resilience 위기관리능력, 캐나다행 토크쇼
Resilience 위기관리능력, 캐나다행 토크쇼
 
Serendipity, 행운을 가져오는 능력, 캐나다 취업유학
Serendipity, 행운을 가져오는 능력, 캐나다 취업유학Serendipity, 행운을 가져오는 능력, 캐나다 취업유학
Serendipity, 행운을 가져오는 능력, 캐나다 취업유학
 
캐나다유학을 통해서 취업하는 방법 - 캐나다교육박람회 2011
캐나다유학을 통해서 취업하는 방법 - 캐나다교육박람회 2011캐나다유학을 통해서 취업하는 방법 - 캐나다교육박람회 2011
캐나다유학을 통해서 취업하는 방법 - 캐나다교육박람회 2011
 
Canada education marketing in korea
Canada education marketing in koreaCanada education marketing in korea
Canada education marketing in korea
 

Último

在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
pxcywzqs
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 

Último (20)

Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 

Angular 4 Introduction Tutorial

  • 2. User Management Program • Model Design • Service Design • UI Design
  • 3. Model • Class User – ID – Full Name – Employee ID – Role
  • 4. Service • List • Get by ID • Save • Create • Delete • Search by …
  • 5. UI • List All Page • View/Update Page
  • 6.
  • 7. Existing Solution • Javascript with Jquery, AngularJS 1.x • Javascript for UI • Data binding with DOM or Scope • Javascript calls HTTP REST API on Server • Java for Server side logic • Data Access through Service Layer in Java
  • 8. Issues • Unorganized Javascript • Difficult to track the logic in Javascript • Complex inter-dependecy in Javascript • Slow loading • Long learning curve for Angular 1 and JQuery •
  • 10. public interface ClientMasterRestFields { enum ClientDetail { PARTY_ID, ONTRAC_ID, GOLDTIER_ID, Address, ShortCode, AccountDetail, UPDATED_BY, }; enum Address { SAME_AS_REGISTERED, ADDRESS_LINE1, ADDRESS_LINE2, ADDRESS_LINE3, CITY, … PETR_ADDR_ID, VERSION, CONFIRMATION_ID, ENTITY_STATUS, }; enum AccountDetail { ACCOUNT_ID, PARTY_ID, ONTRAC_ID, GOLDTIER_ID, GOLDTIER_ACCOUNT_ID, PRODUCT_TYPE, PRODUCT_RANGE, ShortCode, Address, ContactInfo, OtherInfo, PRIMARY_IDX, VERSION, XREF_ID, UPDATED_BY, ACKNOWLEDGE_MSG, }; enum ShortCode { XREF_ID, ACCOUNT_ID, EXTERNAL_SYSTEM_CODE, EXTERNAL_SYSTEM_NAME, EXTERNAL_KEY, ACCOUNT_REF, GOLDTIER_ACCOUNT_ID, STATUS, VERSION, ENTITY_STATUS, PRODUCT_TYPE_CODE, PRODUCT_RANGE_CODE, }; enum ContactInfo { CONF_CONTACT_ID, CONTACT_ID, PETR_ADDR_ID, CONTACT_ADD_ID, FIRST_NAME, LAST_NAME, PHONE_NUMBER, PHONE_EXT, FAX_NUMBER, EMAIL, VERSION, ADDRESS_VERSION, ENTITY_STATUS }; enum OtherInfo { MFX_CNTRPRTY_TYPE, MFX_CPTY_CLASS, MFX_US_BRNCH, MFX_CA_BRNCH, MFX_SALES_BRNCH, MFX_MRGN_OWNR, MFX_REV_SHRNG_ID, MFX_PYMNT_SUSP, WIRE_FEE, STTLMNT_NET_EMAIL, LANGUAGE_PREFERENCE, }; enum PropInfo { VALUE, XPREF_PROP_ID, VERSION, ENTITY_STATUS }; }
  • 11. Angular 2 without Angular 1.x • Angular2 is totally new concept • Easy to understand for OOP • Faster • Modular with more OO Like for Cleaner Code
  • 12. New in Angular2 • No two way bindings • TypeScript • Dependency Injection • No Controller  Component • Angular CLI
  • 13. Get started – Hello User Install angular CLI 1. @Setup :: You should update your Angular cli version before cloning sample program 2. npm uninstall -g @angular/cli angular-cli npm cache clean npm install -g @angular/cli@latest ($ npm install -g @angular/cli) New Project 1. C:angular2ng new hello-user 2. @test blank app :: ng serve 3. @index.html 4. @src/main.ts 5. @ platformBrowserDynamic().bootstrapModule(AppModule); 6. @ app.component.ts 7. @ AppComponent
  • 14. Design ng generate interface user ng generate component --inline-template people-list
  • 15. Add Components • ng generate interface user • ng generate component --inline-template user-list • Update User List component
  • 17. User List : Component
  • 18. User List Component Service Layer user-list.component.ts user.ts User Manager Service Presentation Layer
  • 19. Creating The UserManagerService • ng generate service userManager –module app • Implement 'getAll()' method • Dependency Injection to UserList Component • ng generate service userManager --module app
  • 22. Angular 2 Component Lifecycle
  • 23.
  • 24. Dependency of sources • index.html :: <app-root> • app.component.ts • user-list.component.ts • user.ts
  • 25. Service • UserManagerService • Register Service in app module • Register Service in app component
  • 26.
  • 27. Extracting User Details Into Its Own Component • ng g c –it –is user-details • ng generate component --inline-template -- inline-style user-details
  • 28. Data Binding • Event Binding : Component to Template : (click) – selectUser(user) • Property Binding : Property (Interface) to Component • UserDetailsComponent
  • 32. Run sample @Setup :: You should update your Angular cli version before cloning sample program npm uninstall -g @angular/cli angular-cli npm cache clean npm install -g @angular/cli@latest @Download sample :: git clone https://github.com/Vintharas/angular2-step-by-step-01-your-first-component :: C:angular2 :: Go to new directory : C:angular2angular2-step-by-step-01-your-first-component>ng build :: npm install @ Running Server :: ng serve @ Test on Browser :: http://localhost:4200/ @Blog :: Angular 2 code samples for the blog post Angular 2 Step by Step Your First Component http://www.barbarianmeetscoding.com/blog/2016/03/25/getting-started-with-angular-2-step-by-step-1-your- first-component/
  • 33. Reference • 1st week : https://www.barbarianmeetscoding.com/blog/2016/03/25/getting-started-with-angular-2-step- by-step-1-your-first-component/ • 2nd week : service : https://www.barbarianmeetscoding.com/blog/2016/03/26/getting-started-with- angular-2-step-by-step-2-refactoring-to-services/ • 3rd week : data binding : https://www.barbarianmeetscoding.com/blog/2016/03/27/getting-started-with- angular-2-step-by-step-3-your-second-component-and-angular-2-data-binding/ • 4th week : routing : https://www.barbarianmeetscoding.com/blog/2016/03/28/getting-started-with- angular-2-step-by-step-4-routing/ • 5th week : forms and validation : https://www.barbarianmeetscoding.com/blog/2016/03/29/getting- started-with-angular-2-step-by-step-5-forms-and-validation/ • Connecting Angular 2 Front to MongoDB : http://adrianmejia.com/blog/2014/10/03/mean-stack-tutorial- mongodb-expressjs-angularjs-nodejs/ • Editor : Visual Studio Code - https://code.visualstudio.com/docs/?dv=win