Slashdot Mirror


Best Platform For Hobbyist Mobile Development?

An anonymous reader notes a blog entry, possibly his own, comparing and evaluating 8 mobile platforms from the point of view of their suitability for a hobbyist programmer. Covered are iPhone, Java ME, Windows Mobile, Linux, Palm, Brew, Symbian, and Blackberry. The writer seems open-minded and is a strong fan of free software, but he gives the edge to Windows Mobile for this class of developer.

7 of 143 comments (clear)

  1. Mostly useless by Anonymous Coward · · Score: 5, Insightful

    Not only is it not well written, many of the platforms are there just for show, as he knows nothing about them.

    Examples:

    iPhone

    It's not clear he's developed for it. He spends his time whining about the closed SDK, which is valid enough, but could have simply said "Apple doesn't welcome outside developers currently". And left it off.

    Blackberry

    I can just quote him

    "Next comes the blackberry, I have no idea about this as a programming platform so cannot say much about the SDK support."

    Brew

    And here:

    Brew as a platform is great but its not a platform for a hobbyist programmer. The tools are "supposed to be good. I have never directly worked on a brew project so cannot say much about it."

    Linux

    (goes off boring us about his dislike of GPL (fine, but out of place). And then finally gets to the matter

    (His JavaME and Windows Mobile coverage is decentish)

  2. Re:Badly written by Iftekhar25 · · Score: 5, Informative
    This article is fluff. The section on the iPhone is common knowledge. He's never touched the Blackberry, never worked on Brew, he's waiting for Palm to do something, there's no indication he's developed anything on Symbian, and he "doesn't see any way" to develop for Linux because of lack of tools.


    Nothing to see here.

  3. Oblig OpenMoko shill by Anonymous Coward · · Score: 5, Informative

    Of course, if it's just for yourself, you should check out the OpenMoko. It is the most open phone with the best developer support. You are literally writing GTK apps running on real Xorg and real Linux. And the whole point is that it's open, so no vendor trying to lock you out.

    And the Neo 1973 GTA02 hardware is looking to be pretty sweet. Includes 3D accelerometer, GPS, WiFi, Bluetooth, and touch screen (with rumor of enabling multitouch through a driver update).

  4. My Take by RAMMS+EIN · · Score: 5, Interesting

    I don't have a lot of time, but I'll just quickly give you all my take, without going into details too much.

    1. J2ME. It's the Java you all know and either love or hate, but with a different library. Some things work the same way as they do on the desktop. Some things work differently. And some don't work at all. Generally, there will be differences from device to device. Lots of devices come with J2ME implementations. Developing tools are freely available. J2ME seems to be a relatively stable target.

    2. Linux. It's Linux. In theory, it's the same as desktop, server, etc. Linux. You should be able to use the same developing tools and libraries, which are freely available. In practice, devices may have odd differences and limitations compared to desktops running Linux. Sometimes, vendors go out of their way to introduce incompatibilities. It's a mine field. The number of devices Linux runs on is limited, and the ones you can reasonably limited are fewer still. Although the core of the platform is stable, parts of it are very much moving targets.

    3. Windows Mobile (formerly known an Windows CE and Pocket PC). Pretends to be Windows but isn't. The platform has odd limitations and restrictions that differ from version to version and from device to device. Developer tools are available, but not necessarily free of charge. It all depends on the target device, its configuration, and the version of Windows Mobile. In general, you will have to pay for developer tools, compile different versions of your app for different targets, and pay for signatures on some targets. Many devices come with some incarnation of Windows Mobile on them. The whole platform is a moving target, with incompatibilities introduced at about every release.

    The way I see it, of the three, Java wins hands down. It's the only one that is actually workable.

    I don't know where Vivek is coming from when he says ``I never thought that Windows Mobile would take the pie, but for a hobbyist programmer they offer the best SDK's and you can make applications without worrying about certificates while testing and debugging. With a windows mobile one really feels in control, if you want to screw up your mobile device its really upto you. One rarely feels tied down the API's are clean and functional. Getting your first demo program onto the device takes a few seconds. It just makes sense to develop for windows mobile. There is almost no need to get your applications signed, at least for testing.''

    To me, it has been the exact opposite of that. It's a nightmare. It's a nightmare to figure out what you have to download to get up and running. You can compile binaries for th platform with various tool chains, including some (user friendly for me) open source ones, but they won't run on all devices, as they will be lacking the right signatures. If you do get your application signed (which is costly; you have to sign every version of every exe, dll, and cab), it won't work on older releases that don't support code signing. The platform is almost ridiculously limited, and limitations aren't consistant across versions (e.g. you may or may not be able to get at a given file using the file open common dialog).

    I'm thinking Vivek just tested things using one device, and was lucky enough that it didn't throw a tantrum.

    --
    Please correct me if I got my facts wrong.
    1. Re:My Take by Xtravar · · Score: 5, Informative

      Zomg was it a Symbol, Intermec, or HHP device? :)

      Hello, fellow Windows Mobile barcode scanner developer. I hate my life.

      I hate the compact framework. It's got limitations everywhere that drive me nuts. It's a memory hog. P/Invoke is virtually required. Generics make jitting 10x slower, and it's already pretty damn slow.

      I hate taking 4 minutes to deploy a multi-dll app using Visual Studio.

      I hate debugger freezes that require soft-resets.

      I hate how every device behaves differently.

      I hate constant out of memory errors since the compact framework is a memory hog and the devices are all under-equipped.

      I hate how CF 2.0 apps are compiled to be "hi-res aware" because Microsoft assumes that all of your controls are going to scale properly.

      I hate the input panel and it's flaky behavior.

      I hate Microsoft SQL CE. Poor documentation. Vague errors. Slow.

      I hate having to deal with 3 different barcode scanning APIs from 3 different vendors that won't give me devices or up-to-date documentation.

      Basically, the only reason I'm still doing this is because the other teams at my company are using VB6. I think I'd rather die.

      --
      Buckle your ROFL belt, we're in for some LOLs.
  5. What is this garbage doing on the front page? by JanusFury · · Score: 5, Insightful

    This article contains less information than you'd get from 5 minutes of google searches on the names of the various technologies. Why reward such haphazardly written articles with frontpage coverage and ad impressions?

    The author's few actual opinions about technologies are equally worthless; his rambling about Palm and J2ME makes it clear that he's never actually used the technology for more than a few minutes, and the ranting about Linux's license and the hassle of 'signing' applications makes you wonder if he's ever written any software at all. Someone who considers the Java Mobile API 'beyond him' probably shouldn't be writing articles about programming.

    --
    using namespace slashdot;
    troll::post();
  6. Programming J2ME is FUN with NetBeans 6 ;) by siDDis · · Score: 5, Interesting

    I just don't get why J2ME development has to be so complicated: weird acronyms, half a dozen versions, different packages which may or may not be supported on any particular device, applications that sometimes run and sometimes don't, installers that sometimes work and sometimes don't, etc.

    Sun is snatching defeat from the jaws of victory; give it another few years and they'll have thoroughly destroyed the mobile Java market as well, just like they did with the Java desktop market. You should try NetBeans 6, the developers have implemented great support for developing J2ME applications. There is even a GUI/Flow designer for Mobile devices included. It's true that before I had to spend a week configuring just to get Hello World up and running, but with a clean NetBeans 6 install I(and probably all of you) can do it within seconds. Also an emulator is included so you can test/debug on your computer, still if you want to test your application on your mobile device you just have to copy the compiled jar file over.

    There are several samples included: like sounds, graphics, basic networking, games. I recommend everyone who is interested in developing application for mobile devices to check it out ;)

    But if you already hate Java, then just stick to the Windows platform. It's also very good.