JScripter(JS) Standard 1.0 API & Re-compilation Specification

JScripter(JS) Standard 1.0 API &
Re-compilation Specification

This document is the API and re-compilation specification for JS Standard 1.0.


js Opaque classes and interfaces necessary to simulate JavaScript features, and internal classes for simulative implementation.
js.core Opaque classes simulating core JavaScript objects.
js.dom Opaque classes and interfaces simulating client-side DOM.
js.user Opaque classes simulating client-side JavaScript objects.
jsx Fundamental JS Extension classes.
jsx.client Utility classes handling JavaScript client objects.
jsx.core Utility classes handling JavaScript core objects.
jsx.dom Utility classes handling JavaScript DOM objects.
jsx.dom.query Provides an efficient DOM querying mechanism.
jsx.event Deals with browser-level events eliminating dependencies.
jsx.graphic Deals with vector graphics depending on browsers.
jsx.http Handles HTTP requests by using XMLHTTPRequest or ActiveX for IE.
jsx.http.event Event objects and their handlers for HTTP requests.
jsx.http.rpc Facilitates mechanism for RPC based on HTTP serialization.
jsx.http.rpc.remote Facilitates client-side for remote object services based on XMLHTTP serialized RPC mechanism.
jsx.http.rpc.remote.client Basic client-side classes providing remote reflect services to server-side Java classes.
jsx.http.rpc.server Facilitates server-side for RPC based on HTTP serialization.
jsx.motion Provides clear-in-mind practicable methodologies for definition and utilization to step-motion models that are useful in designing animation, visual effects and vector graphics.
jsx.motion.reg Provides regular motion functions and their operations.
jsx.motion.reg.cmp Provides composite regular motion operations.
jsx.motion.reg.cmp.bin Provides binary composite regular motion operations.
jsx.ui Contains general classes for representing user interfaces.
jsx.ui.box Contains classes representing box widgets.
jsx.ui.css Contains classes manipulating user interfaces through CSS.
jsx.ui.ctrl Contains classes representing control widgets.
jsx.ui.dd Contains classes representing drag-and-drop related widgets.
jsx.ui.dd.event Drag-and-drop event objects and their handlers.
jsx.ui.event Event objects and their handlers for the general user interfaces.
jsx.ui.fx Classes for widgets to add visual effects to their underlying components.
jsx.ui.fx.event Event objects and their handlers for visual effects.
jsx.ui.html Classes for HTML elementary widgets.
jsx.ui.layout Layouts for Container widgets.
jsx.ui.vect Vector graphic widgets for interactive drawing based on canvas, SVG and VML.
jsx.ui.vect.canvas For extra vector graphic widgets for interactive drawing based on 2d-canvas.
jsx.ui.vect.draw For extra vector graphic widgets for interactive drawing based on SVG or VML.


This document is the API and re-compilation specification for JS Standard 1.0.

JS Standard Library is, but more than, an open source Java library; it is part of JScripter Libraries.

JScripter(JS) is not another programming language but a set of specifications and open source class libraries elaborately designed to simulates the key features of JavaScript language in a pure Java environment by providing facilities of constructing and accessing objects in an object-based manner.

Supported by JScripter(JS), Java programmers can develop JS applications and other JS class libraries in pure Java language as well as JS applets (or JsApplets) which can be loaded and run as usual Java applets on any LiveConnect-well-supported main-stream web browsers owing to the deliberate designing and testing effort from the author.

Most importantly, JS applets (or JsApplets) can also be re-compiled into JavaScript code by third-party JS re-compilers (such as JRecompiler) complying with this specification.

In accordance with the conformation of JScripter(JS) 1.0, the JS re-compilers complying with this specification must read binary class files instead of source files of JsApplets and conform their re-compiled results in JavaScript language to Standard ECMA-262 ECMAScript Language Specification by strictly following the rules described by each "JavaScript" section in this document.

JScripter is solely developed by J.J.Liu(Jianjun Liu) and released in open source under GNU General Public License Version 3. It consists of 4 parts:

JScripter(JS) makes it possible to productively build and efficiently manage larger JavaScript applications (including that of Ajax and RPC) for client side eliminating browser dependencies.

The web site www.javajavascript.org provides small JS applications and applets that can be run with JS Simulation to demonstrate functionality and usage of JS Standard Library. JS developers need refer to the site and their source files for further details. JS re-compiler developers may also test for conformation with the samples.

JScripter(JS) Standard 1.0 API & Re-compilation Specification

Copyright © 2008-2011 J.J.Liu (www.jscripter.org). All Rights Reserved.