Slashdot Mirror


Programming Wireless Devices With Java 2

Jeff Carroll writes "Developers building Java applications for wireless handheld devices have been looking forward for some time now to the release of devices supporting version 2.0 of the Connected Limited Device Configuration (CLDC), and version 1.1 of the Mobile Information Device Profile (MIDP). These new releases contain support for features demanded by developers that didn't make the original releases. In support of CLDC 2.0 and MIDP 1.1, Roger Riggs and his team of authors from Sun, Nokia, and Motorola have released Programming Wireless Devices with the Java 2 Platform, Micro Edition, Second Edition (since I don't have a copy of the first edition, I can only evaluate the new edition on its own merits)." (Read on for his review.) Update: 07/23 16:31 GMT by T : Whoops -- that's CLDC 1.1 and MIDP 2.0, not the other way around. Programming Wireless Devices with the Java 2 Platform, Micro Edition, 2ed. author Roger Riggs, Antero Taivalsaari, Jim Van Peursem, Jyri Huopaniemi, Mark Patel, Aleksi Uotila pages 464 publisher Addison-Wesley Professional rating 7 reviewer Jeff Carroll ISBN 0321197984 summary In-depth introduction to and reference on CLDC 2.0 and MIDP 1.1.

As is characteristic of the titles I've seen from Sun's Java series, this book goes into great detail about architectural decisions, standards process, and philosophy underlying the new release. The first six chapters are given over to this discussion. This material is mostly great for experienced developers seeking a deeper understanding, occasionally so abstract as to be silly (as in the case of the Java washing machine and its downloadable stain-removing code), but likely to be of only secondary interest to new J2ME developers focused on coming up to speed.

What this book does best is comprehensive exposition of the J2ME APIs. There are chapters dedicated to the APIs for forms, graphics, games, sound, persistence, and networking, with code samples offered in most cases, and a Java Almanac-style reference to all J2ME-specific classes and interfaces is provided as an appendix. Features that are new to the J2ME second edition are clearly identified.

The remainder of the book constitutes a detailed discussion of the new technologies for event-driven launch, application security, and over-the-air deployment, perhaps the most potentially confusing of which is event-driven application launch. While the book explains the new technology well, it doesn't address how it will be introduced by network operators, or how it might interact with or replace similar existing proprietary technologies such as Sprint's MUGlets.

Another subject that is not dealt with here that will soon be relevant to developers for any particular J2ME-supporting network is that of optional packages (OPs) - features to be supported at the option of particular device vendors and/or network service providers. It is fairly clear that, going forward, the wireless network infrastructure and its supported features will be an integral part of the J2ME platform that will have to be taken into account by developers, and books which fail to discuss popular and commonly adopted OPs will be of limited usefulness (you'd think that Sun would know that after all that rhetoric about the network being the computer). In general, a book of this sort would benefit from the participation of network operators, as it does from that of device manufacturers Nokia and Motorola.

All the code samples and background on architecture notwithstanding, this book is clearly targeted at experienced Java programmers, not handheld device programmers working in other technologies. If you don't already know Java, this book will not teach you. There is also nothing said here about selection, configuration, or use of development tools; readers who are not already adept at the use of J2ME development tools, including the Wireless Tool Kit (WTK), should not expect to acquire that knowledge from this book. (People who need help in this area may want to consider Jonathan Knudsen's Wireless Java or Kim Topley's J2ME in a Nutshell.)

Keeping the aforementioned caveats in mind, this is an excellent introduction to and reference on the new release of J2ME.

You can purchase Programming Wireless Devices with the Java 2 Platform, Micro Edition, 2ed. from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

8 of 108 comments (clear)

  1. ahahah by Anonymous Coward · · Score: -1, Troll

    Using Java on wireless devices is INSANE!!

    AHAHAHAHHHAH

  2. I thought Java was doomed by TerryAtWork · · Score: -1, Troll

    I've been told Python does everything Java does and better.

    Whats to believe?

    --
    It's Christmas everyday with BitTorrent.
  3. -1 Troll by Anonymous Coward · · Score: -1, Troll
    Developers building Java applications for wireless handheld devices have been looking forward for some time now...

    And 99.99% of everyone else, including 99.9% of the people who read slashdot, dont give a FLYING FUCK!

  4. I don't understand... by Anonymous Coward · · Score: -1, Troll

    ...why should people use Java on wireless devices when they could use the superior .NET ?? .NET has lower TCO and development time is smaller thanks to the superior design of .NET API and thanks to VisualStudio.NET, the best IDE of all time!

    1. Re:I don't understand... by Anonymous Coward · · Score: -1, Troll

      Right on brother!!! Preach the truth my man!! This stupid linux dumbasses need some serious edumacatin'!!

  5. Washing Machines and Ad-hoc Networks by Vagary · · Score: -1, Troll

    Actually it's quite reasonable for a washing machine equipped with something like Maytag's StainBrain stain database to be able to download new stain algorithms. It's even reasonable that they'd be encoded as a serialized Java object that would call the appropriate hardware control methods.

    However what doesn't make sense is using Java on wireless devices. One of the great misfortunes of the Information Age is that battery power has not kept up with Moore's Law. As a result, wireless devices need to be very stingy with their power when they are required to be broadcasters such as in ad-hoc wireless networks. And the best way to waste power is to use a language so inefficient that it runs on a virtual machine. The only time I could imagine using Java on a wireless device beyond prototyping is if the device contains a Java CPU.

    Is anybody out there actually applying the stuff in this book? Or is everyone just reading it for fun?

  6. Slashbot book review by rkz · · Score: 1, Troll

    This one is a great addition to the book shelf, you all know how to use basic java under J2ME but this book clarifies nicely why you are actually doing it the way you are. Also, it introduces nice advanced concepts which regular java programmers might not have come across before.

  7. Re:Games? by Anonymous Coward · · Score: -1, Troll

    It still sucks...

    The people setting these standards obviously don't have any competence whatsoever about how games are made.