|
|
||
Overview . Download . Apollo @ Sourceforge |
Note, this page has moved and now lives at http://ajax.sourceforge.net/apollo. Please click on the new address and update any bookmarks you might have. |
Apollo is an open-source developer test skeleton toolkit for Web Start. Apollo lets you turbo-charge Web Start apps without Web Start to speed up your compile/run/test/debug/goof-off cycle avoiding the hassle of stuffing, signing, uploading or downloading your jars every time you rearrange a comma in your source code.
Apollo is not a replacement for Web Start (OpenJNLP, NetX or any other app launcher). Apollo is more like a test emulator (such as POSE - Palm OS Emulator) helping you to speed up your development between full-blown, time-consuming, irreplaceable, real Web Start workouts. Apollo can't fake every Web Start bell and whistle (e.g. download on demand) but outshines Sun's Web Start dumb dev pack stubs that merely let you compile your source. Apollo lets you popup your household browser and more without calling in the Web Start machinery.
Apollo consists of a jar that you can use to replace Sun's javax.jnlpx
stubs
residing in jnlp.jar
that only allow you to compile your code and
that ship with Sun's Web Start dev pack.
Apollo is a thin wrapper around Sun's javax.jnlpx
services.
If your app runs under Web Start Apollo will automatically detect it
and pass all runtime service calls (such as poping up a browser window)
on to the Web Start engine.
If your app, however, runs without Web Start Apollo will kick in
and mimick Web Start's runtime services.
To use Apollo replace all javax.jnlpx
imports with apollo
.
Example:
import javax.jnlpx.*; // Web Start only import apollo.*; // Web Start plus Apollo-propelled stand-alone launching
To spare you from learning yet another API set
Apollo reuses all runtime service class and method names.
The only exception is Apollo's ServiceManager
class
that adds type-safe methods to
lookup pre-defined runtime services (e.g. lookupBasicService()
)
avoiding unexpected runtime errors and reducing source code bloat.
Example:
import javax.jnlp.* ... BasicService bs = (BasicService) ServiceManager.lookup( "javax.jnlp.BasicService" ); bs.showDocument( new URL( "http://vamphq.com/times" ) );
becomes
import apollo.*; ... BasicService bs = ServiceManager.lookupBasicService(); bs.showDocument( new URL( "http://vamphq.com/times" ) );
or
import apollo.*; ... ServiceManager.lookupBasicService().showDocument( new URL( "http://vamphq.com/times" ) );
That's all for today.
Apollo currently only supports the javax.jnlp.BrowserService
service.
More services such as
muffins (aka persistence/isolated storage)
will follow.
Browser Launchers
BrowserLauncher
class (frozen since 2000)
- http://browserlauncher.sourceforge.net
Full-fledged, open-source app launchers (aka Web Start clones)
Misc
|
Send your comments, suggestions, praise or poems to webmistress@vamphq.com | Copyright © 2001, 2002, 2003 Gerald Bauer |