SlideShare a Scribd company logo
End-to-end
  W3C APIs
   By Alexandre Morgaut
JS.everywhere(2012) Europe
Presentation
•   Wakanda Community manager

•   W3C AC member

•   Web Architect

•   JS Expert, REST Lover, NoSQL Fanboy

•   W3C “jseverywhere“ community group


                    @amorgaut
Agenda
• The World Wide Web
• The Standards
• Server-Side JavaScript
• Web Applications
• Now & Tomorrow
The World Wide Web

Recommended for you

Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)

The document discusses the history and features of HTML5 and how it can be integrated with JavaFX. It provides examples of displaying HTML content in JavaFX using different approaches like the WebView, JavaFX builders, GroovyFX, ScalaFX and Visage. It also describes how to call JavaScript from JavaFX and respond to browser events.

javafxgroovyfxhtml5
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"

Ember.js is being adopted more and more broadly as time passes, and is an excellent choice for highly complex data-driven UIs. With the recent release of the "2.0" version of the framework, things are faster, smarter, and easier than ever. With a focus on productivity and reducing the number of trivial decisions developers must make while building an app, it's astonishing how quickly one can get up and running, and how well the abstractions hold up as the codebase scales in size and complexity. I'd like to give a general overview of Ember, and pause to reflect on some important differences that may be important when considering what the best tool is for your project.

emberconferencejavascript
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)

Large-scale Javascript applications benefit from a modular approach that let code be reused both within the application and across repeated implementations. In this session, we'll look at the modular approach used to build reusable Javascript modules in the Red Hat mobile field workforce management application (WFM) showcased in this year's Summit middleware keynote demo. Reusable modules for WFM are packaged as node package manager (npm) modules, providing a consistent format for both server and client sides using Node.js and Browserify. Modules are loosely coupled using the Mediator pattern and they broadcast user actions and state changes giving the application and other modules the opportunity to hook into those events. Additionally, visual components are packaged in a framework-agnostic manner, providing reusable UI components. You'll leave this session understanding the challenges faced when building reusable modules for large-scale applications, and the solutions employed in building out the reusable WFM modules.

The Web
• WWW: WorldWideWeb
  (aka “Hypertext Project”)

 • UDI: Uniform Document Identifier
 • HTML: Hypertext Markup Language
 • HTTP: Hypertext Transfer Protocol
• created in 1989 by Tim Berners-Lee
REST
• Representational State Transfer
 • Client-Server
 • Stateless, Cache, Uniform Interface
 • Layered System
 • Code on Demand: JavaScript
• defined in 2000 by Roy Thomas Fielding
Web Standards
W3C
• Created at the MIT in 1994
• Led by Tim Berners-Lee and Dr. Jeffrey Jaffe
• Joint agreement among three "Host Institutions"
 • MIT, ERCIM, Keio University
• Working Groups
 • HTML, MathML, RDF, SVG, CSS, Audio, Device...

Recommended for you

Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?

Whar are microservices and microservices architecture (MSA) How we reach them? Are they the same or SoA or not? When to use them? What are the key characteristics? Slides of my talk given in #Gapand2017 in Andorra

soa12-factor-appsmicroservices
How You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionHow You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in Production

Dave Sugden and Katrin Shechtman of BoldRadius presented this talk at Scala By The Bay 2015. The talk will present fully functional sample application developed with Scala.js, scalatags, scalacss and other Scala and Typesafe technologies. We aim to show all the pros and cons for having Scala coast-to-coast approach to web-application development and encourage people not to shy away from asking difficult questions challenging this approach. Participants can expect to gain a clear view on the current state of the Scala based client side technologies and take away an activator template with application code that could be used as a base for technical discussions with their peers and managers.

typesafe stackjavascala
Mean stack
Mean stackMean stack
Mean stack

The document provides an overview of the MEAN stack, which is a full-stack JavaScript framework that simplifies and accelerates web application development using MongoDB, Express, AngularJS, and Node.js. It discusses each component of the MEAN stack in detail, including their features and advantages. The key advantages are that MEAN allows for fast development of robust and maintainable web applications using a single programming language across both front-end and back-end. However, MongoDB is not as robust as an SQL database and JavaScript lacks coding guidelines.

IANA
• Internet Assigned Numbers Authority
• created by Jon Postel and Joyce K. Reynolds
• department of ICANN Names and Numbers)
  (Internet Corporation for Assigned

• manages
 • Domain Names, IP Addresses, Protocol registries
• MIME Media Types
 • application, text, image, multipart...
IETF

• Internet Engineering Task Force
• organized activity of the Internet Society (ISOC)
• cooperates with W3C & ISO/IEC
• manages the RFCs (Request For Comments)
 • DNS, FTP, HTTP, SMTP, Zlib, Cookie, Atom
ECMA
•   European Computer Manufacturers Association

•   Standards
    •   CD-ROM, ECMAScript, C#, Office Open XML File Formats

•   JavaScript

    •   ECMA-262 aka ECMAScript aka ISO/IEC 16262

    •   TC39-TG1 managed by Mr. J. Neumann

    •   E4X: ECMAScript for XML

    •   ECMAScript Internationalization API

    •   Test262

                             http://wiki.ecmascript.org
WaSP
•   Web Standards Project

•   founded in 1998 by Georges Olsen, Glenn Davis, & Jeffrey Zeldman

•   convinced in 2001
    Microsoft, Netscape, Opera & other browsers to support
    HTML 4.01, XHTML 1.0, CSS1, and ECMAScript

•   AcidTests (by Ian Hickson)

    •   1: HTML 4 & CSS 1

    •   2: CSS 1 & CSS 2

    •   3: HTML 4, XHTML 1.0, CSS 2.1, DOM 2, ECMAScript 3.1

        •   Today last versions of all major Browsers 100% compliant

Recommended for you

The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page Applications

The story of all the pitfalls we had while transferring FTBpro.com from the good old web to a Backbone single page application... and all the great solutions we've came up with

ruby on railsjavascript
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting started

This document provides an overview of the Google Web Toolkit (GWT), including why it was created, its advantages and disadvantages, and how to install, set up, and test GWT projects. GWT allows developers to write client-side code in Java that is compiled into optimized JavaScript, enabling complex Java code to run in browsers. It aims to solve issues with traditional AJAX development by eliminating JavaScript errors and allowing code reuse between the client and server. The document discusses GWT's installation process, creating and testing projects in development and production modes, and deploying projects to application servers.

gwtgoogle web tool kitgoogle
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack

The document discusses the MEAN stack, which is a full-stack JavaScript platform for building modern web applications. It is composed of MongoDB (M) as the database, Express.js (E) as the backend framework, AngularJS (A) as the frontend framework, and Node.js (N) as the runtime environment. The document provides descriptions of each component, why the MEAN stack is useful, how to deploy a MEAN application to Heroku cloud, and some tips on getting started and potential limitations.

WHATWG
•   Web Hypertext Application Technology Working Group

•   founded in 2004 by individuals from Apple, the Mozilla & Opera

•   Led by Ian Hickson

•   Created to work on
    HTML5 based on Web Apps 1.0 + Web Forms 2.0 while the W3C
    choose to concentrate on XHTML

•   HTML being a living standard (no more versions)

•   Proposed

    •   Web Workers, Web Storage, Web Sockets, ...

•   New W3C working group created in 2007 to work on HTML5

•   WHATWG & W3C editions of HTML5 can have some differences
CommonJS
•   created in 2009 by Kevin Dangoor as ServerJS on Mozilla Wiki

    •   standards for JavaScript on the server

    •   Narwhal, Helma NG, v8CGI, GPSEE, chiron, Persevere

•   Renamed CommonJS

    •   command line tools, desktop, addon, or browser implementations

    •   joined by CouchDB, Wakanda, Sproutcore, node.js, RequireJS...

•   Modules, Packages, and Promises

•   Binary, FileSystem, System, I/O stream, Socket I/O

•   Browser like APIs: worker, console, HTTP client
Server-Side JavaScript
Engines
• Mozilla SpiderMonkey
• Mozilla Rhino
• Webkit JavaScriptCore
• Google V8
• Microsoft Chakra
• Opera Carakan

Recommended for you

Micronaut Deep Dive - Codeone 2019
Micronaut Deep Dive - Codeone 2019Micronaut Deep Dive - Codeone 2019
Micronaut Deep Dive - Codeone 2019

This document discusses Micronaut, an application framework for building microservices and serverless applications. It provides 10 things that can be done with Micronaut, including building microservices, serverless applications, CLI apps, and native images with GraalVM. Micronaut aims to be reflection-free and runtime proxy-free for improved performance, supporting ahead-of-time compilation. It allows for dependency injection, HTTP clients, messaging with Kafka, JDBC access, metrics, tracing, and OpenAPI documentation.

micronautjavamicroservices
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture

This document provides an overview of the typical components and architecture of a modern Node.js application, including web and application servers, a queue, worker servers, databases, caches, and how to monitor transactions as they flow through the distributed system. It also describes how to configure AppDynamics to monitor errors, transactions, hardware resources, calls to external services and databases, and end user experience for Node.js applications.

node.jsapplication monitoringnode.js architecture
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDD

This document provides an overview of the Play 2 Java framework, including: - A brief introduction to Play and how it allows building web apps with Java and Scala in a lightweight, scalable way based on Akka - A live coding demo showing building a basic app that retrieves user data from GitHub's API - Discussion of deploying the demo app to Heroku cloud platform - Recommendation to ask further questions later via email

play-framework javatdd
Standards

• ECMAScript

• CommonJS
Servers
• Microsoft IIS
• Persevere
• Jaxer
• node.js
• Wakanda
• RingoJS
• SilkJS
NoSQL Databases
• CouchDB
• MongoDB
• Riak
• WakandaDB
• ArangoDB
• OrientDB
More than 60
Server-Side JavaScript
  implementations

Recommended for you

Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019

3 hour deep dive presentation by Micronaut creator, Graeme Rocher, at Devoxx Belgium 2019 showing how to use advanced features such as Aspect Oriented Programming (AOP), compiler plugins and so on. Associated YouTube video can be found at https://www.youtube.com/watch?v=S5yfTfPeue8

micronautdevoxxdevoxx2019
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...

What's so popular about MEAN stack? And why should you switch to MEAN stack development for your next project? This ppt answers both the questions.

meanmean stackmongo db
Reactjs Introduction - Virtual DOM
Reactjs Introduction - Virtual DOMReactjs Introduction - Virtual DOM
Reactjs Introduction - Virtual DOM

The document discusses React JS and provides an introduction and overview. It defines React as a JavaScript library for building user interfaces that renders UI and responds to events using the virtual DOM. It describes some key features of React including being able to perform on both the client-side and server-side. It also discusses components, JSX syntax, pros and cons of React, and reasons why one may or may not want to use React.

reactjsdomvirtualdom
Web Application “1.0”
HTML5 APIs
• XMLHttpRequest 2    • Web Cryptography
• Blob                • ImageData
• File / FileSystem   • Typed Arrays
• Web SQL             • Storage Quota
• Web Storage         • System Information
• Web Workers         • URL
• Web Sockets         • WebCL
WebCL

“This section proposes mechanisms for
transferring pixel data between WebCL
memory objects and HTML media elements.
Server-side or Web Worker based
implementations of WebCL will not be
required to support these features.”
https://cvs.khronos.org/svn/repos/registry/trunk/public/webcl/spec/latest/index.html#4
Web SQL
“This document was on the W3C
Recommendation track but specification work
has stopped. The specification reached an
impasse: all interested implementors have
used the same SQL backend (Sqlite), but we
need multiple independent implementations
to proceed along a standardisation path.”

            http://www.w3.org/TR/webdatabase/

Recommended for you

Introduction to MERN
Introduction to MERNIntroduction to MERN
Introduction to MERN

This ppt is all about the MERN stack in JavaScript. So, will first discuss: What is Mern, what is MongoDB, expressJS,reactJS and nodeJS. Also, I bit more discussed the Installation process. Getting the MERN stacks will sure increase your web development skills in 2020.

mernjavascriptmongodb
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?

The document provides an overview of the MEAN stack, which is a full-stack JavaScript solution for building web applications. It consists of MongoDB (a NoSQL database), Express (a Node.js web application framework), AngularJS (a client-side framework), and Node.js (a JavaScript runtime). The document discusses each component, how they work together, advantages like using a single programming language throughout and ability to build fast applications, and disadvantages like MongoDB not being as robust as SQL databases. It concludes that MEAN provides a fast, easy way to create modern, responsive dynamic web sites.

mean stackmean stack training
End-to-end W3C APIs
End-to-end W3C APIsEnd-to-end W3C APIs
End-to-end W3C APIs

This document discusses the standardization of JavaScript across client and server environments. It outlines the history and roles of organizations like W3C, IETF, ECMA, and WHATWG in developing web standards. It describes how CommonJS and implementations like Node.js, RingoJS, and SilkJS have standardized JavaScript modules and APIs for servers. Many W3C web APIs can now be used both client-side through workers and server-side, improving code sharing across environments.

whatwgcommonjshtml5
Web SQL
“This document was on the W3C
Recommendation track but specification work
has stopped. The specification reached an
impasse: all interested implementors have
used the same SQL backend (Sqlite), but we
need multiple independent implementations
to proceed along a standardisation path.”

            http://www.w3.org/TR/webdatabase/
Web SQL
“This document was on the W3C
Recommendation track but specification work
has stopped. The specification reached an
impasse: all interested implementors have
used the same SQL backend (Sqlite), but we
need multiple independent implementations
to proceed along a standardisation path.”

            http://www.w3.org/TR/webdatabase/

     Should we define a JSDBC API?
Async & Sync
• XMLHttpRequest(method, url, async)
• FileReaderSync()
• requestFileSystemSync()
• openDatabaseSync()
• indexedDBSync.open()
• localStorage.getItem()
IndexedDB

“The synchronous database API methods
provide a blocking access pattern to IndexedDB
databases. Since they block the calling
thread they are only available from
workers.”
         http://www.w3.org/TR/IndexedDB/#sync-database

Recommended for you

End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012

- Web Worker context compared to SSJS context - Mixte Synchronous / Asynchronous APIs - Making Existing Client-side JS APIs recommendations adaptable to the server context - Defining W3C recommendation for Server-side JavaScript APIs? - Remote debugging for Remote (Server) Workers - Potential common package/module format support (CommonJS, AMD, ECMAScript 6) - DOM Events, ProgressEvent, EventSource, Server Events (EventEmitter?), & Client Events - Feedback on previous work at CommonJS and from some SSJS implementations - Feedback on our experiences in the Wakanda implementation - start the activity of the community group

commonjshtml5server-side javascript
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp

The Apereo OAE Bootcamp offers an introduction into back-end and front-end development for the Apereo OAE project. The back-end development part focuses on learning the different extension points behind the scenes in the service layer of OAE. A back-end component for OAE that exposes a REST API is built from scratch. Back-end development topics include: - Node.js NPM module system - OAE back-end application life-cycle - Data-modelling with Apache Cassandra and writing CQL queries from Node.js - Using the OAE APIs to expose back-end functionality for the web VIA RESTful APIs - Writing back-end unit tests using Grunt and Mocha. If time permits, the following will also be covered: - Integrating with OAE's ElasticSearch query and index functionality - Integrating with OAE's Activity and Notifications functionality - Integration with OAE's Admin Configuration functionality The front-end development part focuses on writing a UI widget using the REST APIs developed in the back-end development part. Front-end development topics include: - Integrating with the OAE Widget loading system - Writing internationalizable templates with TrimPath and the widget i18n and l10n functionality - Interacting with the core OAE UI APIs - Using bootstrap 3 to design responsive UI layouts for your widgets - Writing front-end unit tests using Grunt and CasperJS

open academic environmentdevelopmentapereo
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits

The document discusses various topics related to web development including Java principles, Spring frameworks, PHP, high-load web applications, mobile backend as a service (mBaas), web frameworks, Java web development frameworks like JSF and GWT, rendering on the server-side vs client-side, distribution of work between designers and developers, web browsers and their support for HTML5 and CSS3, programming languages, GUI frameworks, AngularJS, testing tools like JUnit, and build tools like Maven, Ant, and Ivy.

javajeeweb frameworks
Web Workers
• Dedicated or Shared
• No Window, No Document
• WorkerGlobal, WorkerUtils
• WorkerNavigator, WorkerLocation
• postMessage(), onmessage(), onerror()
• importScripts()
Concept

• Server JS contexts == Workers
 • multi-threaded -> Dedicated Workers
 • single threaded EventLoop -> Shared
• Server JS contexts === Remote JS Workers
Now & Tomorrow
RingoJS
• W3C
 • Web Worker
• CommonJS
 • Modules
 • System, fs, binary, IO, Unit Test
• Other: console

Recommended for you

Node and Azure
Node and AzureNode and Azure
Node and Azure

Node.js is a platform for building scalable network applications using JavaScript. It uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, especially for real-time web applications with many simultaneous connections. Node.js applications are written in JavaScript and can be run on Windows, Linux, and macOS. Common uses of Node.js include building web servers, real-time web applications, IoT applications, and microservices. Node.js applications are deployed to cloud platforms like Heroku, Nodejitsu, and Microsoft Azure.

nodejs javascript azure web
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferay

Portal Development with Liferay provides an overview of Liferay portal and its features. Liferay is an open source enterprise portal built on Java technologies that provides out of the box tools like wikis, blogs, and document management. It supports standards like AJAX, portlets, and web services. Developers can use the plugin SDK to rapidly develop and deploy portlets and themes or create a custom extension environment. Liferay has been widely adopted by organizations and supports technologies like caching, clustering, and web services to ensure security and performance at scale.

Node.js
Node.jsNode.js
Node.js

nodejs@shaeljoon.com Assistant: nodejs@mattsimonis.com

node.jsevent basedweb development
SilkJS

• W3C
 • XMLHttpRequest
• CommonJS
 • Modules
node.js
• W3C via modules
 • XMLHttpRequest (node-xmlhttprequest)
 • Web Sockets (node-websocket-client)
 • DOM (node-o3-fastxml), IndexedDB (perstore)
• CommonJS
 • Modules, Packages
• Other: console
Wakanda
• W3C
 • XMLHttpRequest, WindowTimer,
 • Web Storage, Web Worker,
 • File, FileSystem, Blob, ...
• CommonJS
 • Modules, System, Unit Test
• Other: console
Wakanda extensions

• Web Storage
 • sessionStorage + user.storage & storage
• Web Workers
 • Worker & SharedWorker + SystemWorker

Recommended for you

After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN

The LAMP stack is a well know and ubiquitous web development stack, but have you heard of MEAN? It's an up and coming stack that's unified by a single language, JavaScript. Learn the basic components of the MEAN stack as well as practical use case and applications.

wordpressphpnodejs
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013

This document summarizes a presentation about end-to-end HTML5 APIs. It discusses the history of the web and standards including HTTP, HTML, JavaScript, REST, W3C, ECMA, and CommonJS. It then covers using JavaScript on the server with engines like SpiderMonkey, Rhino and V8. HTML5 APIs that can be used both client-side and server-side with JavaScript are presented, including Web Workers, Web Sockets and remote debugging. Finally, implementations of server-side JavaScript like Node.js and Wakanda are compared, and the potential for shared client-server JavaScript APIs through a W3C community group is discussed.

html5server-side javascriptjavascript
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5

- ASP.NET 5 is the next generation of Microsoft's web framework that aims to address limitations of the current ASP.NET stack such as limited hosting possibilities and dependency on IIS. - It features a modular architecture based on OWIN and Katana that decouples the application from the server and allows hosting on non-IIS platforms like Linux. - Key improvements include cross-platform support, a more developer-friendly experience with features like no-compile debugging, and an emphasis on performance and light weight deployment through tools like the K command line.

asp.netowinkatana
Server-Side
JavaScript Context

CommonJS (module.id, require, ...)


Worker (importScripts, WindowTimer, ...)
Summary
•   ECMAScript is already everywhere

•   Modules: CommonJS already standard, AMD, ECMAScript 6

•   Many W3C APIs already applicable server-side

•   Same APIs means
    ➡ better learning curve
    ➡ more shared libraries / modules
    ➡ DRY -> shared Model work Offline
Client and Server JavaScript APIs
     W3C Community Group




http://www.w3.org/community/jseverywhere/

More Related Content

What's hot

Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5
Stephen Chin
 
Spring cloud for microservices architecture
Spring cloud for microservices architectureSpring cloud for microservices architecture
Spring cloud for microservices architecture
Igor Khotin
 
Moving To The Client - JavaFX and HTML5
Moving To The Client - JavaFX and HTML5Moving To The Client - JavaFX and HTML5
Moving To The Client - JavaFX and HTML5
Stephen Chin
 
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Stephen Chin
 
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Fwdays
 
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)
Red Hat Developers
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
Eduard Tomàs
 
How You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionHow You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in Production
BoldRadius Solutions
 
Mean stack
Mean stackMean stack
Mean stack
RavikantGautam8
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page Applications
Dor Kalev
 
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting started
Binh Bui
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
Dotitude
 
Micronaut Deep Dive - Codeone 2019
Micronaut Deep Dive - Codeone 2019Micronaut Deep Dive - Codeone 2019
Micronaut Deep Dive - Codeone 2019
graemerocher
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture
AppDynamics
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDD
Basav Nagur
 
Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019
graemerocher
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
Hariharan Ganesan
 
Reactjs Introduction - Virtual DOM
Reactjs Introduction - Virtual DOMReactjs Introduction - Virtual DOM
Reactjs Introduction - Virtual DOM
Tamir Azrab
 
Introduction to MERN
Introduction to MERNIntroduction to MERN
Introduction to MERN
ShyamMohanKunwar
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
Balajihope
 

What's hot (20)

Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5
 
Spring cloud for microservices architecture
Spring cloud for microservices architectureSpring cloud for microservices architecture
Spring cloud for microservices architecture
 
Moving To The Client - JavaFX and HTML5
Moving To The Client - JavaFX and HTML5Moving To The Client - JavaFX and HTML5
Moving To The Client - JavaFX and HTML5
 
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
Moving to the Client - JavaFX and HTML5 (PowerPoint Version)
 
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
Michael North "Ember.js 2 - Future-friendly ambitious apps, that scale!"
 
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)
Write Powerful Javascript Modules To Make Your Apps DRY (Brian Leathem)
 
Microservices: Yes or not?
Microservices: Yes or not?Microservices: Yes or not?
Microservices: Yes or not?
 
How You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionHow You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in Production
 
Mean stack
Mean stackMean stack
Mean stack
 
The Dark Side of Single Page Applications
The Dark Side of Single Page ApplicationsThe Dark Side of Single Page Applications
The Dark Side of Single Page Applications
 
Gwt overview & getting started
Gwt overview & getting startedGwt overview & getting started
Gwt overview & getting started
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
Micronaut Deep Dive - Codeone 2019
Micronaut Deep Dive - Codeone 2019Micronaut Deep Dive - Codeone 2019
Micronaut Deep Dive - Codeone 2019
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDD
 
Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019Micronaut Deep Dive - Devoxx Belgium 2019
Micronaut Deep Dive - Devoxx Belgium 2019
 
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
MEAN Stack - Introduction & Advantages - Why should you switch to MEAN stack ...
 
Reactjs Introduction - Virtual DOM
Reactjs Introduction - Virtual DOMReactjs Introduction - Virtual DOM
Reactjs Introduction - Virtual DOM
 
Introduction to MERN
Introduction to MERNIntroduction to MERN
Introduction to MERN
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 

Similar to End to-end W3C - JS.everywhere(2012) Europe

End-to-end W3C APIs
End-to-end W3C APIsEnd-to-end W3C APIs
End-to-end W3C APIs
Alexandre Morgaut
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012
Alexandre Morgaut
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
Nicolaas Matthijs
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
Vladislav Bauer
 
Node and Azure
Node and AzureNode and Azure
Node and Azure
Jason Gerard
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferay
daveayan
 
Node.js
Node.jsNode.js
Node.js
Matt Simonis
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
Jeff Fox
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
Alexandre Morgaut
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
mbaric
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
Ryan Cuprak
 
Service stack all the things
Service stack all the thingsService stack all the things
Service stack all the things
cyberzeddk
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJSIntroduction to node.js aka NodeJS
Introduction to node.js aka NodeJS
JITENDRA KUMAR PATEL
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Piergiorgio Lucidi
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
Getting value from IoT, Integration and Data Analytics
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver
tarensi
 
Groovy & Grails eXchange 2012 vert.x presentation
Groovy & Grails eXchange 2012 vert.x presentationGroovy & Grails eXchange 2012 vert.x presentation
Groovy & Grails eXchange 2012 vert.x presentation
Stuart (Pid) Williams
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring Cloud
Daniel Eichten
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
Alexandre Morgaut
 
Mongo and node mongo dc 2011
Mongo and node mongo dc 2011Mongo and node mongo dc 2011
Mongo and node mongo dc 2011
async_io
 

Similar to End to-end W3C - JS.everywhere(2012) Europe (20)

End-to-end W3C APIs
End-to-end W3C APIsEnd-to-end W3C APIs
End-to-end W3C APIs
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Node and Azure
Node and AzureNode and Azure
Node and Azure
 
01/2009 - Portral development with liferay
01/2009 - Portral development with liferay01/2009 - Portral development with liferay
01/2009 - Portral development with liferay
 
Node.js
Node.jsNode.js
Node.js
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
 
End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013End-to-end HTML5 APIs - The Geek Gathering 2013
End-to-end HTML5 APIs - The Geek Gathering 2013
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
Service stack all the things
Service stack all the thingsService stack all the things
Service stack all the things
 
Introduction to node.js aka NodeJS
Introduction to node.js aka NodeJSIntroduction to node.js aka NodeJS
Introduction to node.js aka NodeJS
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European Bank
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver
 
Groovy & Grails eXchange 2012 vert.x presentation
Groovy & Grails eXchange 2012 vert.x presentationGroovy & Grails eXchange 2012 vert.x presentation
Groovy & Grails eXchange 2012 vert.x presentation
 
Microservices with Spring Cloud
Microservices with Spring CloudMicroservices with Spring Cloud
Microservices with Spring Cloud
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
 
Mongo and node mongo dc 2011
Mongo and node mongo dc 2011Mongo and node mongo dc 2011
Mongo and node mongo dc 2011
 

More from Alexandre Morgaut

Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Alexandre Morgaut
 
Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017
Alexandre Morgaut
 
Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012
Alexandre Morgaut
 
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Alexandre Morgaut
 
HTML5 in automotive - web2day 2014
HTML5 in automotive  - web2day 2014HTML5 in automotive  - web2day 2014
HTML5 in automotive - web2day 2014
Alexandre Morgaut
 
JS in SMS - JS.everywhere(2013)
JS in SMS - JS.everywhere(2013)JS in SMS - JS.everywhere(2013)
JS in SMS - JS.everywhere(2013)
Alexandre Morgaut
 
Js in Automotive - JS.everywhere(2013)
Js in Automotive - JS.everywhere(2013)Js in Automotive - JS.everywhere(2013)
Js in Automotive - JS.everywhere(2013)
Alexandre Morgaut
 
NoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyNoSQL and JavaScript: a love story
NoSQL and JavaScript: a love story
Alexandre Morgaut
 
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeWakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Alexandre Morgaut
 
NoSQL and JavaScript: a Love Story
NoSQL and JavaScript: a Love StoryNoSQL and JavaScript: a Love Story
NoSQL and JavaScript: a Love Story
Alexandre Morgaut
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Alexandre Morgaut
 
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Alexandre Morgaut
 
State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012
Alexandre Morgaut
 
Etat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS GeneveEtat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS Geneve
Alexandre Morgaut
 
NantesJS premier meetup - Welcome
NantesJS premier meetup - WelcomeNantesJS premier meetup - Welcome
NantesJS premier meetup - Welcome
Alexandre Morgaut
 
State of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSState of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJS
Alexandre Morgaut
 
State of the art: Server-Side JavaScript - dejeuner fulljs
State of the art: Server-Side JavaScript - dejeuner fulljsState of the art: Server-Side JavaScript - dejeuner fulljs
State of the art: Server-Side JavaScript - dejeuner fulljs
Alexandre Morgaut
 
Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011
Alexandre Morgaut
 
State of the art: Server-side JavaScript - MoscowJS
State of the art: Server-side JavaScript - MoscowJSState of the art: Server-side JavaScript - MoscowJS
State of the art: Server-side JavaScript - MoscowJS
Alexandre Morgaut
 
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
Alexandre Morgaut
 

More from Alexandre Morgaut (20)

Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
Lint, coverage, doc, autocompletion, transpilation, minification... powered b...
 
Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017Past, present, and future of web assembly - Devfest Nantes 2017
Past, present, and future of web assembly - Devfest Nantes 2017
 
Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012
 
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
 
HTML5 in automotive - web2day 2014
HTML5 in automotive  - web2day 2014HTML5 in automotive  - web2day 2014
HTML5 in automotive - web2day 2014
 
JS in SMS - JS.everywhere(2013)
JS in SMS - JS.everywhere(2013)JS in SMS - JS.everywhere(2013)
JS in SMS - JS.everywhere(2013)
 
Js in Automotive - JS.everywhere(2013)
Js in Automotive - JS.everywhere(2013)Js in Automotive - JS.everywhere(2013)
Js in Automotive - JS.everywhere(2013)
 
NoSQL and JavaScript: a love story
NoSQL and JavaScript: a love storyNoSQL and JavaScript: a love story
NoSQL and JavaScript: a love story
 
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) EuropeWakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
Wakanda and the top 5 security risks - JS.everyrwhere(2012) Europe
 
NoSQL and JavaScript: a Love Story
NoSQL and JavaScript: a Love StoryNoSQL and JavaScript: a Love Story
NoSQL and JavaScript: a Love Story
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
 
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
 
State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012State of the art - server side JavaScript - web-5 2012
State of the art - server side JavaScript - web-5 2012
 
Etat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS GeneveEtat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS Geneve
 
NantesJS premier meetup - Welcome
NantesJS premier meetup - WelcomeNantesJS premier meetup - Welcome
NantesJS premier meetup - Welcome
 
State of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJSState of the art: server-side javaScript - NantesJS
State of the art: server-side javaScript - NantesJS
 
State of the art: Server-Side JavaScript - dejeuner fulljs
State of the art: Server-Side JavaScript - dejeuner fulljsState of the art: Server-Side JavaScript - dejeuner fulljs
State of the art: Server-Side JavaScript - dejeuner fulljs
 
Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011Wakanda NoSQL Object Datastore - MoscowJS 2011
Wakanda NoSQL Object Datastore - MoscowJS 2011
 
State of the art: Server-side JavaScript - MoscowJS
State of the art: Server-side JavaScript - MoscowJSState of the art: Server-side JavaScript - MoscowJS
State of the art: Server-side JavaScript - MoscowJS
 
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
 

Recently uploaded

Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 

Recently uploaded (20)

Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 

End to-end W3C - JS.everywhere(2012) Europe

  • 1. End-to-end W3C APIs By Alexandre Morgaut JS.everywhere(2012) Europe
  • 2. Presentation • Wakanda Community manager • W3C AC member • Web Architect • JS Expert, REST Lover, NoSQL Fanboy • W3C “jseverywhere“ community group @amorgaut
  • 3. Agenda • The World Wide Web • The Standards • Server-Side JavaScript • Web Applications • Now & Tomorrow
  • 5. The Web • WWW: WorldWideWeb (aka “Hypertext Project”) • UDI: Uniform Document Identifier • HTML: Hypertext Markup Language • HTTP: Hypertext Transfer Protocol • created in 1989 by Tim Berners-Lee
  • 6. REST • Representational State Transfer • Client-Server • Stateless, Cache, Uniform Interface • Layered System • Code on Demand: JavaScript • defined in 2000 by Roy Thomas Fielding
  • 8. W3C • Created at the MIT in 1994 • Led by Tim Berners-Lee and Dr. Jeffrey Jaffe • Joint agreement among three "Host Institutions" • MIT, ERCIM, Keio University • Working Groups • HTML, MathML, RDF, SVG, CSS, Audio, Device...
  • 9. IANA • Internet Assigned Numbers Authority • created by Jon Postel and Joyce K. Reynolds • department of ICANN Names and Numbers) (Internet Corporation for Assigned • manages • Domain Names, IP Addresses, Protocol registries • MIME Media Types • application, text, image, multipart...
  • 10. IETF • Internet Engineering Task Force • organized activity of the Internet Society (ISOC) • cooperates with W3C & ISO/IEC • manages the RFCs (Request For Comments) • DNS, FTP, HTTP, SMTP, Zlib, Cookie, Atom
  • 11. ECMA • European Computer Manufacturers Association • Standards • CD-ROM, ECMAScript, C#, Office Open XML File Formats • JavaScript • ECMA-262 aka ECMAScript aka ISO/IEC 16262 • TC39-TG1 managed by Mr. J. Neumann • E4X: ECMAScript for XML • ECMAScript Internationalization API • Test262 http://wiki.ecmascript.org
  • 12. WaSP • Web Standards Project • founded in 1998 by Georges Olsen, Glenn Davis, & Jeffrey Zeldman • convinced in 2001 Microsoft, Netscape, Opera & other browsers to support HTML 4.01, XHTML 1.0, CSS1, and ECMAScript • AcidTests (by Ian Hickson) • 1: HTML 4 & CSS 1 • 2: CSS 1 & CSS 2 • 3: HTML 4, XHTML 1.0, CSS 2.1, DOM 2, ECMAScript 3.1 • Today last versions of all major Browsers 100% compliant
  • 13. WHATWG • Web Hypertext Application Technology Working Group • founded in 2004 by individuals from Apple, the Mozilla & Opera • Led by Ian Hickson • Created to work on HTML5 based on Web Apps 1.0 + Web Forms 2.0 while the W3C choose to concentrate on XHTML • HTML being a living standard (no more versions) • Proposed • Web Workers, Web Storage, Web Sockets, ... • New W3C working group created in 2007 to work on HTML5 • WHATWG & W3C editions of HTML5 can have some differences
  • 14. CommonJS • created in 2009 by Kevin Dangoor as ServerJS on Mozilla Wiki • standards for JavaScript on the server • Narwhal, Helma NG, v8CGI, GPSEE, chiron, Persevere • Renamed CommonJS • command line tools, desktop, addon, or browser implementations • joined by CouchDB, Wakanda, Sproutcore, node.js, RequireJS... • Modules, Packages, and Promises • Binary, FileSystem, System, I/O stream, Socket I/O • Browser like APIs: worker, console, HTTP client
  • 16. Engines • Mozilla SpiderMonkey • Mozilla Rhino • Webkit JavaScriptCore • Google V8 • Microsoft Chakra • Opera Carakan
  • 18. Servers • Microsoft IIS • Persevere • Jaxer • node.js • Wakanda • RingoJS • SilkJS
  • 19. NoSQL Databases • CouchDB • MongoDB • Riak • WakandaDB • ArangoDB • OrientDB
  • 20. More than 60 Server-Side JavaScript implementations
  • 22. HTML5 APIs • XMLHttpRequest 2 • Web Cryptography • Blob • ImageData • File / FileSystem • Typed Arrays • Web SQL • Storage Quota • Web Storage • System Information • Web Workers • URL • Web Sockets • WebCL
  • 23. WebCL “This section proposes mechanisms for transferring pixel data between WebCL memory objects and HTML media elements. Server-side or Web Worker based implementations of WebCL will not be required to support these features.” https://cvs.khronos.org/svn/repos/registry/trunk/public/webcl/spec/latest/index.html#4
  • 24. Web SQL “This document was on the W3C Recommendation track but specification work has stopped. The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path.” http://www.w3.org/TR/webdatabase/
  • 25. Web SQL “This document was on the W3C Recommendation track but specification work has stopped. The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path.” http://www.w3.org/TR/webdatabase/
  • 26. Web SQL “This document was on the W3C Recommendation track but specification work has stopped. The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path.” http://www.w3.org/TR/webdatabase/ Should we define a JSDBC API?
  • 27. Async & Sync • XMLHttpRequest(method, url, async) • FileReaderSync() • requestFileSystemSync() • openDatabaseSync() • indexedDBSync.open() • localStorage.getItem()
  • 28. IndexedDB “The synchronous database API methods provide a blocking access pattern to IndexedDB databases. Since they block the calling thread they are only available from workers.” http://www.w3.org/TR/IndexedDB/#sync-database
  • 29. Web Workers • Dedicated or Shared • No Window, No Document • WorkerGlobal, WorkerUtils • WorkerNavigator, WorkerLocation • postMessage(), onmessage(), onerror() • importScripts()
  • 30. Concept • Server JS contexts == Workers • multi-threaded -> Dedicated Workers • single threaded EventLoop -> Shared • Server JS contexts === Remote JS Workers
  • 32. RingoJS • W3C • Web Worker • CommonJS • Modules • System, fs, binary, IO, Unit Test • Other: console
  • 33. SilkJS • W3C • XMLHttpRequest • CommonJS • Modules
  • 34. node.js • W3C via modules • XMLHttpRequest (node-xmlhttprequest) • Web Sockets (node-websocket-client) • DOM (node-o3-fastxml), IndexedDB (perstore) • CommonJS • Modules, Packages • Other: console
  • 35. Wakanda • W3C • XMLHttpRequest, WindowTimer, • Web Storage, Web Worker, • File, FileSystem, Blob, ... • CommonJS • Modules, System, Unit Test • Other: console
  • 36. Wakanda extensions • Web Storage • sessionStorage + user.storage & storage • Web Workers • Worker & SharedWorker + SystemWorker
  • 37. Server-Side JavaScript Context CommonJS (module.id, require, ...) Worker (importScripts, WindowTimer, ...)
  • 38. Summary • ECMAScript is already everywhere • Modules: CommonJS already standard, AMD, ECMAScript 6 • Many W3C APIs already applicable server-side • Same APIs means ➡ better learning curve ➡ more shared libraries / modules ➡ DRY -> shared Model work Offline
  • 39. Client and Server JavaScript APIs W3C Community Group http://www.w3.org/community/jseverywhere/