Project Phobos is a lightweight, scripting-friendly, web application environment running on the Java platform, aimed at addressing emerging developer requirements. Scripting and dynamic languages are growing in popularity among developers, especially for building Web applications. These developers place special value on rapid application development and deployment.
The goal of Project Phobos is to show that Java is an excellent platform for server-side scripting, allowing dynamic-language developers to leverage the power of Java SE and EE. The initial focus for Project Phobos is JavaScript, but the design supports the use of other dynamic languages as well.
Ruby on Rails has an acknowledged "sweet spot": the creation of new applications which are database-backed and browser-front-ended. Project Phobos attempts to learn from Rails, but is not limited to the use of any particular programming language and may prove to have a different sweet spot.
First, Rhino is by far the most robust, performant, extensible, easily embeddable scripting engine running on the Java platform. Support for JavaScript is included in Java SE 6. Second, Javascript has considerable momentum and is increasingly being seen as a "serious" language, in great part thanks to AJAX.
Support in Project Phobos for dynamic languages is complementary to and builds on the Java EE platform. Sun, along with the Java community, continues to invest heavily in the Java platform. Project Phobos will enable easy integration between scripting and Java EE.
Project Phobos will appeal to developers who, for a variety of reasons, are hard for Java EE to reach. At the same time, it will provide them with a path into the Java SE and Java EE world, since all those proven, powerful, standardized APIs are fully available to the Phobos developer, no matter which language is being used. We will also be exploring tighter integration of scripting with Java EE technologies as part of this effort. The runtime for Project Phobos is the Application Server from Project GlassFish.
We are currently experimenting with Project Phobos. The roadmap and timeframe as well as any product plans will be determined in the future based on feedback from the community and users of this technology. If you would like to participate, please join the project.