SlideShare a Scribd company logo
1 of 15
Download to read offline
Single Page Web Apps
   Get your buzzword-bingo sheets out :P




              Jan Monschke
              Eray Basar
#!/bio
!   Jan Monschke
  !   Coffeescript / brunch / CouchApps / Brunch-Colors
  !   @thedeftone / http://github.com/janmonschke

! Eray Basar
  !   @toshiyori

! @9elements : @imgly, @watchlaterapp
#!/index
!   The big picture

! What the #! is a Single Page Web App?

! Why would I do that?

! Why wouldn‘t I do that?

! What tools are there?
The big picture: Apple‘s ecosystem
Is the web the saviour?
                               f JavaScript
            CSS3     4
        HTML5   4
                          f    REST
Is the web the saviour?
! From a developer‘s perspective
  !   Solve distribution
  !   Get low tech API access (Device API)

! From a users‘s perspective
  ! Harmonize UI concepts / overall UX
  !   Web apps have to feel more native
Web Apps have to feel more native
!   Desktop- and Web-Experience converge!




   http://www.yuiblog.com/blog/2009/10/13/video-neuberg-html5/
Desktop- and Web-Experience converge

! Then:
  !   Flash

! Now:
  !       JavaScript
  !       AJAX
  !       JavaScript is everywhere (Frontend, Backend, DB)
  !       Single Page Web Apps
#!/what
! http://twitter.com/ / http://facebook.com

! Your whole app exists on a single page
  !   No complete reload of the DOM
  !   Only parts of your page change

!   In-App URLs: mydomain.tld/#!/test
  ! bookmarkable
  !   client-side routing
#!/why
!   Server doesn‘t need to render complete layouts
  ! Less CPU time needed for each request
  !   Server is able to handle more requests

! No huge HTML files are transported
  !   Less data à less time for transport à Good for UX and
      Backend
  !   Especially good for devices that are connected to mobile
      networks
#!/why/2
! Transitions between states
   !   Immediate Feedback and Interaction Response
   !   Elegant way to lead the user through complex processes

!   Web is not silent
   ! Reintroduction of music experience through-out the Web
   !   Separate information flows are not interrupted (chat, music
       player, file transfers...)
#!/why/not
! Existing page with a good pagerank, hundreds of indexed
  urls
  !   gawker.com à All links from Google were broken

!   Intensive Data
  !   You shouldn‘t develop a banking page like that
  !   Inspect Element / See source à Your business logic exposed to
      the user

! Your page relies on the JavaScript performance of your
  clients
  !   bad UX with slow browsers
  !   Make sure JavaScript is enabled (<noscript/> ftw!)
#!/tools
! Backbone.js - http://documentcloud.github.com/backbone/
  !   MVC – in JavaScript
  !   Easy Backend integration

! SammyJS - http://sammyjs.org/

!   brunch - https://github.com/brunch/brunch
  ! Toolchain for Single Page Web Apps
  !   Clean project structure à automatic builds
  ! Buzzword mayhem: CoffeeScript / Backbone.js / Eco / Stylus
#!/hosting
! Easily integration into all REST backends
   !   Rails / AppEngine / you name it

!   The missing link for nodejs?
   ! There‘s no Rails for nodejs (yet)
   !   Single Page Web Apps + nodejs = Awesomeness
#!/thx

  Any questions?

Feel free to contact us via Twitter:
     @thedeftone @toshiyori

More Related Content

What's hot

Mobile application development - js meetup colombo
Mobile application development - js meetup colomboMobile application development - js meetup colombo
Mobile application development - js meetup colomboPasindu Perera
 
My page objects are DRYer than yours
My page objects are DRYer than yoursMy page objects are DRYer than yours
My page objects are DRYer than yoursAnthony Browness
 
iPhone & Java Web Services, Take 2
iPhone & Java Web Services, Take 2iPhone & Java Web Services, Take 2
iPhone & Java Web Services, Take 2Matthew McCullough
 
Web Type: Hype & Gripes
Web Type: Hype & GripesWeb Type: Hype & Gripes
Web Type: Hype & GripesTom Osborne
 
Web, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js AppWeb, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js AppFITC
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBrad Frost
 
仕事でRubyを書いてみた
仕事でRubyを書いてみた仕事でRubyを書いてみた
仕事でRubyを書いてみたHiromu Shioya
 
Using Wordpress As An Application Platform -- #WCMKE 2014
Using Wordpress As An Application Platform -- #WCMKE 2014Using Wordpress As An Application Platform -- #WCMKE 2014
Using Wordpress As An Application Platform -- #WCMKE 2014serversideup
 
Snappy Means Happy: Performance in Ember Apps
Snappy Means Happy: Performance in Ember AppsSnappy Means Happy: Performance in Ember Apps
Snappy Means Happy: Performance in Ember AppsMatthew Beale
 
Tweak, Test and Debug your mobile apps from Web directions code 13
Tweak, Test and Debug your mobile apps from Web directions code 13Tweak, Test and Debug your mobile apps from Web directions code 13
Tweak, Test and Debug your mobile apps from Web directions code 13Chris Ward
 
PhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowPhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowSteve Gill
 

What's hot (11)

Mobile application development - js meetup colombo
Mobile application development - js meetup colomboMobile application development - js meetup colombo
Mobile application development - js meetup colombo
 
My page objects are DRYer than yours
My page objects are DRYer than yoursMy page objects are DRYer than yours
My page objects are DRYer than yours
 
iPhone & Java Web Services, Take 2
iPhone & Java Web Services, Take 2iPhone & Java Web Services, Take 2
iPhone & Java Web Services, Take 2
 
Web Type: Hype & Gripes
Web Type: Hype & GripesWeb Type: Hype & Gripes
Web Type: Hype & Gripes
 
Web, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js AppWeb, Native iOS and Native Android with One Ember.js App
Web, Native iOS and Native Android with One Ember.js App
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive Design
 
仕事でRubyを書いてみた
仕事でRubyを書いてみた仕事でRubyを書いてみた
仕事でRubyを書いてみた
 
Using Wordpress As An Application Platform -- #WCMKE 2014
Using Wordpress As An Application Platform -- #WCMKE 2014Using Wordpress As An Application Platform -- #WCMKE 2014
Using Wordpress As An Application Platform -- #WCMKE 2014
 
Snappy Means Happy: Performance in Ember Apps
Snappy Means Happy: Performance in Ember AppsSnappy Means Happy: Performance in Ember Apps
Snappy Means Happy: Performance in Ember Apps
 
Tweak, Test and Debug your mobile apps from Web directions code 13
Tweak, Test and Debug your mobile apps from Web directions code 13Tweak, Test and Debug your mobile apps from Web directions code 13
Tweak, Test and Debug your mobile apps from Web directions code 13
 
PhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and NowPhoneGap Slides from HTML5 Next and Now
PhoneGap Slides from HTML5 Next and Now
 

Viewers also liked

Client Side Development with Brunch
Client Side Development with BrunchClient Side Development with Brunch
Client Side Development with BrunchJan Monschke
 
Essential things that should always be in your car
Essential things that should always be in your carEssential things that should always be in your car
Essential things that should always be in your carEason Chan
 
How to Battle Bad Reviews
How to Battle Bad ReviewsHow to Battle Bad Reviews
How to Battle Bad ReviewsGlassdoor
 
The Presentation Come-Back Kid
The Presentation Come-Back KidThe Presentation Come-Back Kid
The Presentation Come-Back KidEthos3
 

Viewers also liked (6)

Barcamps
BarcampsBarcamps
Barcamps
 
Client Side Development with Brunch
Client Side Development with BrunchClient Side Development with Brunch
Client Side Development with Brunch
 
Essential things that should always be in your car
Essential things that should always be in your carEssential things that should always be in your car
Essential things that should always be in your car
 
How to Battle Bad Reviews
How to Battle Bad ReviewsHow to Battle Bad Reviews
How to Battle Bad Reviews
 
The Presentation Come-Back Kid
The Presentation Come-Back KidThe Presentation Come-Back Kid
The Presentation Come-Back Kid
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similar to Single Page Web Apps

Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Devicefilirom1
 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Atos_Worldline
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxchitrachauhan21
 
HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗Bobby Chen
 
Be Awesome with Emerging Tech [SUNYCUAD}
Be Awesome with Emerging Tech [SUNYCUAD}Be Awesome with Emerging Tech [SUNYCUAD}
Be Awesome with Emerging Tech [SUNYCUAD}Robin Smail
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Futureelliando dias
 
The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?Valtech UK
 
The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013Mathias Strandberg
 
Mobile Web Performance - Getting and Staying Fast
Mobile Web Performance -  Getting and Staying FastMobile Web Performance -  Getting and Staying Fast
Mobile Web Performance - Getting and Staying FastAndy Davies
 
Module 08: Responsive Web Design
Module 08: Responsive Web DesignModule 08: Responsive Web Design
Module 08: Responsive Web DesignDaniel Drew Turner
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
HTML5 for mobile - DiGi Challenge for Change
HTML5 for mobile - DiGi Challenge for ChangeHTML5 for mobile - DiGi Challenge for Change
HTML5 for mobile - DiGi Challenge for ChangeJan Jongboom
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...Bojan Veljanovski
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile appRyan Stewart
 
Mobile web apps here and now!
Mobile web apps here and now!Mobile web apps here and now!
Mobile web apps here and now!Alexander Gyoshev
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Future Insights
 

Similar to Single Page Web Apps (20)

Skill Session - Web Multi Device
Skill Session - Web Multi DeviceSkill Session - Web Multi Device
Skill Session - Web Multi Device
 
Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...Responsive web design & mobile web development - a technical and business app...
Responsive web design & mobile web development - a technical and business app...
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗HiUED 前端/web 發展和體驗
HiUED 前端/web 發展和體驗
 
Be Awesome with Emerging Tech [SUNYCUAD}
Be Awesome with Emerging Tech [SUNYCUAD}Be Awesome with Emerging Tech [SUNYCUAD}
Be Awesome with Emerging Tech [SUNYCUAD}
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
 
The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?The Mobile Landscape - Do you really need an app?
The Mobile Landscape - Do you really need an app?
 
The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013The mobile landscape london tfm&a 2013
The mobile landscape london tfm&a 2013
 
Mobile Web Performance - Getting and Staying Fast
Mobile Web Performance -  Getting and Staying FastMobile Web Performance -  Getting and Staying Fast
Mobile Web Performance - Getting and Staying Fast
 
Module 08: Responsive Web Design
Module 08: Responsive Web DesignModule 08: Responsive Web Design
Module 08: Responsive Web Design
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Universal apps lightning talk
Universal apps lightning talk Universal apps lightning talk
Universal apps lightning talk
 
HTML5 for mobile - DiGi Challenge for Change
HTML5 for mobile - DiGi Challenge for ChangeHTML5 for mobile - DiGi Challenge for Change
HTML5 for mobile - DiGi Challenge for Change
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile app
 
GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)
 
Mobile web apps here and now!
Mobile web apps here and now!Mobile web apps here and now!
Mobile web apps here and now!
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 

Single Page Web Apps

  • 1. Single Page Web Apps Get your buzzword-bingo sheets out :P Jan Monschke Eray Basar
  • 2. #!/bio !   Jan Monschke ! Coffeescript / brunch / CouchApps / Brunch-Colors ! @thedeftone / http://github.com/janmonschke ! Eray Basar ! @toshiyori ! @9elements : @imgly, @watchlaterapp
  • 3. #!/index !   The big picture ! What the #! is a Single Page Web App? ! Why would I do that? ! Why wouldn‘t I do that? ! What tools are there?
  • 4. The big picture: Apple‘s ecosystem
  • 5. Is the web the saviour? f JavaScript CSS3 4 HTML5 4 f REST
  • 6. Is the web the saviour? ! From a developer‘s perspective ! Solve distribution ! Get low tech API access (Device API) ! From a users‘s perspective ! Harmonize UI concepts / overall UX !   Web apps have to feel more native
  • 7. Web Apps have to feel more native !   Desktop- and Web-Experience converge! http://www.yuiblog.com/blog/2009/10/13/video-neuberg-html5/
  • 8. Desktop- and Web-Experience converge ! Then: !   Flash ! Now: !   JavaScript !   AJAX !   JavaScript is everywhere (Frontend, Backend, DB) !   Single Page Web Apps
  • 9. #!/what ! http://twitter.com/ / http://facebook.com ! Your whole app exists on a single page ! No complete reload of the DOM ! Only parts of your page change !   In-App URLs: mydomain.tld/#!/test ! bookmarkable !   client-side routing
  • 10. #!/why !   Server doesn‘t need to render complete layouts ! Less CPU time needed for each request !   Server is able to handle more requests ! No huge HTML files are transported ! Less data à less time for transport à Good for UX and Backend ! Especially good for devices that are connected to mobile networks
  • 11. #!/why/2 ! Transitions between states !   Immediate Feedback and Interaction Response !   Elegant way to lead the user through complex processes !   Web is not silent ! Reintroduction of music experience through-out the Web !   Separate information flows are not interrupted (chat, music player, file transfers...)
  • 12. #!/why/not ! Existing page with a good pagerank, hundreds of indexed urls ! gawker.com à All links from Google were broken !   Intensive Data ! You shouldn‘t develop a banking page like that ! Inspect Element / See source à Your business logic exposed to the user ! Your page relies on the JavaScript performance of your clients ! bad UX with slow browsers ! Make sure JavaScript is enabled (<noscript/> ftw!)
  • 13. #!/tools ! Backbone.js - http://documentcloud.github.com/backbone/ !   MVC – in JavaScript !   Easy Backend integration ! SammyJS - http://sammyjs.org/ !   brunch - https://github.com/brunch/brunch ! Toolchain for Single Page Web Apps !   Clean project structure à automatic builds ! Buzzword mayhem: CoffeeScript / Backbone.js / Eco / Stylus
  • 14. #!/hosting ! Easily integration into all REST backends ! Rails / AppEngine / you name it !   The missing link for nodejs? ! There‘s no Rails for nodejs (yet) !   Single Page Web Apps + nodejs = Awesomeness
  • 15. #!/thx Any questions? Feel free to contact us via Twitter: @thedeftone @toshiyori