Bck2Brwsr

From APIDesign

(Difference between revisions)
Jump to: navigation, search
(Demo)
Line 1: Line 1:
During my duties at [[JavaOne2012]] my feeling (gained by observing various [[RSS]] feeds like hackernews) that [[Java]] is no longer as [[cool]] as it used to be straightened. It always starts by loosing interest of newcomers, targeting just a piece of the technology segment and soon [[Java]] becomes new [[COBOL]]. Just read [http://mashable.com/2012/11/12/javascript/ Is JavaScript the Future of Programming?] and (if you like [[Java]]), you'll get scared. I decided to do something about that. I'd like to return my favorite programming language [[Bck2Brwsr]].
During my duties at [[JavaOne2012]] my feeling (gained by observing various [[RSS]] feeds like hackernews) that [[Java]] is no longer as [[cool]] as it used to be straightened. It always starts by loosing interest of newcomers, targeting just a piece of the technology segment and soon [[Java]] becomes new [[COBOL]]. Just read [http://mashable.com/2012/11/12/javascript/ Is JavaScript the Future of Programming?] and (if you like [[Java]]), you'll get scared. I decided to do something about that. I'd like to return my favorite programming language [[Bck2Brwsr]].
 +
 +
== Goals ==
 +
 +
Create '''small''' [[Java]] capable to boot fast and run in 100% of modern browsers including those that have no special support for [[Java]].
 +
 +
Demonstrate that [[Java]] has benefits over [[JavaScript]] when creating larger [[HTML5]] applications.
 +
 +
Unlike other similar efforts, the goal of this project is '''not''' to execute any existing [[Java]] library. It is expected that libraries for the new, limited environment need to be specially designed.
== Demo ==
== Demo ==
-
Here is a trivial [http://hudson.apidesign.org/hudson/job/bck2brwsr/lastSuccessfulBuild/artifact/javaquery/demo-calculator/target/classes/org/apidesign/bck2brwsr/mavenhtml/Calculator.xhtml Calculator] written in [[Java]] running in your browser regardless whather you installed [[Java]] plugin or not.
+
A trivial [http://hudson.apidesign.org/hudson/job/bck2brwsr/lastSuccessfulBuild/artifact/javaquery/demo-calculator/target/classes/org/apidesign/bck2brwsr/mavenhtml/Calculator.xhtml Calculator demo] written in [[Java]] running in your browser regardless whather you installed [[Java]] plugin or not.
 +
 
 +
 
 +
== TODO ==
 +
 
 +
Although the system is capable to run and execute trivial applications, there remains tons of things to improve and fix. Any help is welcomed. Just let me know if something interests you:
 +
 
 +
* Throwing and catching [[Exceptions]] - Tomáš Z. volunteered
 +
* Speed (e.g. rewrite to register based system)
 +
* Support for converting [[ByteCode]] in the browser - half baked by me
 +
* More precise number support (int32, int64, float, etc.)
 +
* [[API]] for drawing on the canvas
 +
* Convertor from [[GWT]]'s native code to [[Bck2Brwsr]]'s ''@JavaScriptBody''
 +
* Method overriding with various modifiers
 +
* Basic reflection support (e.g. [[Bck2Brwsr]] throws {{JDK|java/lang|SecurityException}} when allowed), but for example Class.newInstance() should work.

Revision as of 22:38, 21 November 2012

During my duties at JavaOne2012 my feeling (gained by observing various RSS feeds like hackernews) that Java is no longer as cool as it used to be straightened. It always starts by loosing interest of newcomers, targeting just a piece of the technology segment and soon Java becomes new COBOL. Just read Is JavaScript the Future of Programming? and (if you like Java), you'll get scared. I decided to do something about that. I'd like to return my favorite programming language Bck2Brwsr.

Goals

Create small Java capable to boot fast and run in 100% of modern browsers including those that have no special support for Java.

Demonstrate that Java has benefits over JavaScript when creating larger HTML5 applications.

Unlike other similar efforts, the goal of this project is not to execute any existing Java library. It is expected that libraries for the new, limited environment need to be specially designed.

Demo

A trivial Calculator demo written in Java running in your browser regardless whather you installed Java plugin or not.


TODO

Although the system is capable to run and execute trivial applications, there remains tons of things to improve and fix. Any help is welcomed. Just let me know if something interests you:

  • Throwing and catching Exceptions - Tomáš Z. volunteered
  • Speed (e.g. rewrite to register based system)
  • Support for converting ByteCode in the browser - half baked by me
  • More precise number support (int32, int64, float, etc.)
  • API for drawing on the canvas
  • Convertor from GWT's native code to Bck2Brwsr's @JavaScriptBody
  • Method overriding with various modifiers
  • Basic reflection support (e.g. Bck2Brwsr throws SecurityException when allowed), but for example Class.newInstance() should work.
Personal tools
buy