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.
Nothing to see here.
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).
Starting from Symbian version 9 you have had to go through with symbian signed testing if you wanted to install your application anywhere else than in your own mobile phone. This is also required if you happen to need some of the more sensitive capabilities of the platform. It takes time and costs money and is generally pain in the ass compared to pre 9 platform versions.
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.
It is a shame that he doesn't bother to even mention anything about the BlackBerry platform. First and foremost, it *is* J2ME. (well, for the most part) You can run standard J2ME stuff on the BlackBerry, but you can also run stuff written against the BlackBerry-specific API. RIM provides free development tools, and while their own IDE is pretty poor, integrating their tools with the NetBeans IDE is pretty easy.
The biggest advantage of BlackBerry Java development, IMHO, is that the OS itself is practically a JVM, and the built-in apps are also Java. On most phones, running a J2ME app requires waiting forever for the thing to start and never integrate well. On the BlackBerry, your own Java apps start instantly and can look just like all the other built-in apps. Finally, BlackBerry is a common platform across a wide range of popular devices, so you'll always have plenty of potential users even if you build BlackBerry-specific apps.
And now for the shameless plug...
Back when I got my BlackBerry, I found that there were no decent available E-Mail clients for them. (only the service-based E-Mail, which stinks if you're not hooked to a corporate BIS server.) So, I kicked off an open-source project to write my own:
LogicMail - http://www.logicprobe.org/proj/logicmail