rhino, org.xwt.js, and nitrogen

Adam Megacz <[email protected]> 11 May 2003 21:52:39 -0700
Newsgroups gmane.comp.java.xwt.announce
Organization XWT
Message-ID <[email protected]>
We're Rhino-free now!

The xwt/src/org/mozilla directory is gone, in its place we have
org/xwt/js.  The Rhino codebase was 36,827 lines of code; the new JS
engine is only 1,454 lines.  That's 1/25th the size.  I should point
out here that Rhino is an awesome project and does much, much, much,
much more than org.xwt.js does (or ever will), but we only ever needed
a very tiny portion of it.  Using Rhino for XWT was overkill.

Stuff that's still missing/broken on HEAD as a result of this:

  - PAC Proxy script support is disabled
  - The Date and Regexp objects are missing; String and Math are incomplete
  - The protection against loading a new template over an old one is disabled
  - $-vars are no longer private; you can read another box's $foo properties (this is a bug)
  - The reapply logic is gone; if you apply a second theme, stuff will not work right.
  - xwt.parseInt(), xwt.parseFloat() and a few other minor xwt.* functions are missing
  - The /foo/ regexp syntax is gone, and probably won't come back; use xwt.regexp("foo").
  - using commas to delimit statements doesn't work right -- ie for(i=0;i<10;i++,j++)
  - javascript lets you omit semicolons if they appear at the end of a line; this is not supported

Please don't submit bug reports or post about bugs; there are still
enough that I don't need help finding them ;)

Thanks for your patience on this; a whole ton of other features
couldn't be done until this was finished.  Good things that are now
possible:

  - MUCH better javascript performance and memory footprint.  XWT on
    PalmOS (m68k) is now feasible.  The load on gcj's garbage
    collector (which is not as good as HotSpot's since it's a
    conservative collector) will be much more reasonable since we
    won't need so many short-lived objects, and we can recycle the
    ones we're forced to create.

  - Single-threaded XWT (better performance, portable to less
    sophisticated devices/systems).

  - Implementing the Grand Unified Theory of Resources is now
    possible.

  - Myriad other minor quirks that couldn't be fixed without learning
    more about Rhino than I cared to know.

  - 'and' is now a full-fledged lexer token instead of a gross XML
    parser hack.

In a few days I'll start posting suggestions for how people can help
finish up org.xwt.js.  Two biggies are finishing the Regexp and Math
classes, but please hold off on this until I'm certain that the
org.xwt.js.JS api is stable so that we don't run into too much rework.

I'd also like to set a release criteria and a target date for
Nitrogen.  I'm leaving for a three week trip to Peru in mid-July, so
that will probably be the target date.  Very likely to be included in
the criteria: getting the new JS engine 100% working, GUT, enough of
SVG to do SVG fonts.  Also in the criteria will be stable, finalized
xwt.theme and xwt.widget namespace, as well as a working demo and at
least one fully working theme.

  - a



_______________________________________________
http://lists.xwt.org/listinfo/announce