SlideShare a Scribd company logo
1 of 8
Download to read offline
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

More Related Content

Viewers also liked

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 ApplicationsJanne Kuuskeri
 
Referaat Biodiversiteit Routes
Referaat Biodiversiteit RoutesReferaat Biodiversiteit Routes
Referaat Biodiversiteit RoutesA_Zuyderwijk
 
Hofpleinlijnviaduct
HofpleinlijnviaductHofpleinlijnviaduct
HofpleinlijnviaductA_Zuyderwijk
 
Preparation Cr U1 9 15 09
Preparation Cr U1 9 15 09Preparation Cr U1 9 15 09
Preparation Cr U1 9 15 09uwcacs
 
Revitalisering, Ontwikkeling, Transitie
Revitalisering, Ontwikkeling, TransitieRevitalisering, Ontwikkeling, Transitie
Revitalisering, Ontwikkeling, TransitieA_Zuyderwijk
 
Manoj Gangwar Brief Insight
Manoj Gangwar Brief InsightManoj Gangwar Brief Insight
Manoj Gangwar Brief Insightmanojkgangwar
 
5min Pres 2009 Li
5min Pres 2009 Li5min Pres 2009 Li
5min Pres 2009 Lijeffjira
 
Environmental principles
Environmental principlesEnvironmental principles
Environmental principlesjanels
 

Viewers also liked (18)

De Urban Manager
De Urban ManagerDe Urban Manager
De Urban Manager
 
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
 
Feb. 2010 Photo Sharing
Feb. 2010 Photo SharingFeb. 2010 Photo Sharing
Feb. 2010 Photo Sharing
 
2010 April Open Photo Sharing Sm
2010  April  Open Photo Sharing Sm2010  April  Open Photo Sharing Sm
2010 April Open Photo Sharing Sm
 
August Photo Sharing
August Photo SharingAugust Photo Sharing
August Photo Sharing
 
Referaat Biodiversiteit Routes
Referaat Biodiversiteit RoutesReferaat Biodiversiteit Routes
Referaat Biodiversiteit Routes
 
JavaScript Landscape
JavaScript LandscapeJavaScript Landscape
JavaScript Landscape
 
Hofpleinlijnviaduct
HofpleinlijnviaductHofpleinlijnviaduct
Hofpleinlijnviaduct
 
Alimentos artesanais
Alimentos artesanaisAlimentos artesanais
Alimentos artesanais
 
Clifton Bibliography
Clifton BibliographyClifton Bibliography
Clifton Bibliography
 
Groke
GrokeGroke
Groke
 
Preparation Cr U1 9 15 09
Preparation Cr U1 9 15 09Preparation Cr U1 9 15 09
Preparation Cr U1 9 15 09
 
Revitalisering, Ontwikkeling, Transitie
Revitalisering, Ontwikkeling, TransitieRevitalisering, Ontwikkeling, Transitie
Revitalisering, Ontwikkeling, Transitie
 
REST overview
REST overviewREST overview
REST overview
 
Manoj Gangwar Brief Insight
Manoj Gangwar Brief InsightManoj Gangwar Brief Insight
Manoj Gangwar Brief Insight
 
5min Pres 2009 Li
5min Pres 2009 Li5min Pres 2009 Li
5min Pres 2009 Li
 
Environmental principles
Environmental principlesEnvironmental principles
Environmental principles
 
November Photo Sharing
November Photo SharingNovember Photo Sharing
November Photo Sharing
 

Similar to CommonJS Frameworks

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 LazyMaurício Linhares
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSCaridy 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 RubyBruno 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 DesignDATAVERSITY
 
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 IRBHiro Asari
 
SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践lifesinger
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegekadieterdm
 
Behat dpc12
Behat dpc12Behat dpc12
Behat dpc12benwaine
 
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 MongoDBFlowdock
 
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 JenkinsNuxeo
 
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 hollywoodehuard
 
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 SummitRan Mizrahi
 
Narwhal and the Adventures of CommonJS
Narwhal and the Adventures of CommonJSNarwhal and the Adventures of CommonJS
Narwhal and the Adventures of CommonJSClinton 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 perspectiveMax 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 DeveloperRob Vesse
 

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
 
Caridy patino - node-js
Caridy patino - node-jsCaridy patino - node-js
Caridy patino - node-js
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JS
 
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
 
Introducing Java 7
Introducing Java 7Introducing Java 7
Introducing Java 7
 
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
 
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
 
SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践SeaJS - 跨环境模块化开发实践
SeaJS - 跨环境模块化开发实践
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
 
Behat dpc12
Behat dpc12Behat dpc12
Behat dpc12
 
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
 
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
 
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
 
RunDeck
RunDeckRunDeck
RunDeck
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
 
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
 
Narwhal and the Adventures of CommonJS
Narwhal and the Adventures of CommonJSNarwhal and the Adventures of CommonJS
Narwhal and the Adventures of CommonJS
 
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
 
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
 
Pocket Knife JS
Pocket Knife JSPocket Knife JS
Pocket Knife JS
 

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