Introduction To Descripter

A Different JavaScript Engine

Descripter is a simple and different open source JavaScript engine written in pure Java language. It includes everything in the Java class library that presents an elaborately designed API for JavaScript applications. Descripter is different from other JavaScript engines in that it converts (or descripts) JavaScript into Java source with invocations of the API when interpreting or compiling scripts.

A Scalable Java Class Library

The Descripter class library is scalable. It can be extended to make more powerful JavaScript engines. The included HTTP server is a good example of Descripter extensions. The JavaScript API is the key part of this library that also facilitates an interpreters, a memory-based compiler, a simplest HTTP server and related parsers, etc.

A JavaScript API For Java

The JavaScript API presented by Descripter can be used for Java developer to create script-like applications that can do anything JavaScript would do. The JavaScript objects, functions and other language features are all simulated on this API.

A JavaScript Servlet Server

Descripter demonstrates a simplest HTTP server that runs server-side JavaScript as servlets that accept HTTP requests and response with HTML pages. A JavaScript servlet is first descripted into Java source, which is then compiled into runnable Java class on the fly and cached for later use.

An HTTP Server For JavaScript Server Pages

The simple HTTP server provided with Descripter also processes JavaScript Server Pages (JSSPs) efficiently. A JavaScript server page is first scriptized into a piece of JavaScript source, which is then descripted into Java source, which is then compiled into runnable Java class on the fly and cached for later use.

Download Descripter

Descripter is solely developed by J.J.Liu (Jianjun Liu) and released in open source under GNU Affero General Public License Version 3.

You can choose desired downloads or download the latest pre-built descripter.jar file by clicking on the following "Download" button after you have accepted the license agreement below:

I accept the above license agreement