Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

From server generated pages to client app in a micro-services world

4 538 vues

Publié le

Publié dans : Technologie
  • Soyez le premier à commenter

From server generated pages to client app in a micro-services world

  1. 1. FullStack Developers Israel From Server Generated Pages to Client App By Assaf Gannon 28.01.2014 Google Campus Hosted by:
  2. 2. Evolution of the ‘View’ in Monolithic MVC text
  3. 3. text MVC Most Monolithic applications use MVC Model • • • • Provides a well proven structure for web applications Model - logic & data View - Presentation layer Controller - Glue & Routing
  4. 4. text Micro Service World Service (MVC) Service (MVC) Client Service (MVC)
  5. 5. text Micro Service World Service (MVC) Service (MVC) Web Server (MVC) Client Service (MVC)
  6. 6. text Forces Influencing the View • Marketing - Trend to ‘native’ like apps UX • Performance - Offload some of the work to the client • Business - Web applications need more hits to make a $
  7. 7. text The View Evolution Move to Single Page Applications What makes it possible? • Improved browser JS performance • Improved client hardware • HTML 5 Standards
  8. 8. text Single Page App Move all presentation logic to the client Result: • • • • • We get a “Standalone” Client The “V” in server MVC almost disappears Client becomes more complex Asset management importance hits a new peak Both server and client become more robust
  9. 9. text Micro Service World Service (MVC) Service (MVC) REST API Client Service (MVC)
  10. 10. text Basic Architecture
  11. 11. text New Web Client Complexities • Lots of assets (JS, CSS, HTML, Images) • Lots of 3rd party libraries • Lots of events and logic • Complex data models and logic • State management • Routing management
  12. 12. Introducing Web Client Development text
  13. 13. text Web Apps Development Keys • Start treating web apps with respect (as software) • Adopt standard development flows and tools • Test your code • Separation of concerns and concise modules • Manage assets with designated tools • Use dependency management tools
  14. 14. The Web Dev Toolkit text
  15. 15. text Yeoman • Project Scaffolding • Code Generation
  16. 16. text Grunt • JS Task executor • Used for: ○ JS & CSS file concatenation and minification ○ Asset versioning ○ Code linting ○ CSS - Sass, Less, Compass ○ HTML optimisation ○ Test execution ○ Many many more…
  17. 17. text Bower • Client dependency manager
  18. 18. text Summary • Web apps should be treated as software • Web Client should be developed as a separate project • Coding paradigms (MVC) should be applied to web apps • Use tools to increase efficiency
  19. 19. text Further reading • http://yeoman.io/ • http://gruntjs.com/ • http://bower.io/
  20. 20. THANK YOU ASSAF GANNON Email: assaf@tikalk.com

×