SlideShare a Scribd company logo
CommonJS frameworks	
          Janne Kuuskeri




Monday, April 11, 2011
RingoJS


                         Node.js


                         Narwhal




Monday, April 11, 2011
RingoJS

               “Traditional” web framework
               Runs on JVM (Rhino)
               JSGI
               Middlewares
               Database access




Monday, April 11, 2011
exports.urls = [
                             [ '/docs', 'myapp/docs', 'getDocument' ],
                             [ '/', 'myapp/actions' ]
                         ];



                         exports.middleware = [
                             'ringo/middleware/gzip',
                             'ringo/middleware/etag',
                             'ringo/middleware/error',
                             'ringo/middleware/notfound'
                         ];




Monday, April 11, 2011
Node.js

               Evented I/O
               Reactor pattern
               Asynchronous
               Runs on V8
               A lot of packages available




Monday, April 11, 2011
Narwhal

               Runs on node, JSC and Rhino
               Many CommonJS specs implemented
               “Moving target”
               Many packages available




Monday, April 11, 2011
Conclusions
               Is JavaScript ready for the server?
                         Easier for startups and new apps
                         More limited support for legacy app integration
               CommonJS is good initiative, time will show how it
               turns out
               Node.js (and SSJS) is really hot at the moment
               Learn the language if you are going to use it


Monday, April 11, 2011
Links
               https://github.com/joyent/node/wiki/modules
               http://ringojs.org/
               http://www.persvr.org/
               http://redis.io/
               http://www.mongodb.org/
               http://couchdb.apache.org/



Monday, April 11, 2011
Ad

More Related Content

Viewers also liked (18)

De Urban Manager
De Urban ManagerDe Urban Manager
De Urban Manager
A_Zuyderwijk
 
Experiences on a Design Approach for Interactive Web Applications
Experiences on a Design Approach for Interactive Web ApplicationsExperiences on a Design Approach for Interactive Web Applications
Experiences on a Design Approach for Interactive Web Applications
Janne Kuuskeri
 
2010 April Open Photo Sharing Sm
2010  April  Open Photo Sharing Sm2010  April  Open Photo Sharing Sm
2010 April Open Photo Sharing Sm
Myrtle Beach Camera Club
 
Referaat Biodiversiteit Routes
Referaat Biodiversiteit RoutesReferaat Biodiversiteit Routes
Referaat Biodiversiteit Routes
A_Zuyderwijk
 
JavaScript Landscape
JavaScript LandscapeJavaScript Landscape
JavaScript Landscape
Janne Kuuskeri
 
Hofpleinlijnviaduct
HofpleinlijnviaductHofpleinlijnviaduct
Hofpleinlijnviaduct
A_Zuyderwijk
 
Alimentos artesanais
Alimentos artesanaisAlimentos artesanais
Alimentos artesanais
Coopater-Sescoop
 
Clifton Bibliography
Clifton BibliographyClifton Bibliography
Clifton Bibliography
Jessica Bankston
 
Groke
GrokeGroke
Groke
Janne Kuuskeri
 
Preparation Cr U1 9 15 09
Preparation Cr U1 9 15 09Preparation Cr U1 9 15 09
Preparation Cr U1 9 15 09
uwcacs
 
Revitalisering, Ontwikkeling, Transitie
Revitalisering, Ontwikkeling, TransitieRevitalisering, Ontwikkeling, Transitie
Revitalisering, Ontwikkeling, Transitie
A_Zuyderwijk
 
REST overview
REST overviewREST overview
REST overview
Janne Kuuskeri
 
Manoj Gangwar Brief Insight
Manoj Gangwar Brief InsightManoj Gangwar Brief Insight
Manoj Gangwar Brief Insight
manojkgangwar
 
5min Pres 2009 Li
5min Pres 2009 Li5min Pres 2009 Li
5min Pres 2009 Li
jeffjira
 
Environmental principles
Environmental principlesEnvironmental principles
Environmental principles
janels
 
November Photo Sharing
November Photo SharingNovember Photo Sharing
November Photo Sharing
Myrtle Beach Camera Club
 
Experiences on a Design Approach for Interactive Web Applications
Experiences on a Design Approach for Interactive Web ApplicationsExperiences on a Design Approach for Interactive Web Applications
Experiences on a Design Approach for Interactive Web Applications
Janne Kuuskeri
 
Referaat Biodiversiteit Routes
Referaat Biodiversiteit RoutesReferaat Biodiversiteit Routes
Referaat Biodiversiteit Routes
A_Zuyderwijk
 
Hofpleinlijnviaduct
HofpleinlijnviaductHofpleinlijnviaduct
Hofpleinlijnviaduct
A_Zuyderwijk
 
Preparation Cr U1 9 15 09
Preparation Cr U1 9 15 09Preparation Cr U1 9 15 09
Preparation Cr U1 9 15 09
uwcacs
 
Revitalisering, Ontwikkeling, Transitie
Revitalisering, Ontwikkeling, TransitieRevitalisering, Ontwikkeling, Transitie
Revitalisering, Ontwikkeling, Transitie
A_Zuyderwijk
 
Manoj Gangwar Brief Insight
Manoj Gangwar Brief InsightManoj Gangwar Brief Insight
Manoj Gangwar Brief Insight
manojkgangwar
 
5min Pres 2009 Li
5min Pres 2009 Li5min Pres 2009 Li
5min Pres 2009 Li
jeffjira
 
Environmental principles
Environmental principlesEnvironmental principles
Environmental principles
janels
 

Similar to CommonJS Frameworks (20)

The Fast, The Slow and the Lazy
The Fast, The Slow and the LazyThe Fast, The Slow and the Lazy
The Fast, The Slow and the Lazy
Maurício Linhares
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JS
Caridy Patino
 
Caridy patino - node-js
Caridy patino - node-jsCaridy patino - node-js
Caridy patino - node-js
StarTech Conference
 
TorqueBox - Ultrapassando a fronteira entre Java e Ruby
TorqueBox - Ultrapassando a fronteira entre Java e RubyTorqueBox - Ultrapassando a fronteira entre Java e Ruby
TorqueBox - Ultrapassando a fronteira entre Java e Ruby
Bruno Oliveira
 
Introducing Java 7
Introducing Java 7Introducing Java 7
Introducing Java 7
Markus Eisele
 
MongoDB at Sailthru: Scaling and Schema Design
MongoDB at Sailthru: Scaling and Schema DesignMongoDB at Sailthru: Scaling and Schema Design
MongoDB at Sailthru: Scaling and Schema Design
DATAVERSITY
 
Using Java from Ruby with JRuby IRB
Using Java from Ruby with JRuby IRBUsing Java from Ruby with JRuby IRB
Using Java from Ruby with JRuby IRB
Hiro Asari
 
SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践
lifesinger
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
dieterdm
 
Behat dpc12
Behat dpc12Behat dpc12
Behat dpc12
benwaine
 
Flowdock's full-text search with MongoDB
Flowdock's full-text search with MongoDBFlowdock's full-text search with MongoDB
Flowdock's full-text search with MongoDB
Flowdock
 
How Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsHow Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server Jenkins
Nuxeo
 
3D in the Browser via WebGL: It's Go Time
3D in the Browser via WebGL: It's Go Time 3D in the Browser via WebGL: It's Go Time
3D in the Browser via WebGL: It's Go Time
Pascal Rettig
 
RunDeck
RunDeckRunDeck
RunDeck
Bruno Bonfils
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
ehuard
 
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim SummitIntroduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Ran Mizrahi
 
Narwhal and the Adventures of CommonJS
Narwhal and the Adventures of CommonJSNarwhal and the Adventures of CommonJS
Narwhal and the Adventures of CommonJS
Clinton Dreisbach
 
JBoss AS 7 from a user perspective
JBoss AS 7 from a user perspectiveJBoss AS 7 from a user perspective
JBoss AS 7 from a user perspective
Max Andersen
 
Everyday Tools for the Semantic Web Developer
Everyday Tools for the Semantic Web DeveloperEveryday Tools for the Semantic Web Developer
Everyday Tools for the Semantic Web Developer
Rob Vesse
 
Pocket Knife JS
Pocket Knife JSPocket Knife JS
Pocket Knife JS
Diogo Antunes
 
The Fast, The Slow and the Lazy
The Fast, The Slow and the LazyThe Fast, The Slow and the Lazy
The Fast, The Slow and the Lazy
Maurício Linhares
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JS
Caridy Patino
 
TorqueBox - Ultrapassando a fronteira entre Java e Ruby
TorqueBox - Ultrapassando a fronteira entre Java e RubyTorqueBox - Ultrapassando a fronteira entre Java e Ruby
TorqueBox - Ultrapassando a fronteira entre Java e Ruby
Bruno Oliveira
 
MongoDB at Sailthru: Scaling and Schema Design
MongoDB at Sailthru: Scaling and Schema DesignMongoDB at Sailthru: Scaling and Schema Design
MongoDB at Sailthru: Scaling and Schema Design
DATAVERSITY
 
Using Java from Ruby with JRuby IRB
Using Java from Ruby with JRuby IRBUsing Java from Ruby with JRuby IRB
Using Java from Ruby with JRuby IRB
Hiro Asari
 
SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践
lifesinger
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
dieterdm
 
Behat dpc12
Behat dpc12Behat dpc12
Behat dpc12
benwaine
 
Flowdock's full-text search with MongoDB
Flowdock's full-text search with MongoDBFlowdock's full-text search with MongoDB
Flowdock's full-text search with MongoDB
Flowdock
 
How Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsHow Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server Jenkins
Nuxeo
 
3D in the Browser via WebGL: It's Go Time
3D in the Browser via WebGL: It's Go Time 3D in the Browser via WebGL: It's Go Time
3D in the Browser via WebGL: It's Go Time
Pascal Rettig
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
ehuard
 
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim SummitIntroduction to node.js by Ran Mizrahi @ Reversim Summit
Introduction to node.js by Ran Mizrahi @ Reversim Summit
Ran Mizrahi
 
Narwhal and the Adventures of CommonJS
Narwhal and the Adventures of CommonJSNarwhal and the Adventures of CommonJS
Narwhal and the Adventures of CommonJS
Clinton Dreisbach
 
JBoss AS 7 from a user perspective
JBoss AS 7 from a user perspectiveJBoss AS 7 from a user perspective
JBoss AS 7 from a user perspective
Max Andersen
 
Everyday Tools for the Semantic Web Developer
Everyday Tools for the Semantic Web DeveloperEveryday Tools for the Semantic Web Developer
Everyday Tools for the Semantic Web Developer
Rob Vesse
 
Ad

CommonJS Frameworks

  • 1. CommonJS frameworks Janne Kuuskeri Monday, April 11, 2011
  • 2. RingoJS Node.js Narwhal Monday, April 11, 2011
  • 3. RingoJS “Traditional” web framework Runs on JVM (Rhino) JSGI Middlewares Database access Monday, April 11, 2011
  • 4. exports.urls = [ [ '/docs', 'myapp/docs', 'getDocument' ], [ '/', 'myapp/actions' ] ]; exports.middleware = [ 'ringo/middleware/gzip', 'ringo/middleware/etag', 'ringo/middleware/error', 'ringo/middleware/notfound' ]; Monday, April 11, 2011
  • 5. Node.js Evented I/O Reactor pattern Asynchronous Runs on V8 A lot of packages available Monday, April 11, 2011
  • 6. Narwhal Runs on node, JSC and Rhino Many CommonJS specs implemented “Moving target” Many packages available Monday, April 11, 2011
  • 7. Conclusions Is JavaScript ready for the server? Easier for startups and new apps More limited support for legacy app integration CommonJS is good initiative, time will show how it turns out Node.js (and SSJS) is really hot at the moment Learn the language if you are going to use it Monday, April 11, 2011
  • 8. Links https://github.com/joyent/node/wiki/modules http://ringojs.org/ http://www.persvr.org/ http://redis.io/ http://www.mongodb.org/ http://couchdb.apache.org/ Monday, April 11, 2011