Mobility pack in NetBeans

· JavaJ2ME

Now, if you haven't seen the mobility pack RC2 for NetBeans 5, go and download it now. Seriously. Even if you don't want to develop anything for a cellular phone, even if it doesn't interest you in the slightest manner. Just do it. I played with it a little bit today, and even though I am not much of a fan for mobile device programming, I couldn't help giving out a "wow". For a mere 20 MB download (80 MB including NetBeans) you get a great tool, and that can't be neglected. These are my thoughts:

Things I liked

  • The Form EditorThe editor is just slick. It makes you feel like editing a window form. It's easy, it's drag-and-drop, it has a components toolbox - Anything you'd expect, but inside a ceullular phone form.
  • Generated code The generated code is just incredible. I've tried MIDP in the past, and the most horrible part is listening to the phone's buttons events, and then deciding on what component the user was highlighting when the button was clicked. NetBeans Mobility creates the entire code for you, leaving you with only writing your application's logic.
  • Form Traversal If you've ever worked with Java Studio Creator, you've seen it had a "flow" for pages, where a certain event would trigger a movement between web forms. The same thing in Mobility: Connect between cellular forms in a graphical environment; Mobility will do the rest.
  • Read only code Just like in Matisse, the generated code - form traversal, event and sender decisions talked about before - Are read only, preventing the developer from accidently ruining some sensitive auto-generated code.

Things I hope to see

Even though Mobility is a great tool for mobile device programming, there are some things I wished I saw there.
  • Support for Graphical phones With phones becoming more and more advanced, and JSR 184 (Mobile 3D Graphics API for J2ME) already released, a package of pre-made graphical controls could have been created and integrated with the editor to help create richer applications.
  • Connectivity to J2EE Since J2ME provides no RMI library, and J2EE requires it, a proxy is required, which is described in this presentation. If NetBeans Mobility could provide a way to automate this process, and to graphically design a connection between a form and an EJB, would make so many things just a lot simpler.

Conclusions

Haven't you heard? Try it!

Comments (8)

Lukas
You probably missed the J2ME Web Services Client... and Mobile Client to Web Application... These to enables you easily connect to a web service or just comunicate with your class or servlet on server. Isn't it enought for connecting to j2ee? http://blogs.sun.com/roller/page/lukas?entry=connecting_to_a_webservice_in
Lukas
Well, i went through the J2EE presentation. That's exactly what exist in mobility pack for at least 3 years :)))))
Avah
What you talk about is NetBeans implementation for JSR 172 (for those who lost what we are talking about). I honestly missed that part out but saw it this morning, and thought about adding it to the post. You beat me to it. :) I will try it a bit and say what I think of it.. :)
Lukas
Avah, there are two things. First is implementation of JSR172 - this is area of the J2ME Web Services Client… wizard. It generates the stubs etc. according to JSR172. Second is solution for devices without JSR172. This where Mobile Client to Web Application… serves you. It generates both sides of communication. The mobile client and the server side into a web project. You have to have the sources of the web project because it will generate classes into this web project too. You convinced me to write more in my blog in next weeks. I'msick right now so maybe next week... New tutorials abot this area should be available too. There is only one right now - http://www.netbeans.org/kb/50/demo-end2end.html
Avah
Great. Could you please keep me posted too? By the way, when will I finally be able to download Mobility for Mac? :)
Lukas
Keep posted? I'll try to let you know... Watch my blog and you cannot miss it ;) I already answered your question about Mac in comments on Roumen's blog. The answer is still the same - mobility pack doesn't consider Mac platform really interesting yet. It's not worth the effort. All the major vendors ar building SDKs with emulator mostly for windows and sometimes for linux. There is only mpowerplyer available on Mac, AFAIK. From my QE point of view it'd mean to test another platform for a few users. I'm really sorry t say that. I would expect different solution. When the mobility pack will be opensourced we will provide zip distribution. Mac stil won't be supported platform but there will be easy way how to use it on Mac. Anyway, you still have choce to convince me that there is lot of users that would like to see the mobility pack on Mac - vote for http://www.netbeans.org/issues/show_bug.cgi?id=53076
Lukas
You might be interested in http://blogs.sun.com/lukas/entry/mobility_on_leopard