views:

1350

answers:

10

Guys, I'm developing a Java ME app & need pointers to some really good UI libraries. I did see a few such as JavaME Polish. Are there any more out there? For e.g. ebuddy's java ME app has an amazing UI and so is gmail's java ME app. What libraries would they have been using or would have they have developed it on their own?

Please help me.

Thanks.

A: 

I've used SWT when deploying to a full profile J2ME (IBM J9 on PocketPC), I don't know if it is usable by MIDlets however. It's quite a nice GUI library in its own way, and far better than AWT.

JeeBee
+3  A: 

eSWT would be available for MIDlets on the latest J9 VM, as used by the Series60 3rd Edition feature Pack 2 handsets (Nokia N78, 6210, N96...) but we're mainly talking about nicer looking UI controls. Basically, a MIDlet can look much more like a native application now.

Sun has recently open-sourced LWUIT.That could also be worth a look.

Nothing beats drawing your own images on a Canvas,though. Generic layout managers in any kind of library will only get you so far. You should only look at the available technologies once you have a good idea of how many different kind of screens your application should have and what they look like.

QuickRecipesOnSymbianOS
+6  A: 

Sun recently released and opensourced their solution to crappy looking lcdui. It is called LIghtweight UI Toolkit and can be found on lwuit.dev.java.net

Honza
A: 

Guys, thanks a lot for the response so far. I will try them and get back here.

-1:Not an answer
Casebash
+2  A: 

Most of the apps with amazing UIs (Opera Mini, Gmail, any game from an AAA developer) use custom UIs developed in-house. These developers take the task of developing an UI as one more in their projects and give it personality, involving professional graphic designers. Going with a packaged library would quickly accomplish the task but it would make the application look generic and bland (less bland that with the default UI, but still bland and limited).

In short, go with a packaged UI for quick development, but don't expect the level of quality to be near the apps you mentioned.

Carlos Carrasco
+1  A: 

I'm facing a similar dilemma right now. We're currently using the default, high-level LCDUI framework for the speed of development, but its severely limiting what we can do. I had thought our best option would be to use a third-party UI framework, but I'm now coninced that if we're serious about the application we should write our own. Its like anything in software, if its mission critical to your application you should write it yourself, even if it that means re-inventing the wheel.

roryf
+3  A: 

We have been trying lately on kuix.. So far so good and more light weight than LWUIT code.http://code.google.com/p/kuix

Azlam
This project appears inactive - its website http://www.kalmeo.org/projects/kuix is dead. There aren't many screenshots on the site anyway, so I can't see how good it is
Casebash
+2  A: 

Digitalapes has developed a framework for J2ME application development that includes a high level UI library.

The library is lightweight and well documented, you can get have a look at the Gear framework page for more information, or you can directly download the JAR and javadoc from Gear's sourceforge page.

Digitalapes blog includes also a series of tutorial about how to use the framework.

Paolo
A: 

Polish has really nice set of UI components, which are skinable with css style comments. It also features a device database for compatibility purposes.

Some tipps if you decide to go with polish (as i did):

  1. Use eclipse and the mepose plugin. The netbeans integration is really nerve wracking.
  2. The bulletin board is dead, so by all means !use the mailing list!.
  3. If you are not familiar with the ant building system, you better start now.
  4. The J2ME Polish book is not worth its money. (My opinion). The documentation on their website and the sample coded are enough to give you a solid start.
zhengtonic
A: 

Unfortunately companies usually end up designing their own GUI's when it comes to mobile development. It's the only way to have full control over your interfaces, but you should consider if it's worth the additional development time, and you're also on your own when it comes to device compatibility issues / handset bugs - of which there are plenty.

If you are happy with a less flexible interface, you can go with one of the existing libraries. I currently use J2ME GUI from http://www.garcer.com/. We get the same flexibility as with desktop development and it also features custom styling, so with a little extra effort you can make it look the way you want it to.

mobi