Bck2BrwsrJavadoc

From APIDesign

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
-
Goal of [[Bck2Brwsr]] project is to create small Java capable to boot fast in modern browsers (even without any Java plugin installed). The latest development version of [[Javadoc]] for the [[Bck2Brwsr]] projects is generated at http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/
+
The goal of [[Bck2Brwsr]] project is to create small Java virtual machine capable to boot fast in modern browsers (even without any Java plugin installed).
 +
 
 +
<h3>Build Your Own Virtual Machine!</h3>
 +
 
 +
Classes to perform [http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/lastSuccessfulBuild/artifact/rt/vm/target/site/apidocs/index.html ahead-of-time compilation/transpiling] of any JVM bytecode classes to JavaScript.
 +
 
 +
<h3>JDK Core Libraries Emulation</h3>
 +
 
 +
The <b>Bck2Brwsr</b> VM emulates subset of <b>JDK7</b> class libraries called [http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/lastSuccessfulBuild/artifact/rt/emul/compact/target/site/apidocs/index.html bck2brwsr compact profile]. The <b>Bck2Brwsr</b> VM can however run on even smaller subset of classes called [http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/lastSuccessfulBuild/artifact/rt/emul/mini/target/site/apidocs/index.html bck2brwsr mini profile].
 +
 
 +
To implement native methods these libraries may use [http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/lastSuccessfulBuild/artifact/rt/core/target/site/apidocs/index.html JavaScriptBody & co.] annotations that allow direct communication with the JavaScript environment from Java. Btw. [http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/lastSuccessfulBuild/artifact/rt/core/target/site/apidocs/index.html these annotations] are [[Bck2Brwsr]] specific - there are however general annotations (work on <b>HotSpot</b>, [[Bck2Brwsr]], [[TeaVM]] and other VMs) which one can use to write own libraries that talk to JavaScript - see [https://bits.netbeans.org/html+java/1.7/net/java/html/js/package-summary.html HTML for Java] APIs.
 +
 
 +
Support for reading ZIP files has been moved into [http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/lastSuccessfulBuild/artifact/rt/emul/zip/target/site/apidocs/index.html separate library].
 +
 
 +
<h3>Launching & Testing</h3>
 +
 
 +
The testing framework of <b>bck2brwsr</b> is build on top of [http://testng.org TestNG] and enhances it with [http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/lastSuccessfulBuild/artifact/rt/vmtest/target/site/apidocs/index.html special support API].
 +
<p>
 +
To launch a [[Bck2brwsr]] application one can use generic [http://hudson.apidesign.org/hudson/job/bck2brwsr.javadoc/lastSuccessfulBuild/artifact/launcher/api/target/site/apidocs/index.html Launcher API].
 +
 
 +
<h3>Accessing HTML</h3>
 +
 
 +
Use [[Apache]] [http://bits.netbeans.org/html+java/1.7/net/java/html/json/package-summary.html MVVM library] or define your own library APIs (around existing JavaScript frameworks) using [http://bits.netbeans.org/html+java/1.7/net/java/html/js/package-summary.html @JavaScriptBody & co.] annotations.

Revision as of 06:09, 25 May 2020

The goal of Bck2Brwsr project is to create small Java virtual machine capable to boot fast in modern browsers (even without any Java plugin installed).

Contents

Build Your Own Virtual Machine!

Classes to perform ahead-of-time compilation/transpiling of any JVM bytecode classes to JavaScript.

JDK Core Libraries Emulation

The Bck2Brwsr VM emulates subset of JDK7 class libraries called bck2brwsr compact profile. The Bck2Brwsr VM can however run on even smaller subset of classes called bck2brwsr mini profile.

To implement native methods these libraries may use JavaScriptBody & co. annotations that allow direct communication with the JavaScript environment from Java. Btw. these annotations are Bck2Brwsr specific - there are however general annotations (work on HotSpot, Bck2Brwsr, TeaVM and other VMs) which one can use to write own libraries that talk to JavaScript - see HTML for Java APIs.

Support for reading ZIP files has been moved into separate library.

Launching & Testing

The testing framework of bck2brwsr is build on top of TestNG and enhances it with special support API.

To launch a Bck2brwsr application one can use generic Launcher API.

Accessing HTML

Use Apache MVVM library or define your own library APIs (around existing JavaScript frameworks) using @JavaScriptBody & co. annotations.

Personal tools
buy