SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Modern Web
                           application model
                                 Michał Taberski
                              m.taberski@gmail.com




                                                     Poznań 9 December 2010
czwartek, 9 grudnia 2010
What kind of apps do we like to use?




czwartek, 9 grudnia 2010
What kind of apps do we like to use?




czwartek, 9 grudnia 2010
What kind of apps do we like to use?




czwartek, 9 grudnia 2010
What kind of apps do we like to use?




czwartek, 9 grudnia 2010
What kind of apps do we like to use?




czwartek, 9 grudnia 2010
What kind of apps do we like to use?




czwartek, 9 grudnia 2010
What kind of apps do we like to use?




               GitHub




czwartek, 9 grudnia 2010
What is common for those apps?




               GitHub
                             ?
czwartek, 9 grudnia 2010
What is common for those apps?




                           an instant answer

               GitHub




czwartek, 9 grudnia 2010
So why we can`t provide it ?


                           Rails by default do everything on server side

                           if we want some Ajax we have to do it by ourself

                           our Ajax solutions requires additional work, and time

                           we don`t have time to do every detail in Ajax




czwartek, 9 grudnia 2010
but how they do this?


                           They use a lot of JS (Oh... We landed on the moon !!!)

                           A( those apps are RESTful (nice, like a Rails App)

                           They render views on client side




czwartek, 9 grudnia 2010
How it works?

                                    Server provides templates (eg. mustache like) as
                                  an answer for first request, and JSON data to fi( it


                                  When event is tri*ered, browser ask for JSON data
                                               (pure RESTful request)                  browser
                     SERVER                 Server gives just JSON data*




                              * - Because they fi( templates using JS, they can display data in a fancy way
                                                  eg. like project navigation in GitHub




czwartek, 9 grudnia 2010
We already do something like that...



                                                          Moje
                              JSON driven communication
                                                          Miasto
                                                           app
                     SERVER




czwartek, 9 grudnia 2010
Rails way thinking...


                                  JSON driven communication
                                                              View
                    Model
                   Controller




czwartek, 9 grudnia 2010
My question is:


                   Is it possible to painless
                    bring V from MVC to
                          client side?

czwartek, 9 grudnia 2010
Thank you for attention
                           Michał Taberski




czwartek, 9 grudnia 2010

Contenu connexe

Similaire à Modern Web Apps Using Client-Side Rendering

Model-Driven Software Development - Web Abstractions 1
Model-Driven Software Development - Web Abstractions 1Model-Driven Software Development - Web Abstractions 1
Model-Driven Software Development - Web Abstractions 1Eelco Visser
 
BIMserver presentation at Digital Mix, BuildingSMART week Copenhagen
BIMserver presentation at Digital Mix, BuildingSMART week CopenhagenBIMserver presentation at Digital Mix, BuildingSMART week Copenhagen
BIMserver presentation at Digital Mix, BuildingSMART week CopenhagenLéon Berlo
 
Open End To End Js Stack
Open End To End Js StackOpen End To End Js Stack
Open End To End Js StackSkills Matter
 
mobile + location based design
mobile + location based designmobile + location based design
mobile + location based designGeorge Hayes
 
iBizLog. Smalltalking the Web
iBizLog. Smalltalking the WebiBizLog. Smalltalking the Web
iBizLog. Smalltalking the WebESUG
 
Dojo Mobile
Dojo MobileDojo Mobile
Dojo Mobiledylanks
 
Progressive Advancement, by way of progressive enhancement
Progressive Advancement, by way of progressive enhancementProgressive Advancement, by way of progressive enhancement
Progressive Advancement, by way of progressive enhancementPaul Irish
 
What's this NetKernel Thing Anyway?
What's this NetKernel Thing Anyway?What's this NetKernel Thing Anyway?
What's this NetKernel Thing Anyway?Darren Cruse
 
Flex além do browser - Lightning talk qcon
Flex além do browser - Lightning talk qcon Flex além do browser - Lightning talk qcon
Flex além do browser - Lightning talk qcon David Paniz
 
Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript? Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript? Nikolai Onken
 
Vision for Development of SNS Based OS
Vision for Development of SNS Based OSVision for Development of SNS Based OS
Vision for Development of SNS Based OSnkawahara
 
HTML5: Toolkits and Gaps
HTML5: Toolkits and GapsHTML5: Toolkits and Gaps
HTML5: Toolkits and Gapsdylanks
 
Designing an iPad prototype for collaborative brainstorming
Designing an iPad prototype for collaborative brainstormingDesigning an iPad prototype for collaborative brainstorming
Designing an iPad prototype for collaborative brainstormingAlexander Lobunets
 
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)Murat Yener
 
How to be a better designer
How to be a better designerHow to be a better designer
How to be a better designerJason Robb
 
Advanced android
Advanced androidAdvanced android
Advanced androiddonnfelker
 
Document-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb PrimerDocument-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb Primerjsiarto
 
Semantics Enriched Service Environments
Semantics Enriched Service EnvironmentsSemantics Enriched Service Environments
Semantics Enriched Service EnvironmentsKarthik Gomadam
 
Responsive Design for the Web
Responsive Design for the WebResponsive Design for the Web
Responsive Design for the Webjonbuda
 

Similaire à Modern Web Apps Using Client-Side Rendering (20)

Model-Driven Software Development - Web Abstractions 1
Model-Driven Software Development - Web Abstractions 1Model-Driven Software Development - Web Abstractions 1
Model-Driven Software Development - Web Abstractions 1
 
BIMserver presentation at Digital Mix, BuildingSMART week Copenhagen
BIMserver presentation at Digital Mix, BuildingSMART week CopenhagenBIMserver presentation at Digital Mix, BuildingSMART week Copenhagen
BIMserver presentation at Digital Mix, BuildingSMART week Copenhagen
 
Open End To End Js Stack
Open End To End Js StackOpen End To End Js Stack
Open End To End Js Stack
 
mobile + location based design
mobile + location based designmobile + location based design
mobile + location based design
 
iBizLog. Smalltalking the Web
iBizLog. Smalltalking the WebiBizLog. Smalltalking the Web
iBizLog. Smalltalking the Web
 
Dojo Mobile
Dojo MobileDojo Mobile
Dojo Mobile
 
Progressive Advancement, by way of progressive enhancement
Progressive Advancement, by way of progressive enhancementProgressive Advancement, by way of progressive enhancement
Progressive Advancement, by way of progressive enhancement
 
What's this NetKernel Thing Anyway?
What's this NetKernel Thing Anyway?What's this NetKernel Thing Anyway?
What's this NetKernel Thing Anyway?
 
Flex além do browser - Lightning talk qcon
Flex além do browser - Lightning talk qcon Flex além do browser - Lightning talk qcon
Flex além do browser - Lightning talk qcon
 
Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript? Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript?
 
Vision for Development of SNS Based OS
Vision for Development of SNS Based OSVision for Development of SNS Based OS
Vision for Development of SNS Based OS
 
HTML5: Toolkits and Gaps
HTML5: Toolkits and GapsHTML5: Toolkits and Gaps
HTML5: Toolkits and Gaps
 
Designing an iPad prototype for collaborative brainstorming
Designing an iPad prototype for collaborative brainstormingDesigning an iPad prototype for collaborative brainstorming
Designing an iPad prototype for collaborative brainstorming
 
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
The Horoscope of OSGi: Meet Eclipse Libra, Virgo and Gemini (JavaOne 2013)
 
Vagrant at LA Ruby
Vagrant at LA RubyVagrant at LA Ruby
Vagrant at LA Ruby
 
How to be a better designer
How to be a better designerHow to be a better designer
How to be a better designer
 
Advanced android
Advanced androidAdvanced android
Advanced android
 
Document-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb PrimerDocument-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb Primer
 
Semantics Enriched Service Environments
Semantics Enriched Service EnvironmentsSemantics Enriched Service Environments
Semantics Enriched Service Environments
 
Responsive Design for the Web
Responsive Design for the WebResponsive Design for the Web
Responsive Design for the Web
 

Modern Web Apps Using Client-Side Rendering

  • 1. Modern Web application model Michał Taberski m.taberski@gmail.com Poznań 9 December 2010 czwartek, 9 grudnia 2010
  • 2. What kind of apps do we like to use? czwartek, 9 grudnia 2010
  • 3. What kind of apps do we like to use? czwartek, 9 grudnia 2010
  • 4. What kind of apps do we like to use? czwartek, 9 grudnia 2010
  • 5. What kind of apps do we like to use? czwartek, 9 grudnia 2010
  • 6. What kind of apps do we like to use? czwartek, 9 grudnia 2010
  • 7. What kind of apps do we like to use? czwartek, 9 grudnia 2010
  • 8. What kind of apps do we like to use? GitHub czwartek, 9 grudnia 2010
  • 9. What is common for those apps? GitHub ? czwartek, 9 grudnia 2010
  • 10. What is common for those apps? an instant answer GitHub czwartek, 9 grudnia 2010
  • 11. So why we can`t provide it ? Rails by default do everything on server side if we want some Ajax we have to do it by ourself our Ajax solutions requires additional work, and time we don`t have time to do every detail in Ajax czwartek, 9 grudnia 2010
  • 12. but how they do this? They use a lot of JS (Oh... We landed on the moon !!!) A( those apps are RESTful (nice, like a Rails App) They render views on client side czwartek, 9 grudnia 2010
  • 13. How it works? Server provides templates (eg. mustache like) as an answer for first request, and JSON data to fi( it When event is tri*ered, browser ask for JSON data (pure RESTful request) browser SERVER Server gives just JSON data* * - Because they fi( templates using JS, they can display data in a fancy way eg. like project navigation in GitHub czwartek, 9 grudnia 2010
  • 14. We already do something like that... Moje JSON driven communication Miasto app SERVER czwartek, 9 grudnia 2010
  • 15. Rails way thinking... JSON driven communication View Model Controller czwartek, 9 grudnia 2010
  • 16. My question is: Is it possible to painless bring V from MVC to client side? czwartek, 9 grudnia 2010
  • 17. Thank you for attention Michał Taberski czwartek, 9 grudnia 2010