SuperWaba
From Wikipedia, the free encyclopedia
SuperWaba is a Java-like virtual machine (VM) that targets portable devices. Software developers use APIs, accessed through associated libraries (packaged as Jars) and small tools (together composing a software development kit), to create applications that can run within the VM on supported platforms.
Contents |
[edit] Architecture
The SuperWaba VM and API implement a subset of the Java programming language, which allows it to run under a standard Java VM or as a Java applet. This in contrast to the Java Micro Edition which was designed under a different Java specification than that used by the Java Standard Edition. Classes compiled for the SuperWaba VM must be compiled for Java 2, Standard Edition 1.2 compatibility.
Note that the SuperWaba VM does not conform to a particular specification. However, the SuperWaba API allows for recomiplation of an application's classes to the Java Standard Edition. When an application is retargeted in this fashion, all versions of the Java Standard Edition are supported.
Despite its likeness to the Java 2 standard edition specification, SuperWaba is appropriately constrained for hardware limitations typically encountered on portable devices. In particular, the SuperWaba VM has been optimised for use on devices with small screens. Compiled code runs at 1/3 to 1/2 the speed of a pure "C" application on a Palm platform, and on a Windows 32 platform is approximately three to four times faster than a JIT-compiled Java due partly to its integer-only implementation. Additional mathematics libraries for non-integer arithmetic are provided with the (SDK).
The SuperWaba VM and API are both extensible. They are published under the GPL free software license. Additionally, licensees may purchase an LGPL version, that enables them to link it with proprietary software. Applications and libraries written for SuperWaba may be sold, but the majority appear to be available as free software from the main website.
[edit] History
SuperWaba evolved from the Waba project which was an independent forerunner of Java ME. Unfortunately, it did not port the VMs for MS-DOS and the Palm OS versions, which the original Waba project did. SuperWaba split off the Ewe project which catered for Windows CE devices, but was fortunately persuaded to merge again to provide the basis for the current cross-platform code base.
Since the 5.0 release, SuperWaba has used the SDL library for driving the display, which increases its portability to many other platforms.
TotalCross, the successor of SuperWaba,[1] is due to be released July 2008.
[edit] Integration and Support
SuperWaba applications can be developed under any JDK supporting Java 1.2 or greater, and the libraries and tools integrate with development environments such as Eclipse, JBuilder, etc. The VM runs on the following platforms:
- Windows CE 3.0 and above
- PocketPC - iPAQ, Axim etc.
- Palm OS 2.0 and above
- Palm OS 5 optimized for ARM CPUs
- Symbian series 60 & UIQ devices
- Linux: Debian, Red Hat, etc.
- Windows 98, XP, Me, 2000
- Browser-based Java applets
SuperWaba libraries offer a variety of capabilities, from barcode scanners to complex mathematics. The SuperWaba website features a wiki for developers and users to contribute to the project.