Bck2BrwsrJavadoc

From APIDesign

(Difference between revisions)
Jump to: navigation, search
Line 3: Line 3:
<h3>Build Your Own Virtual Machine!</h3>
<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.
+
Classes that allows you 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 in your own applications.
<h3>JDK Core Libraries Emulation</h3>
<h3>JDK Core Libraries Emulation</h3>

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 that allows you to perform ahead-of-time compilation/transpiling of any JVM bytecode classes to JavaScript in your own applications.

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