Web Frameworks

Based on using Rhino

We will already be using the JRE, so staying inside the stack may simplify things.

This doesn't mean we have to write any Java at all - we could use Javascript, JRuby, Jython, or Groovy to implement the datastore API, code execution, and sandboxing code.

However, crossing one object model boundary presents enough difficulties, I think. Adding another, at least in Rhino-touching code, may prove more trouble than it is worth.

Perhaps it would be good to keep as much code as possible in Javascript (such as UI, etc), and only do datastore and sandboxing in java.

A Rhino-based web framework might not be a bad idea - the website itself would probably need to call java methods to load or execute scripts, but the UI and 'framework' could even be written in javascript.

  • Play is a very nice framework for Java, very minimalist and MVC.
  • Narwhal is a package manager and standard library for javascript, with multiple backends, the most complete of which is Rhino.
  • RingoJS Successor to Helma NG, based on Rhino
  • NitroJS Set of libraries for making javascript apps (includes a Markdown -> HTML lib)

Rhino seems to work on the Google App Engine: http://code.google.com/p/googleappengine/wiki/WillItPlayInJava

Based on using Lua

  • Orbit, part of the Kepler project, seems to be the main MVC framework. Inspired by Camping for Ruby.

I'm not sure if Lua allows self-embedding, I.e, writing Lua code that sandboxes, pauses, and resumes other lua code.