SlideShare a Scribd company logo
1 of 43
Download to read offline
Mobile-First
with AngularJS
CLASS OF 2001 CLASS OF 2006
programmer | ˈprəәʊgraməә |
noun
!
a person that turns caffeine (and pizza) into
computer programs.
I am architect
But not that kind
of an architect...
Picture property of Warner Bros.
“… guide, as in mountaineering. A
guide is a more experienced and skilful
team member who teaches other team
members to better fend for themselves
yet is always there for the really tricky
stuff.”
-- Martin Fowler,
Who needs an Architect?
http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
PARENT
Sofia Zoo, 2013
Startup = Growth
=> We’re looking for growth hacks
growth hacking
!
looking for low-cost and innovative
alternatives to traditional approaches
Architecture Crash Course in
Agenda
Client-Side Problems (& the Angular take on those)
Directives, Data binding & Filters
Development Problems (& how the tooling works)
Mobile-First Headaches
Architecture Crash Course in
Agenda
Client-Side Problems (& the Angular take on those)
Directives, Data binding & Filters
Development Problems (& how the tooling works)
Mobile-First Headaches
MVC, MVCS, MVWhatever
M V
C
this is what we’re
familiar with — let’s
complicate it a bit
M V
C
S
in a perfect world there would be only 4
dots with arrows between them...
M V
C
M
M
V
V
C C
S
S S
in situations like that you need to
take care of dependency
management
Problem 1: Dependencies
Problem 2: Event Handling
M V
C
What kind of events?
Who dispatches these events?
How to subscribe to the events
of interest?
How such events reach the
model, controller or whatever?
Problem 3: Presentation Patterns
M V
C
What logic is allowed to be put
in the HTMLs?
How does the model get
adapted for the needs of the
View?
How to mediate the
cooperation between several
components?
How about the View Display
logic and DOM manipulation?
V.D.
V.L.
M.P.
Med.
The Angular approach
$scope
M V
W
$scope
M V
W
$scope
M V
W
$scope
M V
W
$scope
M V
W
D.I.
Hierarchy of scopes tied to
HTML DOM
Dependencies Injector is a
registry for all Angular
components
Events travel through the
hierarchy of $scope — emit
& broadcast
Presentation Model &
Passive View as
presentation patterns
Architecture Crash Course in
Agenda
Client-Side Problems (& the Angular take on those)
Directives, Data binding & Filters
Development Problems (& how the tooling works)
Mobile-First Headaches
yo scaffolds out a new application, writing your Grunt
configuration and pulling in relevant Grunt tasks and
Bower dependencies that you might need for your build.
Grunt is used to build, preview and test your project,
thanks to help from tasks curated by the Yeoman team
and grunt-contrib.
Bower is used for dependency management, so that you
no longer have to manually download and manage your
scripts.
Don’t forget to check out the code:
!
https://github.com/npacemo/beit-first-try
!
So far we’re at this commit:
!
https://github.com/npacemo/beit-first-try/commit/eb9237
Architecture Crash Course in
Agenda
Client-Side Problems (& the Angular take on those)
Directives, Data binding & Filters
Development Problems (& how the tooling works)
Mobile-First Headaches
Architecture Crash Course in
Agenda
Client-Side Problems (& the Angular take on those)
Directives, Data binding & Filters
Development Problems (& how the tooling works)
Mobile-First Headaches
Architecture Crash Course in
Agenda
Client-Side Problems (& the Angular take on those)
Directives, Data binding & Filters
Development Problems (& how the tooling works)
Mobile-First Headaches
More Headaches…
Please, send your
Questions on my
daddy’s email
(vtsvetkov@obecto.com)
or else he’ll be late for
my party!

More Related Content

What's hot (6)

Wikihow webbflow | HYDRA
Wikihow webbflow | HYDRAWikihow webbflow | HYDRA
Wikihow webbflow | HYDRA
 
.NET Career Direction
.NET Career Direction.NET Career Direction
.NET Career Direction
 
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
 
Modern front end development
Modern front end developmentModern front end development
Modern front end development
 
Knockout, TypeScript, and Nested Grids, Oh My!
Knockout, TypeScript, and Nested Grids, Oh My!Knockout, TypeScript, and Nested Grids, Oh My!
Knockout, TypeScript, and Nested Grids, Oh My!
 
LAYOUT BUILDER. HOW WE BUILD PLATFORM WITH COLOR/THEME MANAGEMENT.
LAYOUT BUILDER. HOW WE BUILD PLATFORM WITH COLOR/THEME MANAGEMENT.LAYOUT BUILDER. HOW WE BUILD PLATFORM WITH COLOR/THEME MANAGEMENT.
LAYOUT BUILDER. HOW WE BUILD PLATFORM WITH COLOR/THEME MANAGEMENT.
 

Similar to Mobile First with Angular.JS - Владимир Цветков, Obecto

Chandra Sekhar Cheekuru NET UI
Chandra Sekhar Cheekuru  NET UIChandra Sekhar Cheekuru  NET UI
Chandra Sekhar Cheekuru NET UI
Chandra Sekhar
 

Similar to Mobile First with Angular.JS - Владимир Цветков, Obecto (20)

AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
 
Js il.com
Js il.comJs il.com
Js il.com
 
5 Front End Frameworks to Master in Web Development.pdf
5 Front End Frameworks to Master in Web Development.pdf5 Front End Frameworks to Master in Web Development.pdf
5 Front End Frameworks to Master in Web Development.pdf
 
Angular.pptx
Angular.pptxAngular.pptx
Angular.pptx
 
Angular.pptx
Angular.pptxAngular.pptx
Angular.pptx
 
Angular.pptx
Angular.pptxAngular.pptx
Angular.pptx
 
Angular js workshop
Angular js workshopAngular js workshop
Angular js workshop
 
Angular vs React vs Vue – The Right Framework For You.pdf
Angular vs React vs Vue – The Right Framework For You.pdfAngular vs React vs Vue – The Right Framework For You.pdf
Angular vs React vs Vue – The Right Framework For You.pdf
 
Chandra Sekhar Cheekuru NET UI
Chandra Sekhar Cheekuru  NET UIChandra Sekhar Cheekuru  NET UI
Chandra Sekhar Cheekuru NET UI
 
Agile Modeling using the Architecture Tools in VS 2010
Agile Modeling  using the Architecture Tools in VS 2010Agile Modeling  using the Architecture Tools in VS 2010
Agile Modeling using the Architecture Tools in VS 2010
 
qadeer intern report.pdf
qadeer intern report.pdfqadeer intern report.pdf
qadeer intern report.pdf
 
Resume
ResumeResume
Resume
 
Technical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdfTechnical-design-for-Angular-apps.pdf
Technical-design-for-Angular-apps.pdf
 
Startup Institute NYC: Styling
Startup Institute NYC: StylingStartup Institute NYC: Styling
Startup Institute NYC: Styling
 
JavaScript Frameworks Popularity
JavaScript Frameworks PopularityJavaScript Frameworks Popularity
JavaScript Frameworks Popularity
 
How to choose the best frontend framework in 2022
How to choose the best frontend framework in 2022How to choose the best frontend framework in 2022
How to choose the best frontend framework in 2022
 
How Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdfHow Much Does It Cost To Hire Full Stack Developer In 2022.pdf
How Much Does It Cost To Hire Full Stack Developer In 2022.pdf
 
Building a Strong Online Presence: The Essentials of Full Web Development
Building a Strong Online Presence: The Essentials of Full Web DevelopmentBuilding a Strong Online Presence: The Essentials of Full Web Development
Building a Strong Online Presence: The Essentials of Full Web Development
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
 
quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptxquantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
 

More from beITconference

ADASTRA +1 or How YOU generate additional value in the project lifecycle - Пе...
ADASTRA +1 or How YOU generate additional value in the project lifecycle - Пе...ADASTRA +1 or How YOU generate additional value in the project lifecycle - Пе...
ADASTRA +1 or How YOU generate additional value in the project lifecycle - Пе...
beITconference
 
NoSQL and Cloud Services - Philip Balinow, Comfo
NoSQL and Cloud Services -  Philip Balinow, ComfoNoSQL and Cloud Services -  Philip Balinow, Comfo
NoSQL and Cloud Services - Philip Balinow, Comfo
beITconference
 
Уроците от работата ми по WordPress.com - Веселин Николов
Уроците от работата ми по WordPress.com - Веселин НиколовУроците от работата ми по WordPress.com - Веселин Николов
Уроците от работата ми по WordPress.com - Веселин Николов
beITconference
 
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, InfragisticsScrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
beITconference
 
Развитие на финансовите приложения от транзакционни услуги към комплексно реш...
Развитие на финансовите приложения от транзакционни услуги към комплексно реш...Развитие на финансовите приложения от транзакционни услуги към комплексно реш...
Развитие на финансовите приложения от транзакционни услуги към комплексно реш...
beITconference
 
The Web and The Social - Harry Birimirski, Smart IT
The Web and The Social - Harry Birimirski, Smart ITThe Web and The Social - Harry Birimirski, Smart IT
The Web and The Social - Harry Birimirski, Smart IT
beITconference
 
Unit & Automation Testing in Android - Stanislav Gatsev, Melon
Unit & Automation Testing in Android - Stanislav Gatsev, MelonUnit & Automation Testing in Android - Stanislav Gatsev, Melon
Unit & Automation Testing in Android - Stanislav Gatsev, Melon
beITconference
 

More from beITconference (7)

ADASTRA +1 or How YOU generate additional value in the project lifecycle - Пе...
ADASTRA +1 or How YOU generate additional value in the project lifecycle - Пе...ADASTRA +1 or How YOU generate additional value in the project lifecycle - Пе...
ADASTRA +1 or How YOU generate additional value in the project lifecycle - Пе...
 
NoSQL and Cloud Services - Philip Balinow, Comfo
NoSQL and Cloud Services -  Philip Balinow, ComfoNoSQL and Cloud Services -  Philip Balinow, Comfo
NoSQL and Cloud Services - Philip Balinow, Comfo
 
Уроците от работата ми по WordPress.com - Веселин Николов
Уроците от работата ми по WordPress.com - Веселин НиколовУроците от работата ми по WordPress.com - Веселин Николов
Уроците от работата ми по WordPress.com - Веселин Николов
 
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, InfragisticsScrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
Scrum Crash Course - Anatoli Iliev and Lyubomir Cholakov, Infragistics
 
Развитие на финансовите приложения от транзакционни услуги към комплексно реш...
Развитие на финансовите приложения от транзакционни услуги към комплексно реш...Развитие на финансовите приложения от транзакционни услуги към комплексно реш...
Развитие на финансовите приложения от транзакционни услуги към комплексно реш...
 
The Web and The Social - Harry Birimirski, Smart IT
The Web and The Social - Harry Birimirski, Smart ITThe Web and The Social - Harry Birimirski, Smart IT
The Web and The Social - Harry Birimirski, Smart IT
 
Unit & Automation Testing in Android - Stanislav Gatsev, Melon
Unit & Automation Testing in Android - Stanislav Gatsev, MelonUnit & Automation Testing in Android - Stanislav Gatsev, Melon
Unit & Automation Testing in Android - Stanislav Gatsev, Melon
 

Recently uploaded

Recently uploaded (11)

ACM CHT Best Inspection Practices Kinben Innovation MIC Slideshare.pdf
ACM CHT Best Inspection Practices Kinben Innovation MIC Slideshare.pdfACM CHT Best Inspection Practices Kinben Innovation MIC Slideshare.pdf
ACM CHT Best Inspection Practices Kinben Innovation MIC Slideshare.pdf
 
2024-05-15-Surat Meetup-Hyperautomation.pptx
2024-05-15-Surat Meetup-Hyperautomation.pptx2024-05-15-Surat Meetup-Hyperautomation.pptx
2024-05-15-Surat Meetup-Hyperautomation.pptx
 
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdf
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdfMicrosoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdf
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdf
 
ServiceNow CIS-Discovery Exam Dumps 2024
ServiceNow CIS-Discovery Exam Dumps 2024ServiceNow CIS-Discovery Exam Dumps 2024
ServiceNow CIS-Discovery Exam Dumps 2024
 
TSM unit 5 Toxicokinetics seminar by Ansari Aashif Raza.pptx
TSM unit 5 Toxicokinetics seminar by  Ansari Aashif Raza.pptxTSM unit 5 Toxicokinetics seminar by  Ansari Aashif Raza.pptx
TSM unit 5 Toxicokinetics seminar by Ansari Aashif Raza.pptx
 
Understanding Poverty: A Community Questionnaire
Understanding Poverty: A Community QuestionnaireUnderstanding Poverty: A Community Questionnaire
Understanding Poverty: A Community Questionnaire
 
Deciding The Topic of our Magazine.pptx.
Deciding The Topic of our Magazine.pptx.Deciding The Topic of our Magazine.pptx.
Deciding The Topic of our Magazine.pptx.
 
Databricks Machine Learning Associate Exam Dumps 2024.pdf
Databricks Machine Learning Associate Exam Dumps 2024.pdfDatabricks Machine Learning Associate Exam Dumps 2024.pdf
Databricks Machine Learning Associate Exam Dumps 2024.pdf
 
SaaStr Workshop Wednesday with CEO of Guru
SaaStr Workshop Wednesday with CEO of GuruSaaStr Workshop Wednesday with CEO of Guru
SaaStr Workshop Wednesday with CEO of Guru
 
DAY 0 8 A Revelation 05-19-2024 PPT.pptx
DAY 0 8 A Revelation 05-19-2024 PPT.pptxDAY 0 8 A Revelation 05-19-2024 PPT.pptx
DAY 0 8 A Revelation 05-19-2024 PPT.pptx
 
The Influence and Evolution of Mogul Press in Contemporary Public Relations.docx
The Influence and Evolution of Mogul Press in Contemporary Public Relations.docxThe Influence and Evolution of Mogul Press in Contemporary Public Relations.docx
The Influence and Evolution of Mogul Press in Contemporary Public Relations.docx
 

Mobile First with Angular.JS - Владимир Цветков, Obecto

  • 2. CLASS OF 2001 CLASS OF 2006
  • 3. programmer | ˈprəәʊgraməә | noun ! a person that turns caffeine (and pizza) into computer programs.
  • 5. But not that kind of an architect... Picture property of Warner Bros.
  • 6. “… guide, as in mountaineering. A guide is a more experienced and skilful team member who teaches other team members to better fend for themselves yet is always there for the really tricky stuff.” -- Martin Fowler, Who needs an Architect? http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
  • 7.
  • 9.
  • 10. Startup = Growth => We’re looking for growth hacks
  • 11. growth hacking ! looking for low-cost and innovative alternatives to traditional approaches
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Architecture Crash Course in Agenda Client-Side Problems (& the Angular take on those) Directives, Data binding & Filters Development Problems (& how the tooling works) Mobile-First Headaches
  • 17. Architecture Crash Course in Agenda Client-Side Problems (& the Angular take on those) Directives, Data binding & Filters Development Problems (& how the tooling works) Mobile-First Headaches
  • 18. MVC, MVCS, MVWhatever M V C this is what we’re familiar with — let’s complicate it a bit M V C S in a perfect world there would be only 4 dots with arrows between them...
  • 19. M V C M M V V C C S S S in situations like that you need to take care of dependency management Problem 1: Dependencies
  • 20. Problem 2: Event Handling M V C What kind of events? Who dispatches these events? How to subscribe to the events of interest? How such events reach the model, controller or whatever?
  • 21. Problem 3: Presentation Patterns M V C What logic is allowed to be put in the HTMLs? How does the model get adapted for the needs of the View? How to mediate the cooperation between several components? How about the View Display logic and DOM manipulation? V.D. V.L. M.P. Med.
  • 22. The Angular approach $scope M V W $scope M V W $scope M V W $scope M V W $scope M V W D.I. Hierarchy of scopes tied to HTML DOM Dependencies Injector is a registry for all Angular components Events travel through the hierarchy of $scope — emit & broadcast Presentation Model & Passive View as presentation patterns
  • 23. Architecture Crash Course in Agenda Client-Side Problems (& the Angular take on those) Directives, Data binding & Filters Development Problems (& how the tooling works) Mobile-First Headaches
  • 24. yo scaffolds out a new application, writing your Grunt configuration and pulling in relevant Grunt tasks and Bower dependencies that you might need for your build. Grunt is used to build, preview and test your project, thanks to help from tasks curated by the Yeoman team and grunt-contrib. Bower is used for dependency management, so that you no longer have to manually download and manage your scripts.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Don’t forget to check out the code: ! https://github.com/npacemo/beit-first-try ! So far we’re at this commit: ! https://github.com/npacemo/beit-first-try/commit/eb9237
  • 32. Architecture Crash Course in Agenda Client-Side Problems (& the Angular take on those) Directives, Data binding & Filters Development Problems (& how the tooling works) Mobile-First Headaches
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. Architecture Crash Course in Agenda Client-Side Problems (& the Angular take on those) Directives, Data binding & Filters Development Problems (& how the tooling works) Mobile-First Headaches
  • 38.
  • 39.
  • 40.
  • 41. Architecture Crash Course in Agenda Client-Side Problems (& the Angular take on those) Directives, Data binding & Filters Development Problems (& how the tooling works) Mobile-First Headaches More Headaches…
  • 42.
  • 43. Please, send your Questions on my daddy’s email (vtsvetkov@obecto.com) or else he’ll be late for my party!