Dear Nashorn users and developers,

Happy 2014! I am proud to introduce you to a stack of three free software (LGPL) products and related libraries that work on JVM 8/Nashorn *right now*. I guess you can call this email a self-promotion, but I hope you will agree that this is a significant promotion for Nashorn, too. I also imagine these products to be very useful in testing Nashorn in the real world, especially because they allow you to compare with Rhino.

PRUDENCE 2.0

http://threecrickets.com/prudence/

Prudence is a state-of-the-art platform for developing web applications and web APIs, with a focus on usability and ease-of-development on the one hand, and the ability to handle the large scale on the other, with support for tiered caching, horizontal cloud clusters, and task farming. It adheres very strongly to REST principles and provides you with total control over and optimization for every aspect of HTTP. Documentation is astonishingly comprehensive, and you may refer to it online or print out the beautiful 160-page (!) PDF. Prudence has been under development for 5 years now, and I would consider the core implementation to be mature.

Prudence runs on JVM 8/Nashorn right now! On JVM 7, it will automatically use Rhino (included) instead. JVM 6 can also be supported by downgrading Jetty (this is explained in the download page).

Though JavaScript is the main language used in the tutorials, you can develop using Python, Ruby, PHP, Lua, Groovy and Clojure, too.

A very FAQ is how Prudence compares to Node.js, because both allow for server-side JavaScript. Here's the detailed response:

http://threecrickets.com/prudence/manual/faq/#technology

SINCERITY

http://threecrickets.com/sincerity/

Sincerity is a packaging/bootstrapping tool for the JVM, which relies heavily on JavaScript. It supports several powerful plugins and addons for bootstrapping, such as centralized logging and installation as system service/daemon, so you don't have to keep reinventing the wheel. Sincerity also comes with a very useful "standard library" for JavaScript, handling such staples as OOP and string interpolation, and also various JavaScript-friendly wrappers for JVM-specific services.

As with Prudence, it will automatically use Nashorn on JVM 8, and fallback to Rhino if necessary.

It's never been as easy to quickly install and bootstrap software products! The "configuration-by-script" principle is used throughout: real JavaScript that can do anything instead of clunky XML or proprietary config formats. Your product can thus automatically adjust to its deployment environment. Sincerity already can be used to install entire software stacks, for example: Solr, Hadoop, Django, Ruby on Rails. (And, of course, Prudence.)

I believe that once you start using Sincerity, you won't be able to imagine life without it.

DILIGENCE

http://threecrickets.com/diligence/

Still under heavy development (but perfectly usable), Diligence is a comprehensive web development framework based on Prudence/JavaScript and MongoDB. Easily handle user logins and registration or integrate with Facebook and Paypal, handle wikis and SEO sitemaps, email subscription and digests, etc. Diligence features very powerful integration with the client-side Ext JS library, allowing you to quickly link MongoDB collections directly to editable client-side grid and tree widgets.

Of course, it works great on Nashorn.

RELATED LIBRARIES

Scripturian is a scalable alternative to JSR-223, which is the special sauce enabling the entire stack above. It supports Nashorn:

http://threecrickets.com/scripturian/

The MongoDB JVM project is designed to better integrate various JVM languages with MongoDB. It includes a robust JavaScript/JVM MongoDB driver. It supports Nashorn:

http://code.google.com/p/mongodb-jvm/

MongoVision is a web-based frontend for MongoDB based on Prudence and Ext JS. Of course, it runs on Nashorn:

http://code.google.com/p/mongo-vision/

-Tal

Reply via email to