3. Overview
started by Hannes Wallnöfer
successor to Helma, HelmaNG
o been in development for 13+ years
runs on the JVM
uses Mozilla Rhino
conforms to CommonJS
8. Hello World, Take Two
new require('ringo/httpserver').Server({
app: function() {
return {status: 200,
headers: {},
body: ['Hello World']}; }
}).start();
9. Multithreaded JS
// run "test" in "threads" parallel threads a total of "count" times
function parallel(test, count, threads) { var pool = new
java.util.concurrent.Executors.newFixedThreadPool(threads); functio
n runnable(f) {
return new java.lang.Runnable({ run: function() {
try { f(); } catch(e) { }
}}); } for(var i = 0; i < count; i ++)
pool.execute(runnable(test));}
10. RingoJS libraries
search GitHub for ringo-
ringo-admin install
user/repo
use rp and packages.ringojs.org
rp install name
13. Community
#ringojs on Freenode IRC
#ringojs & @ringojs on Twitter
http://github.com/ringo
14. Use Cases & Benefits
standalone
to extend an existing Java webapp
plugin architecture for existing application
code reuse between server and browser
less context switching
more compact code, faster prototyping