View
5.258
Download
1
Category
Preview:
DESCRIPTION
- 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
Citation preview
Client/Server 3.0 - 6 Ways JavaScript is Revolutionizing the Client/Server Relationship27 NOVEMBER 2012
Wednesday, November 28, 12
@jdcravensgithub.com/jessecravensjessecravens.comhtml5hacks.com
HacksHTML5
Tips & Tools for Creating Interactive Web Applications
Jesse Cravens & Jeff Burtoft
Wednesday, November 28, 12
node.JS HacksSummer 2013
HACKS
Wednesday, November 28, 12
Client/Server 3.0: 6 Ways JavaScript is Revolutionizing the Client/Server Relationship
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
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
5
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
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)
6
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.
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
7
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
8
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
9
Wednesday, November 28, 12
GeoLocation Hacksfrom ‘HTML5 Hacks’
Wednesday, November 28, 12
Device Orientation Hacksfrom ‘HTML5 Hacks Xtra’
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
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)
12
The Client Gets More Powerful.Web Workers API enables background threads in the browser, making heavy computations realistic.
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
13
Wednesday, November 28, 12
Web Workers Hacksfrom ‘HTML5 Hacks’
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
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
15
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
16
Wednesday, November 28, 12
ResponderJSwith Fn-Responsive
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
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
18
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
19
http://marakana.com/s/peter_lubbers_the_html5_connectivity_revolution_devcon5,1170/index.html
HTML5 Connectivity
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
19
http://marakana.com/s/peter_lubbers_the_html5_connectivity_revolution_devcon5,1170/index.html
HTML5 Connectivity
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
20
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
21
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
22
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
6 Ways JavaScript is Revolutionizing the Client/Server Relationship
23
Wednesday, November 28, 12
RobodeckSocket.io Driven Collaborative Presentations
Wednesday, November 28, 12
node-spdyHello World
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
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
26
Node.js has enabled the same language, single runtime. But, the paradigms are still quite different. Next steps are shared APIs.
Wednesday, November 28, 12
Node Streamsfrom NodeJSHacks
Wednesday, November 28, 12
5 OCT 2012DEVCON5 HTML5 Summit
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
28
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.
Wednesday, November 28, 12
Embedded NodeJSfrom NodeJSHacks
Wednesday, November 28, 12
Image APIDragDrop, XHR2 FormData, Express Restful Services
Wednesday, November 28, 12
© 2012 frog. All rights reserved.
Wednesday, November 28, 12
Recommended