Jennifer Ball has written "
New Technologies for Ajax and Web Application Development: Project Phobos."
Project Phobos is a framework for creating a web application with Javascript, perhaps an inverse to GWT (which generates a javascript application with Java... but the analogues break down very quickly. Forget I said anything.)
The article shows the following as advantages of Phobos:
- You can deploy an application without compiling it.
- You can write fewer lines of code.
- You will be able to make changes to the application while it is running without redeploying it.
With these, it sounds much like every other scripting framework compared to Java. However...
Phobos gives you what other scripting languages do not: access to the Java Platform, Enterprise Edition (Java EE) stack. As the first article in this series has pointed out, scripting languages and statically typed languages such as the Java programming language have their own strengths. When you use Phobos to create web applications, you can use scripting and Java technology in ways that take advantage of their strengths. And because Phobos runs on the Java EE platform, you can call into components of the Java EE stack. For example, from your Phobos application, you can call into the new and powerful Java Persistence API available as part of the Java EE platform.
Phobos also simplifies development in Ajax, a technology that includes but is not limited to Asynchronous JavaScript and XML. If you have JavaScript on the client, as you do with Ajax, and on the server, as you can with Phobos, you get all all the benefits of having the same scripting language on both the client and the server. This also means that no translation is required between one language on the server and another on the client. In addition, Phobos includes a set of convenience libraries specifically for Ajax, such as the jMaki framework and the Dojo toolkit.
First glances at Phobos make it a little verbose, though, with Javascript littering the filesystem. Each directory and file has a purpose, but should one worry about yet another framework that requires a full commitment to even learn?