Thick Client - Java ME

Thick Client - GCC Mapz (Java ME - MIDlet)  

For mobile apps written in Java, there are a number of considerations to entertain.  Since the Java environment is supported on the greatest number of operating systems (versus .Net which is only supported on Window Mobile/Smartphone devices) it has a much more robust architecture (bottom line - more choices). I have chosen a CLDC MIDP (Java MIDlet) app to similulate my GCC Mapz application. 

The user interface design for Java was a bit of a challenge.  Whereas the .Net environment and the Standard Java SDK support similar screen controls (i.e. command buttons, menus, tabs, combo boxes, etc.)
, the Java MIDlet uses phone buttons for command buttons along with different techniques for event handling (more about this later... very techie stuff).  I have chosen a somewhat simple version of the GCC Mapz program.  I am going to leave it with its limited functions until after I work with Google Android (another Java based solution).  I will use this project in understanding mobile app deployment later in the project.

Analysis: Java Wireless Toolkit 2.5.2

Strengths:
  • Most stable and been around the longest
  • Some examples on the Internet
  • The components are many and have most or what you would want for development
  • Decent documentation with examples
  • Interface very easy to understand
Weaknesses:
  • No coordinated IDE that you can use to access all of the necessary tools for development
  • No integrated debugger (BIG PROBLEM)
  • Documentation could be better

NetBeans 6.0.1

Strenghts
  • Integrated IDE - All tools available from one program
  • Good debugger
  • Included Examples
  • View Design (see weaknesses)
  • Has tools unavailable to the JavaWireless Toolkit
Weaknesses
  • Document voluminous but not as helpful as could be
  • A big foot print on install (takes a lot if space)
  • If you use Visual Tools development is quite a bit different that without the visual designers where development is similar to Java ME SDK
  • The IDE has so much attached to it that it can be difficult to use
Java Development Winner:

NetBeans (so far).... Without an integrated debugger Java mobile apps are a challenge. Java mobile apps are fundamentally different than with a Windowed app and requires practice to become proficient. Bottom line... Even if you are good at Java apps you will need to learn a additional skills for mobile apps. This is contrasted with the .Net IDE Visual Studio where development in a PC or mobile world is almost identical.


What the Java mobile environment needs is more examples and the programmer needs a lot of time to get comfortable with the design and coding. Screen controls for Java are fewer and less robust than their PC counterparts. As you will read in my thick client review of Java, I had to cut back on some of the features build into the .Net GCC Mapz program because of limitations (mostly caused by my inexperience with this part of Java).


More Information on Java: Intoduction to Java MD Environment - http://java.sun.com/javame/technology/index.jsp

The GCC Mapz application lets the user view the entire campus map (a little difficult to make out specific buildings) and quadrant images which represent roughly one quarter of the screen.  The user can also search a building based on the builder name selected from a combo box (note: since this is a test system, not all buildings are loaded).

The screen shots are of a cell phone emulator that comes with Netbeans IDE 6.0.1

Main Start-Up Screen (note Back and Exit Buttons at bottom of display)




This is a display from the NE Selection



Java Selection Screen (tabbed dialog not used in this version)




Display GCC Mapz Java Source




return to home page