For my master's thesis I had to evaluate GUI Libraries for J2ME (CLDC + MIDP). Because putting that evaluation in my thesis would be an overkill, I post it here, to make the evaluation for others easier.
Another evaluation was made by
Wendong Li.
Note:
This evaluation does not claim to cover every criteria. I list some arguments that - I think - give a good impression of the different libraries. Of course, if a library had a property, which made it impossible for me to use (like if it was not free) I stopped investigating further properties. I hope this table will help some of you to see the differences, advantages and disadvantages between the different GUI libraries of J2ME, furthermore
this list is a good starting point to start your own evaluation.
If you know some other libraries or have some additional information to the individual libraries, that you'd like to share, write a comment.
Name |
Comments |
License |
|---|
Paxmodept |
Special features: Expandable list items and tab-menus |
Commercial |
TWUIK |
Very powerful and really an eye-candy. Looks very sophisticated and gives your application the IPhone-Look. Check the demo of this twitter-client, to see how powerful it is. Unfortunately it's not free. |
Commercial |
J2ME Polish |
Very sophisticated. Is not only a library, but a whole development-framework. Allows to deploy different variants of applications for different mobile phones or different customers. Has built-in features like auto-completion of textfields. Possibility to seperate application logic and design through CSS-like layout. Plugins for Netbeans and Eclipse. Has ListLayout, TabLayout, GridLayout and TreeLayout. |
GPL |
Tinyline |
Seems to be better for graphical drawing, than for GUIs with components like textfields and navigation. |
Tinyline License |
Synclast |
Has containers like tablecontainer. Text in Textfields can only be entered all lower-case or all upper-case, there's no possibilty to switch the enter-mode during runtime. |
GPL |
APIME |
Seems to work only by mouse pointer navigation. Plus the javadoc is only in spanish. Nevertheless there are some nice components like progress bars and tooltips. |
GPL |
fire j2me |
Possibility of screen rotation and popup panels. As far as I can see, it has not layout managers, it assumes that all elements are aligned as lists. |
LGPL |
jMobileCore |
Some very clean components like checkboxes etc. but seems to support only normal alignment. no fancy containers like table-containers. Furthermore, there is no native use of the cell-phone textentry, only upper-case textfields without numbers for textentry. |
LGPL |
MWT - Micro Window Toolkit |
Demo-Applications were quite confusing in the emulator. Some weird behaviour (command-keys didn't work) and navigation via 2,4,6,8 instead of direction-keys. (Felix in the comments added, that the direction keys DO work.)
|
LGPL |
Nextel's Open Windowing Toolkit for J2ME Handsets |
also has a gridlayout and a flow-layout!
demo is directly in the sourcecode
disadvantage: very old (2001), doesn't seem to be continued
not as many layout-possibilities as with j2me polish |
Nextel license |
Thinlet |
Uses xml to add components.
contains all the components in one class-file
last midp-version was in 2002. respectively in 2005 (redesigned by Porsche Engineering (without documentation, only the java-file).
the now developed version is mainly thought as a lightweight component library for J2SE and Pocket PCs (J9 VM). |
LGPL |
Light Weight Visual Component Library |
Grid, Tree, list: A lot of possible components. Just a draft-version available at the moment |
GPL |
microEWT |
Has BoxLayout, GridLayout and BorderLayout and FlowLayout, but doesn't have tab-layout.
|
GPL |
J4ME |
Professional looking UI, support themes, logging framework included, get GPS information from internal GPS and external GPS pucks |
Apache 2.0 License |
Kuix |
User interface components can be arranged in an XML file. The style of the components is defined in a CSS file. Also has special components like tabbed forms. Very good looking interfaces. |
GPL |
TagsME |
Provides the possiblity to create GUIs with XML that work across different devices. |
not known yet |
Swing ME |
A J2ME implementation of Swing GUI |
LGPL |
kUI |
a Canvas based replacement for the high level LCDUI classes |
GPL |
LWUIT |
UI Library, supports theming, transitions, animation and more. |
GPLv2 |
J2ME GUI |
|
Special license |
Flemil |
Uses less memory and supports themes and layout switching. |
Commercial license |