SlideShare a Scribd company logo
1 of 32
Download to read offline
Client/Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/
      Server Relationship
      27 NOVEMBER 2012




Wednesday, November 28, 12
Jesse Cravens & Jeff Burtoft



                                       HTML5
                                       Hacks
                                       Tips & Tools for Creating
                                       Interactive Web Applications




             @jdcravens
             github.com/jessecravens
             jessecravens.com
             html5hacks.com




Wednesday, November 28, 12
HACKS




                             node.JS Hacks
                             Summer 2013




Wednesday, November 28, 12
Client/Server 3.0:           6 Ways JavaScript is Revolutionizing the
       Client/Server Relationship




Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      6 ways JavaScript is Revolutionizing the
                      Client/Server Relationship

                      • Device Access Within the Browser
                      • Client Side Processing w/ Background Threads
                      • Device Detection and Descriptors / Adaptive Frameworks
                      • HTML5 Connectivity Revolution and HTTP 2.0
                      • Single Runtime, Shared Syntax
                      • Embedded JavaScript




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   5



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      #1 Device Access within the Browser

                      • Adobe Cordova (phoneGap)
                      • Device API is now defunct.
                      • getUserMedia/Stream API (no native IE support ... yet?)
                      • GeoLocation API broad support (except IE8)
                      • Device Orientation, Device Motion, (poorly supported /
                         hacky)


                      The Client Gets Smarter.
                      JavaScript Device APIs continue to evolve, allowing more access to
                      device hardware, services and applications such as the camera,
                      microphone, system sensors, native address books, calendars and
                      native messaging applications.


                      DEVCON5 HTML5 Summit                                  5 OCT 2012     6



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   7



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   8



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   9



Wednesday, November 28, 12
GeoLocation Hacks
       from ‘HTML5 Hacks’




Wednesday, November 28, 12
Device Orientation Hacks
       from ‘HTML5 Hacks Xtra’




Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      #2: Client-Side Background Threads


                      • Browser runs a single threaded, event loop
                         • Dedicated Web Workers
                         • Shared Web Workers
                      • Async Programming Models, Reactionary Systems
                      • Interpreters are Maturing (V8)


                      The Client Gets More Powerful.
                      Web Workers API enables background threads in the browser,
                      making heavy computations realistic.




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   12



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   13



Wednesday, November 28, 12
Web Workers Hacks
       from ‘HTML5 Hacks’




Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      #3: Device Detection and Adaptive/
                      Responsive Frameworks

                      • CSS3 Media Queries
                      • Responsive Grids
                      • Modernizr
                      • Polyfill Support - Cross Platform Compliance
                      • Adaptive Frameworks (UA Sniffing - Maps to Templates)
                      • State of DDRs (Device Description Repositories)
                         • W3C Device Description Working Group (DDWG) (closed 2008)
                         • WURFL (commercial Oct 2011)
                         • OpenDDR - based on W3C's DDR Simple API, .NET, Java
                         • Device Atlas



                      DEVCON5 HTML5 Summit                                  5 OCT 2012   15



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   16



Wednesday, November 28, 12
ResponderJS
       with Fn-Responsive




Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      #4: HTML5 Connectivty Revolution and
                      HTTP 2.0

                      • Web Sockets API
                      • XHR2
                      • Event Source and Server Sent Events
                      • SPDY
                      • CORS




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   18



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




            HTML5 Connectivity




                                                  http://marakana.com/s/peter_lubbers_the_html5_connectivity_revolution_devcon5,1170/index.html


                      DEVCON5 HTML5 Summit                                                                   5 OCT 2012                      19



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




            HTML5 Connectivity




                                                  http://marakana.com/s/peter_lubbers_the_html5_connectivity_revolution_devcon5,1170/index.html


                      DEVCON5 HTML5 Summit                                                                   5 OCT 2012                      19



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   20



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   21



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   22



Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      DEVCON5 HTML5 Summit                                  5 OCT 2012   23



Wednesday, November 28, 12
Robodeck
       Socket.io Driven Collaborative Presentations




Wednesday, November 28, 12
node-spdy
       Hello World




Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      #5: Single Language, Shared Syntax
                      • Node Streams - IO as it should be
                         • Linux Pipes
                         • Modular
                         • Different Types of Streams
                      • Browserify - Build tool to Normalize APIs between Client/
                         Server
                         • node-browserify - adds require()
                         • http-browserify - adds http()
                      • DomNode - wrap common I/O bound APIs in node style
                         stream
                      • Browser-stream - open pipable streams to and from the
                         browser, with Socket.io

                    Node.js has enabled the same language, single runtime. But,
                    the paradigms are still quite different. Next steps are shared
                    APIs.
                      DEVCON5 HTML5 Summit                                  5 OCT 2012   26



Wednesday, November 28, 12
Node Streams
       from NodeJSHacks




Wednesday, November 28, 12
6 Ways JavaScript is Revolutionizing the Client/Server Relationship




                      #6 Embedded JavaScript
                      • more and more JavaScript Ubiquity
                      • JavaScript Arduino Wrappers
                         • Noduino
                         • Johnny Five
                      • Server moves to the Client
                         • Beaglebone (Angstrom Linux)
                         • Bonescript
                      • Mongoose ORM
                         • Mongo JavaScript CLI
                      • node-ar-drone
                    There is a barrier of entry to learning SQL, C and C++, and
                    Linux. JavaScript is opening new worlds for Developers.

                    Not to mention, the server is now on the client.
                      DEVCON5 HTML5 Summit                                  5 OCT 2012   28



Wednesday, November 28, 12
Embedded NodeJS
       from NodeJSHacks




Wednesday, November 28, 12
Image API
       DragDrop, XHR2 FormData, Express Restful
       Services



Wednesday, November 28, 12
© 2012 frog. All rights reserved.


Wednesday, November 28, 12

More Related Content

What's hot

CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton Araf Karsh Hamid
 
Refactor your Java EE application using Microservices and Containers - Arun G...
Refactor your Java EE application using Microservices and Containers - Arun G...Refactor your Java EE application using Microservices and Containers - Arun G...
Refactor your Java EE application using Microservices and Containers - Arun G...Codemotion
 
Cloud Foundry OpenTour Kiev Keynote
Cloud Foundry OpenTour Kiev KeynoteCloud Foundry OpenTour Kiev Keynote
Cloud Foundry OpenTour Kiev KeynotePatrick Chanezon
 
Module 3: Working with the DOM and jQuery
Module 3: Working with the DOM and jQueryModule 3: Working with the DOM and jQuery
Module 3: Working with the DOM and jQueryDaniel McGhan
 
Plastic SCM : Version Control for Game and,VR/AR/MR/3D Development
Plastic SCM : Version Control for Game and,VR/AR/MR/3D DevelopmentPlastic SCM : Version Control for Game and,VR/AR/MR/3D Development
Plastic SCM : Version Control for Game and,VR/AR/MR/3D DevelopmentKiko Monteverde
 
Going MicroServices with Net
Going MicroServices with NetGoing MicroServices with Net
Going MicroServices with NetDavid Revoledo
 
Demystify LDAP and OIDC Providing Security to Your App on Kubernetes
Demystify LDAP and OIDC Providing Security to Your App on KubernetesDemystify LDAP and OIDC Providing Security to Your App on Kubernetes
Demystify LDAP and OIDC Providing Security to Your App on KubernetesVMware Tanzu
 
QlikView licensing and pricing guidelines 2012
QlikView licensing and pricing guidelines 2012QlikView licensing and pricing guidelines 2012
QlikView licensing and pricing guidelines 2012Alexandre Perrot
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Demi Ben-Ari
 
From a monolith to microservices + REST: The evolution of LinkedIn's architec...
From a monolith to microservices + REST: The evolution of LinkedIn's architec...From a monolith to microservices + REST: The evolution of LinkedIn's architec...
From a monolith to microservices + REST: The evolution of LinkedIn's architec...Karan Parikh
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
 
Web Tools for GemStone/S
Web Tools for GemStone/SWeb Tools for GemStone/S
Web Tools for GemStone/SESUG
 
Oracle Blockchain Cloud Service
Oracle Blockchain Cloud ServiceOracle Blockchain Cloud Service
Oracle Blockchain Cloud ServiceMonte Kluemper
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyESUG
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907NodejsFoundation
 

What's hot (20)

CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton CI-CD Jenkins, GitHub Actions, Tekton
CI-CD Jenkins, GitHub Actions, Tekton
 
Himanshu_Resume
Himanshu_ResumeHimanshu_Resume
Himanshu_Resume
 
Refactor your Java EE application using Microservices and Containers - Arun G...
Refactor your Java EE application using Microservices and Containers - Arun G...Refactor your Java EE application using Microservices and Containers - Arun G...
Refactor your Java EE application using Microservices and Containers - Arun G...
 
HTML5, are we there yet?
HTML5, are we there yet?HTML5, are we there yet?
HTML5, are we there yet?
 
Cloud Foundry OpenTour Kiev Keynote
Cloud Foundry OpenTour Kiev KeynoteCloud Foundry OpenTour Kiev Keynote
Cloud Foundry OpenTour Kiev Keynote
 
Module 3: Working with the DOM and jQuery
Module 3: Working with the DOM and jQueryModule 3: Working with the DOM and jQuery
Module 3: Working with the DOM and jQuery
 
IE issues with AJAX Apps
IE issues with AJAX AppsIE issues with AJAX Apps
IE issues with AJAX Apps
 
Plastic SCM : Version Control for Game and,VR/AR/MR/3D Development
Plastic SCM : Version Control for Game and,VR/AR/MR/3D DevelopmentPlastic SCM : Version Control for Game and,VR/AR/MR/3D Development
Plastic SCM : Version Control for Game and,VR/AR/MR/3D Development
 
Going MicroServices with Net
Going MicroServices with NetGoing MicroServices with Net
Going MicroServices with Net
 
Demystify LDAP and OIDC Providing Security to Your App on Kubernetes
Demystify LDAP and OIDC Providing Security to Your App on KubernetesDemystify LDAP and OIDC Providing Security to Your App on Kubernetes
Demystify LDAP and OIDC Providing Security to Your App on Kubernetes
 
QlikView licensing and pricing guidelines 2012
QlikView licensing and pricing guidelines 2012QlikView licensing and pricing guidelines 2012
QlikView licensing and pricing guidelines 2012
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
 
From a monolith to microservices + REST: The evolution of LinkedIn's architec...
From a monolith to microservices + REST: The evolution of LinkedIn's architec...From a monolith to microservices + REST: The evolution of LinkedIn's architec...
From a monolith to microservices + REST: The evolution of LinkedIn's architec...
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
 
Web Tools for GemStone/S
Web Tools for GemStone/SWeb Tools for GemStone/S
Web Tools for GemStone/S
 
SOA on Steroids
SOA on SteroidsSOA on Steroids
SOA on Steroids
 
Oracle Blockchain Cloud Service
Oracle Blockchain Cloud ServiceOracle Blockchain Cloud Service
Oracle Blockchain Cloud Service
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk AdvocacyCincom Smalltalk: Present, Future & Smalltalk Advocacy
Cincom Smalltalk: Present, Future & Smalltalk Advocacy
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
 

Viewers also liked

Ul Week 12
Ul Week 12Ul Week 12
Ul Week 12hcurtis5
 
It’s Cool, Nobody Else Knows What They're Doing Either
It’s Cool, Nobody Else Knows What They're Doing EitherIt’s Cool, Nobody Else Knows What They're Doing Either
It’s Cool, Nobody Else Knows What They're Doing EitherJared Faris
 
Final everyone-needs-a-dumb-guy-moody
Final everyone-needs-a-dumb-guy-moodyFinal everyone-needs-a-dumb-guy-moody
Final everyone-needs-a-dumb-guy-moodyIgnite Raleigh
 
Building Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript SpaghettiBuilding Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript SpaghettiJared Faris
 
JavaScript Hacks for Hipsters
JavaScript Hacks for HipstersJavaScript Hacks for Hipsters
JavaScript Hacks for HipstersTal Bereznitskey
 

Viewers also liked (6)

Ul Week 12
Ul Week 12Ul Week 12
Ul Week 12
 
It’s Cool, Nobody Else Knows What They're Doing Either
It’s Cool, Nobody Else Knows What They're Doing EitherIt’s Cool, Nobody Else Knows What They're Doing Either
It’s Cool, Nobody Else Knows What They're Doing Either
 
Final everyone-needs-a-dumb-guy-moody
Final everyone-needs-a-dumb-guy-moodyFinal everyone-needs-a-dumb-guy-moody
Final everyone-needs-a-dumb-guy-moody
 
Activities
ActivitiesActivities
Activities
 
Building Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript SpaghettiBuilding Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript Spaghetti
 
JavaScript Hacks for Hipsters
JavaScript Hacks for HipstersJavaScript Hacks for Hipsters
JavaScript Hacks for Hipsters
 

Similar to Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Relationship

Rapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsRapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsJesse Cravens
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesRyan Koop
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloudCamp Chicago
 
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web ApplicationReact Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web Applicationadityakumar2080
 
Javascript Client & Server Architectures
Javascript Client & Server ArchitecturesJavascript Client & Server Architectures
Javascript Client & Server ArchitecturesPedro Melo Pereira
 
Top 10 Web and HTML5 Predictions for 2013
Top 10 Web and HTML5 Predictions for 2013Top 10 Web and HTML5 Predictions for 2013
Top 10 Web and HTML5 Predictions for 2013Jonathan Jeon
 
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012Patrick Chanezon
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on RailsViridians
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptmartinlippert
 
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationDrupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationDrupalcampAtlanta2012
 
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationDrupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationAppnovation Technologies
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & designMark Swarbrick
 
React js vs react native a comparative analysis
React js vs react native a comparative analysisReact js vs react native a comparative analysis
React js vs react native a comparative analysisShelly Megan
 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket IntroductionMarcelo Jabali
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?TechMagic
 
From Rails legacy to DDD - Pivorak, Lviv
From Rails legacy to DDD - Pivorak, LvivFrom Rails legacy to DDD - Pivorak, Lviv
From Rails legacy to DDD - Pivorak, LvivAndrzej Krzywda
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptmartinlippert
 

Similar to Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Relationship (20)

Rapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.jsRapid Prototyping HTML5 Applications with Node.js
Rapid Prototyping HTML5 Applications with Node.js
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 Slides
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentations
 
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web ApplicationReact Js vs Node Js_ Which Framework to Choose for Your Next Web Application
React Js vs Node Js_ Which Framework to Choose for Your Next Web Application
 
Javascript Client & Server Architectures
Javascript Client & Server ArchitecturesJavascript Client & Server Architectures
Javascript Client & Server Architectures
 
Top 10 Web and HTML5 Predictions for 2013
Top 10 Web and HTML5 Predictions for 2013Top 10 Web and HTML5 Predictions for 2013
Top 10 Web and HTML5 Predictions for 2013
 
Cloud foundry and openstackcloud
Cloud foundry and openstackcloudCloud foundry and openstackcloud
Cloud foundry and openstackcloud
 
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
Cloud Foundry, the Open Platform as a Service - Oscon - July 2012
 
How backbone.js is different from ember.js?
How backbone.js is different from ember.js?How backbone.js is different from ember.js?
How backbone.js is different from ember.js?
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Modern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScriptModern Architectures with Spring and JavaScript
Modern Architectures with Spring and JavaScript
 
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationDrupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
 
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet ApplicationDrupal + HTML5 + CSS3 + JS = Rich Internet Application
Drupal + HTML5 + CSS3 + JS = Rich Internet Application
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
React js vs react native a comparative analysis
React js vs react native a comparative analysisReact js vs react native a comparative analysis
React js vs react native a comparative analysis
 
HTML5 WebSocket Introduction
HTML5 WebSocket IntroductionHTML5 WebSocket Introduction
HTML5 WebSocket Introduction
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?
 
From Rails legacy to DDD - Pivorak, Lviv
From Rails legacy to DDD - Pivorak, LvivFrom Rails legacy to DDD - Pivorak, Lviv
From Rails legacy to DDD - Pivorak, Lviv
 
JAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScriptJAX 2012: Moderne Architektur mit Spring und JavaScript
JAX 2012: Moderne Architektur mit Spring und JavaScript
 
React Tech Salon
React Tech SalonReact Tech Salon
React Tech Salon
 

Recently uploaded

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

Client Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Relationship

  • 1. Client/Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/ Server Relationship 27 NOVEMBER 2012 Wednesday, November 28, 12
  • 2. Jesse Cravens & Jeff Burtoft HTML5 Hacks Tips & Tools for Creating Interactive Web Applications @jdcravens github.com/jessecravens jessecravens.com html5hacks.com Wednesday, November 28, 12
  • 3. HACKS node.JS Hacks Summer 2013 Wednesday, November 28, 12
  • 4. Client/Server 3.0: 6 Ways JavaScript is Revolutionizing the Client/Server Relationship Wednesday, November 28, 12
  • 5. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship 6 ways JavaScript is Revolutionizing the Client/Server Relationship • Device Access Within the Browser • Client Side Processing w/ Background Threads • Device Detection and Descriptors / Adaptive Frameworks • HTML5 Connectivity Revolution and HTTP 2.0 • Single Runtime, Shared Syntax • Embedded JavaScript DEVCON5 HTML5 Summit 5 OCT 2012 5 Wednesday, November 28, 12
  • 6. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship #1 Device Access within the Browser • Adobe Cordova (phoneGap) • Device API is now defunct. • getUserMedia/Stream API (no native IE support ... yet?) • GeoLocation API broad support (except IE8) • Device Orientation, Device Motion, (poorly supported / hacky) The Client Gets Smarter. JavaScript Device APIs continue to evolve, allowing more access to device hardware, services and applications such as the camera, microphone, system sensors, native address books, calendars and native messaging applications. DEVCON5 HTML5 Summit 5 OCT 2012 6 Wednesday, November 28, 12
  • 7. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 7 Wednesday, November 28, 12
  • 8. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 8 Wednesday, November 28, 12
  • 9. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 9 Wednesday, November 28, 12
  • 10. GeoLocation Hacks from ‘HTML5 Hacks’ Wednesday, November 28, 12
  • 11. Device Orientation Hacks from ‘HTML5 Hacks Xtra’ Wednesday, November 28, 12
  • 12. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship #2: Client-Side Background Threads • Browser runs a single threaded, event loop • Dedicated Web Workers • Shared Web Workers • Async Programming Models, Reactionary Systems • Interpreters are Maturing (V8) The Client Gets More Powerful. Web Workers API enables background threads in the browser, making heavy computations realistic. DEVCON5 HTML5 Summit 5 OCT 2012 12 Wednesday, November 28, 12
  • 13. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 13 Wednesday, November 28, 12
  • 14. Web Workers Hacks from ‘HTML5 Hacks’ Wednesday, November 28, 12
  • 15. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship #3: Device Detection and Adaptive/ Responsive Frameworks • CSS3 Media Queries • Responsive Grids • Modernizr • Polyfill Support - Cross Platform Compliance • Adaptive Frameworks (UA Sniffing - Maps to Templates) • State of DDRs (Device Description Repositories) • W3C Device Description Working Group (DDWG) (closed 2008) • WURFL (commercial Oct 2011) • OpenDDR - based on W3C's DDR Simple API, .NET, Java • Device Atlas DEVCON5 HTML5 Summit 5 OCT 2012 15 Wednesday, November 28, 12
  • 16. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 16 Wednesday, November 28, 12
  • 17. ResponderJS with Fn-Responsive Wednesday, November 28, 12
  • 18. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship #4: HTML5 Connectivty Revolution and HTTP 2.0 • Web Sockets API • XHR2 • Event Source and Server Sent Events • SPDY • CORS DEVCON5 HTML5 Summit 5 OCT 2012 18 Wednesday, November 28, 12
  • 19. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship HTML5 Connectivity http://marakana.com/s/peter_lubbers_the_html5_connectivity_revolution_devcon5,1170/index.html DEVCON5 HTML5 Summit 5 OCT 2012 19 Wednesday, November 28, 12
  • 20. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship HTML5 Connectivity http://marakana.com/s/peter_lubbers_the_html5_connectivity_revolution_devcon5,1170/index.html DEVCON5 HTML5 Summit 5 OCT 2012 19 Wednesday, November 28, 12
  • 21. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 20 Wednesday, November 28, 12
  • 22. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 21 Wednesday, November 28, 12
  • 23. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 22 Wednesday, November 28, 12
  • 24. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship DEVCON5 HTML5 Summit 5 OCT 2012 23 Wednesday, November 28, 12
  • 25. Robodeck Socket.io Driven Collaborative Presentations Wednesday, November 28, 12
  • 26. node-spdy Hello World Wednesday, November 28, 12
  • 27. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship #5: Single Language, Shared Syntax • Node Streams - IO as it should be • Linux Pipes • Modular • Different Types of Streams • Browserify - Build tool to Normalize APIs between Client/ Server • node-browserify - adds require() • http-browserify - adds http() • DomNode - wrap common I/O bound APIs in node style stream • Browser-stream - open pipable streams to and from the browser, with Socket.io Node.js has enabled the same language, single runtime. But, the paradigms are still quite different. Next steps are shared APIs. DEVCON5 HTML5 Summit 5 OCT 2012 26 Wednesday, November 28, 12
  • 28. Node Streams from NodeJSHacks Wednesday, November 28, 12
  • 29. 6 Ways JavaScript is Revolutionizing the Client/Server Relationship #6 Embedded JavaScript • more and more JavaScript Ubiquity • JavaScript Arduino Wrappers • Noduino • Johnny Five • Server moves to the Client • Beaglebone (Angstrom Linux) • Bonescript • Mongoose ORM • Mongo JavaScript CLI • node-ar-drone There is a barrier of entry to learning SQL, C and C++, and Linux. JavaScript is opening new worlds for Developers. Not to mention, the server is now on the client. DEVCON5 HTML5 Summit 5 OCT 2012 28 Wednesday, November 28, 12
  • 30. Embedded NodeJS from NodeJSHacks Wednesday, November 28, 12
  • 31. Image API DragDrop, XHR2 FormData, Express Restful Services Wednesday, November 28, 12
  • 32. © 2012 frog. All rights reserved. Wednesday, November 28, 12