Ewe is comprised of a small footprint, highly optimized Java byte-code
interpreter (a Virtual Machine) and a powerful but compact Java class
library. Not only are all the Ewe VM implementations
available for download for free, but so is the Ewe SDK along with the Ewe
Application Development guide. You can read
the first chapter of this, which is an introduction to the SDK. The Ewe SDK not only allows you to write
100% portable Ewe applications, but also allows you to re-package your
completed applications into a number of forms. This includes: ü
Native Windows and
WinCE EXE files (which can include their own icons). ü
Java 1.2 compatible JAR
files for execution on Java VMs. ü
Java 1.2 compatible Applets. All without having to change a single line
of code. How is this possible? Using the Jewel program builder
provided along with Ewe. You can read about it here
an extract from the Ewe Application Development guide which is available in
the downloads section. So Ewe is just another Java
VM implementation? No, the Ewe VM is
not a Java VM since it does not implement a very small number of Java
features, nor does it use any of the "standard" Java libraries and
API. Ewe has its own set of utility, network, zip, gui and other packages. If it is not a true Java
VM, how can Ewe applications run on a true Java VM? Ewe introduces
nothing new into the Java language, it simply makes you refrain from using a
small number of Java features. Your application will therefore still be a
true Java application, but it will be targeted for the Ewe libraries instead
of the Java libraries. After you write
your Ewe application you can package it as a Java JAR application
which includes within it the Ewe library for Java. You can package it to
execute on a Java 1.2+ VM. The resulting application will run exactly the
same as on a Ewe VM. This gives it maximum portability. So why should I program for
Ewe instead of for a true Java VM? For maximum
performance and portability. Look at it this way – if you program in Java you
have a number of choices. If you target a
Java 1.2 VM with SWING it will work
and look fine on the desktop, but you can forget about it running on a mobile
device - unless it has had its OS removed and replaced with a special Java 2
compliant OS. This is possible for PocketPC devices, but who is going to ask
their customers to replace the entire device OS? If you target
PersonalJava with AWT it will work
on the desktop and on a few mobile devices but (i) very few mobile devices
come with PersonalJava pre-installed, (ii) there does not appear to be free
PersonalJava implementations for the other devices and (iii) your application
will not look good on the desktop due to AWT's very primitive look and
capabilities. Put simply, if you target PersonalJava you will still
need to write a Java 1.2 version for the desktop and you will
be very limited as to the mobile devices you can target. If you target
the Ewe VM your application will
work on the desktop and will work on more mobile devices than a
PersonalJava application. Furthermore, your application will look good on the
desktop and the mobile device since the GUI library in Ewe is far
superior to AWT, and very close to SWING. On top of which
the Ewe VM simply works better than PersonalJava on mobile devices. You can
get a full comparison of the Ewe
VM vs. PersonalJava right here. But will my existing
development tools be of any use? Absolutely.
Programming for Ewe is the same as programming for Java except for the
different class library. Any Java compiler will compile Ewe applications.
Then you can use the Ewe VM or a Java VM to test and debug them. Exactly what features are
available in Ewe? Quite a lot, go here for details on them. Can I program for mobile
phones using Ewe? Currently only
Microsoft SmartPhones can run Ewe. Phones which use other WindowsCE or Linux
platforms should also be able to run the Ewe VM, but phones which use Symbian
or proprietary OSes will not. What about licensing? Ewe is royalty
free. You can distribute the VM with your application. In fact you can
create an auto-installer for your application that will install the VM (if
necessary) and your application at the same time. For technical
“under the hood” details, including information on portability issues, go
to this page. Need to get a VM to run Ewe programs on your system? Then go to the Downloads section. Interested in writing programs for Ewe? Head to the Developer’s Page section. Ewe, developed by Michael L Brereton, is an extension of the original Waba VM written by Rick Wild at Wabasoft. Visit their site at www.wabasoft.com to get all the info on Waba. |