Sunday, September 30, 2007

The best mobile development platform for hobbyist programmer

This is something I have been thinking for a while so here it goes. This is a list of platforms I know of and my choice of what makes sense for a hobbyist programmer like me. Let me first list down all the possible platforms and then list down the pros and cons that I feel are associated with each platform.

  1. Java ME (The platform formally known as J2ME)
  2. Windows Mobile
  3. Linux
  4. Palm
  5. Brew
  6. Symbian
  7. Blackberry
  8. iPhone

iPhone

Let me start with iPhone the darling of the media and blogger's till about a fortnight. I had real expectations from iPhone as a platform but the way its been going so far I would never bother developing for it. Officially there is no SDK with which one can build applications. What ever tools the community had built have been rendered useless with the iPhone 1.1.1 software upgrade. The community might be able to hack a version for 1.1.1 but without any support from almighty apple its just a cat and mouse game. With every minor release the applications will break which makes little or no sense in developing for this platform.

The only official way of developing on this platform is if one makes widgets. But widgets can only do so much without support from the underlying platform.

Blackberry

Next comes the blackberry, I have no idea about this as a programming platform so cannot say much about the SDK support. But here is what Josh had to to add about it. Everything is pure, normal java. The APIs are clean, well documented, and capable. The free development IDE is good enough, and they give you command-line tools so you can use another IDE if you want.
The free simulators make it exceptionally quick and easy to test stuff out without needing a phone at all. You can also test things that would be hard to test on an actual phone in real life, like runing out of memory, or going into an area with different cell coverage.
To distribute your app, you do need a blackberry assigned key. This is actually a good thing because it helps keep viruses and malware mods of existing apps away. The last time I bought a key, it cost $100 and they got it back to me in less than 24 hours.
Blackberry also makes deployment easy. People can install the app straight from a webpage on the device, or use the PC-based syncing program to download it.
Overall, for me there is not much that could be better.

Brew

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. As far as I know there are no free  SDK's (it is free) which a hobbyist programmer can use to start programming for the Brew platform. All of them are paid and to top it all you cannot directly test your application on a real device till its certified by Qualcomm, all in all its not easy to get your program onto the device. Even if somehow you test you application there is no easy way to deploy it. Only your service provider (mobile company) can deploy the applications for you. Brew works in favor of the mobile companies as they can completely control what goes on your phone.

I got this mail from Ryan Mahoney at  Alltel Wireless and this is what he had to add to what I had written about Brew as a platform. Once a developer has become registered with Qualcomm (the $400), the developer can test their applications directly on a device, without having to go through a carrier. Qualcomm gives registered developers the ability to generate test signatures, as well as a cable-loading tool. Now when it's time to deploy to others, yes, then the developer must go through the carrier(s).

Palm

Personally I liked the platform for development but I don't see any new products with the Palm OS. When Palm comes out with their new OS which is based on Linux things might change but till then I don't see any reason to develop for the palm. The best part about developing for the palm has to be the SDK's and it was almost like programming for windows. If you compile your program once you can directly run it on the device without bothering about signing and going though a 100 loops to see the final result.

I like the platform and I am eagerly waiting for the Linux based Palm OS. But till then I am not sure why one would bother developing for the palm, unless you have one.

Symbian

When I bought my latest phone I made sure it was a Symbian 'cause I had heard so much about the support and the great development tools available. SDK's are available for the platform but if you plan to program for S60 3rd Edition, the whole experience is nothing short of a nightmare. Its almost impossible to test the application without signing it. If you want some good applications on your phone you have to sign them yourself as the signing process is a nightmare. If you plan to develop a shareware application then get ready to dole out cash for getting your application signed.

The whole experience is not very pleasant. They had to do it because of the "virus" problems on the earlier editions but this is just plain silly. Somehow the only sane way to develop for Symbian 3rd edition is using Java ME or python. Developing native applications is only for people who plan to develop free applications or for big organizations, getting a certificate for a free application can take weeks if not months. Its no longer seems like a platform for hobbyist programmers.

Linux

I've always had a love hate relationship with Linux. I love it 'cause its a great platform for learning but I hate the licensing. I like the BSD license any day but that is something personal. I had bought the Motorola A780 thinking that I would be able to tinker with Linux and develop some really cool things for this platform. The whole thing came crashing down as soon as I tried looking for tools to develop a native application. I realized that there was no SDK from Motorola to develop native applications, and since the whole community was tiny there were hardly any development frameworks. Motorola has a huge line up of phones including the latest Razr 2 which uses Linux but unfortunately there is no official SDK to develop native applications. The unoffical SDK is available but I am not sure its ready for prime time as yet. There is a ray of light in OpenMoko and the upcoming Palm OS but till then I really don't see any way of developing for Linux. Though Linux seems to be everywhere but without proper tools and SDK's its just one more platform where there is almost no support for the developers.

Java ME (The platform formally known as J2ME)

I've always had great expectations from Java but unfortunately the whole experience of developing applications never seemed right. Though they have some good tools and debugging is also great but the SDK's they seem to offer/highlight is beyond me. The libraries they provide are a few generations ahead of what is available in the market. I don't know of any device which has the Java ME libraries they seem to highlight on their site. Guess they want people to develop for the future but what about the present. As of today the they offer/highlight Sun Java Wireless Toolkit 2.5.1 for CLDC for download. But I have no idea about any device which offers support for it, I like the fact that I can use swing in Java ME applications but where am I supposed to test it. Unless they want a programmer to develop for a hypothetical platform which exists only as an emulator. They should offer/highlight Mobile Information Device Profile (MIDP) v2.0 which makes a lot more sense. It is also there on the download page but with half a dozen versions to download it can be really confusing for someone new.

But overall if you know your way out you can create an application in no time at all. Plus deployment is also easy. Overall its a great platform. But they really need to make things easier for an average developer. If they get the hobbyist crowd to start developing and make it fun for them to develop it can really work out. There are many good hobbyist Java ME programmers who are developing some good games and applications but if they market it right they can get many many more people interested in developing applications for this platform.

Windows Mobile

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. You can develop you .net application on your desktop and if you use the compact framework you can run the same application on almost any windows mobile device. The application will look and feel native on most windows mobile. I was able to run the same EXE on my desktop and mobile phone. And that is something really cool, you can test the application on the desktop not just an emulator or simulator. I am sure not too many people would have seen it. But as a hobbyist I would like to program for a windows mobile device any day. Its really fun to develop and see your application running in no time.

For an average "John Doe" who just wants to dabble with programming there is no better platform than windows mobile. If nothing else it gives a chance for a programmer to develop for the mobile. There are many applications where its just about getting the information across to the user, and for those things windows mobile shines. You can use web services in you applications and it's pure bliss. Just the fact that you get to see your concept ready in no time is one pleasant experience.

The final verdict

As of today I would put my money on windows mobile. With the best development tools and ease of debugging no other platform can come close to it. But in terms of numbers Java ME takes the cake. So as of today if I wanted numbers I would develop my next hypothetical "killer application" in Java ME. But if I wanted to develop just for the joy of programming, I would prefer windows mobile. The conceptual part of the program can be developed/deployed in less than a few hours on windows mobile and no other platform can beat that. On most platforms most of the time would be wasted in getting the certificates and other stupid things which make no sense while developing and testing the application. And we better not talk about debugging which is a nightmare on most devices. This is just my personal opinion of whatever little I know.


If you were planning to develop you next killer mobile application which platform would you choose?

UPDATE: The best mobile development platform for hobbyist programmer - II

Technorati Tags: , , , , , , ,

57 comments:

Anonymous said...

Vivek, do you need the .NET framework installed in order to get going with developing for Windows Mobile?

Vivek Jishtu said...

Yes you do need the .net framework installed for developing Windows Mobile applications.

Sriram said...

You only need .Net (the compact framework) if you're developing applications using managed code. If you prefer to write apps using C/C++, you dont need .Net installed.

David said...

You could always use Hecl (hecl.org) on top of J2ME. It's never going to be as fast as a Java app, but for the hobbyist, it's a lot simpler than coding in Java.

Vivek Jishtu said...

I had never heard of Hecl but it seems good of whatever little I've seen so far.

schlenk said...

If you like Hecl you may also like etcl (http://www.evolane.org/) which runs on WinCE.

Vivek Jishtu said...

I have used TCL but I was never comfortable with the syntax.

Anonymous said...

There's also WIPI, which in the US is used only by Helio.

NeoEcoS said...

And... what about Maemo ??

http://maemo.org/

Warner Losh said...

FreeBSD/arm has had much activity lately. While not yet as mature as Linux, there is much potential there in the future. Maybe someday you'll be blogging about embedded/mobile FreeBSD devices.

My blog has some of the details.

Anonymous said...

This was an interesting article. But how about Flash Lite?

Anonymous said...

BREW is free dude

Don said...

Windows Mobile, as bad as it is, is much better than the rest for developers. You can program it in many languages, including straight up C++, C#, or put your own language on it like Lua or JavaScript. Lua is an ideal language for WinCE programming, while JavaScript (SpiderMonkey) is extremely wasteful and inefficient (much bigger and slower), and hard to integrate with C++ code.

Python is also available but it's big and has a lot of overhead and is hard to package with an application. I love Python, and use it on the server all the time, but Lua really is the sweet spot for handheld device scripting, and SWIG makes it easy to integrate Lua with C++ code.

The .NET stuff is easy to use, but not the best way to make a fast efficient application. I've been happy using C++ and WTL (Windows Template Library, on top of ATL (ActiveX Template Library) and Win32) for the user interface and graphics programming.

-Don

Don said...

...And to address some of the previous questions: right, you don't need the .net framework if you're using C++ or Lua or any other language.

Don't waste your time with Java, it's much to big and slow and inefficient. Once you pay the price of the Java VM there won't be anything left over for your application, and it won't be able to access native libraries unless you do a lot of tricky native code integration work. Especially don't waste your time with something written on top of Java because that will be even slower and worse integrated.

You will be much happier with Lua if you just want to write scripts in an easy high level powerful language, and it's much easier to integrate Lua with native code, and it's orders of magnitude smaller than Java.

TCL is a joke. An excellent implementation of a horrible idea. I used it in 1993 to port SimCity to Unix, but I would never consider using it again, especially since Lua is so much better and faster.

-Don

Jon said...

You forgot OpenMoko!

http://www.openmoko.org/

ao2 said...

Hi, just a small clarification,

OpenEZX is not an unofficial SDK for Motorola EZX phones, it is basically the linux-2.6 _kernel_ for these phones. You can use different development platform on top of it.

The application framework of choice to run on top of OpenEZX will be surely OpenMoko.

Bye, ao2

Airsource Ltd said...

> BREW is free dude

It is not. You need to purchase a Verisign certificate in order to become a registered BREW developer. That costs $400/year. Without that, you will be unable to load any of your applications onto a device.

Anonymous said...

You forgot NS Basic, which is the most widely used dev tool on Palm OS and the runner up to Visual Studio on Windows Mobile.

Basic is not exactly fashionable these days, but it has always been about GTD - and everyone knows Basic. It's easy to get going in development, and the learning curve is gentle.

Anonymous said...

The signing process for Symbian is changing drastically in the next few months, from ~$200 per sign to $20. Also, you only need a developer certificate to deploy to a device to test, not a full blown signed version. The requirements for this have changed recently due to abuse, but if you have a legit company or an ACS publisher ID (~300) it's not an issue. A bit of an upfront cost for a new developer? Sure. Not quite as bad as you make it sound though.

What is BAD, is their platform. The APIs are a fucking mess and the whole active object paradigm just doesn't work for any serious application development. Threads in Symbian were an afterthought, and they are treated as such if you wish to actually use the native APIs. Documentation also is pretty bad across the board.

Mihai Dragan said...

Why are you comparing hardware platforms, with operating systems, and software development environments? I think that might make this article kind of useless.
You seem to have a very good ideea about some platforms, while not knowing to much about others. This doesn't help a good comparison.
Then there is the Linux license issue... Do you think it has anything to do with Motorola not offering an official SDK? Do you think that if Linux was under BSD license Motorola would have to give more tools to the developers? What was that rambling about?
So, here is my conclusion (almost anyone can have an opinion as good and informed as yours):
if you want to develop an application that would work for most users and devices, use JavaME. If you are doing it as a hobby, get a Nokia tablet and use Linux thorugh Maemo (or the new device from OpenMoko, if you are brave enough).

Anonymous said...

Interesting article despite the author having no idea what he's talking about (and admiting it).

The things that I know about:
Symbian
Really a nightmare but not because of the signing. It's because the whole platform is soooo bad.
Imagine C++ with six different String classes where you cannot freely convert between. A security concept that prevents you from displaying an alert when the alert-icon is a folder where it has no access.
I can continue like this but let's keep it.

Java ME
Actually this is a great platform. Everthing is free and you have a very good API. Depending on the phone you have MIDI, 3D, PIM, ... you name it. Great for doing almost everything.

Linux
Shame you for not mentioning Maemo. Great platform and everything is free.

Berco said...

You forgot Nokia's Python implementation for their Series 60 line of phones. As far as joy in programming goes things won't get much better than with Python. Besides, you don't need a huge SDK like Visual Studio to get started, any text editor will do.

William R. Fink said...

I believe the author hit the nail on the head. If you are looking to develop to the widest set of devices with ease of use and deployment, Microsoft takes the cake (and the icing and the platter).

While Java may be free, there is a slightly larger learning curve to become productive. With Visual Studio, if you can program WinForm, then you can program for the compact framework.

I would rank the Microsoft dev tools at #1 and Java a distant #2. I am sure all of the others have their place and following, but if I am looking to get the largest bang for my developer $$$ (and time), I am not going to waste it on any of the others.

As much as I hate to praise Microsoft, they really deserve it because they got this one right.

William Fink
Bill on IT

Anonymous said...

you are a moron. how can you comment on platforms you've never even worked with? Thank you for wasting my time.

Tomas said...

regarding JavaME and the wireless toolkit 2.5.1 (wtk) I have to point out that before writing about the tool author should've read at least users's guide. He would find out that wtk2.5.1 allows to develop for all phones with java. Even if the main feature of wtk2.5.1 is support of MSA (jsr248) it allows also development for JTWI based phones or plain CLDC 1.0 MIDP2.0 based phones. And where did you find swing for Java ME in wtk?

Anonymous said...

While all mobile development is going to happen, I am not looking forward to playing games or doing serious work on anything smaller than a 12" laptop.

I like my screen space, and I don't want to use a "small" mobile device everywhere.

The benefit to the iPhone is that your deveopment can be web-based (so long as the iPhone supports that type of page/site). These "apps" (if you can call them apps) would work with a mobile device or with a "static" or semi-mobile device. You get a better "bang for your buck" by maximizing the users of your app.

Just a thought.

kilo-bravo said...

Since I think we have a common interest I appreciate your effort, but you are dramatically uninformed about Java ME. CLDC is a configuration where MIDP is a profile. A profile sits on top of a configuration in an implementation stack. Your own phone, the A780 indeed is CLDC 1.1 and MIDP 2.0 compliant. I have an A1200 and have written apps for it. There is all kinds of documentation on both your phone and Java ME including a complete IDE at http://developer.motorola.com (registration is free). You can also get all kinds of useful info at http://www.motorolafans.com/forums (the site is somewhat unreliable). Some of the comments are uninformed as well about the capabilities of a Java ME app. One only has to play some of the Java games out there on their phones to realize what's possible.

Anonymous said...

Typical of most Indian "developers" I know -- thinks he knows everything, in fact knows nothing.

Andrew said...

"When Palm comes out with their new OS which is based on Linux"
http://en.wikipedia.org/wiki/Access_Linux_Platform
It's been around since 2006. I can say I've seen 700-series Treos running this.

What kind of review is that? I don't know about this [blackberry] platform, I ran a poor search on google about that one [Palm], I'll blame Linux for Motorola's problem, and I've only developed for Windows. I'll stick with Windows since I already know it, even though JavaME has the largest market share.

Please if you do a review, next time actually use the platform before you review it.

Personally, I would use JavaME, Maemo (thanks Nokia), or OpenMoko (the phone is already out, albeit it's about $600).

Anonymous said...

I have tried to share some thoughts about J2ME here. Personally, I like J2ME (and that is why I am trying to point out the weaknesses of this platform). It is the most open platform for now. .NET may be an attractive option but I have two primary concerns about it: it is not widely available and its security is questionable. With J2ME, especially if you work closely with the manufacturer you can do amazing things. But you can _still_ do cool things even being 3rd party developer.

Dave said...

just a comment about linux licensing vs bsd licensing. i am not sure what your issue is really, you are not obliged to share source for your own application unless it is a modified version of something that is gpl'd but what i really wanted to point out is that the only reason there is a vibrant foss community today is the gpl. apple clearly likes bsd licensing better too as it has allowed them to build a completely closed and proprietary environment while thumbing their noses at all the developers who provided them with a viable platform to abscond with.
just my $0.02 worth

cryptozoologist

Grinning Fool said...

>> If you are looking to develop to the widest set of devices with ease of use and deployment, Microsoft takes the cake (and the icing and the platter). <<
Actually, Java will give you the widest set of devices which I believe the author actually said. Nearly every modern phone supports it, while any other solution ties you to a specific OS.

While Java may be free, there is a slightly larger learning curve to become productive. With Visual Studio, if you can program WinForm, then you can program for the compact framework.
Might I suggest taking a look at netbeans with mobile pack? It's free, and also provides drag-and-drop GUI application development for both mobile devices and other platforms.


I would rank the Microsoft dev tools at #1 and Java a distant #2.

On the basis of what?
I am sure all of the others have their place and following, but if I am looking to get the largest bang for my developer $$$ (and time), I am not going to waste it on any of the others.
Because it makes so much more sense to develop for one specific platform, when you could easily develop for nearly all phones currently on the market?

Anonymous said...

You might want to double-check your facts about the Motorola A780. It only supports third party Java apps, but Moto is happy to provide both a Java SDK and the Linux source code for the phone.

Anonymous said...

Blackberry is a great platform for wireless mobile application development.
Combined with the BlackBerry JDE and the MDS Studio Plugin, it makes a great end to end wireless application development platform

Anonymous said...

couple of points:

regarding Java ME, a lot of major cellphone manufacturers have their own lava SDKs on their website (for example, Nokia SDK and Sony Ericsson SDK for java both come with their own emulators for testing). The problem for applications development for Java ME is that different devices have their own features and bugs. The newer models (Nokia N95 or SE k700 families) seems to be better bug differences remains (for example Nokia has their own key codes which are different than Java ME specification). For development I would recommend Java WTK (wireless tool kit) and Net Beans 6.0.

As for Brew you can load your app on the phone with a test ID using serial/usb cable. Also th eQualcomm site has a list of emulators you can download and attach them to your visual studio.

For Blackberry you can download their SDKs and development guideline and as the previous comment stated, you can use MDS studio to create an application as well.

PhreakOnALeash said...

>http://en.wikipedia.org/wiki/Access_Linux_Platform
>It's been around since 2006. I can say I've seen 700-series Treos running this.
[snip]

Ummm... Where the heck did you see a 700 running ALP? As a palm developer I can say this as a fact:
ALP doesn't run on the 700 or any 7xx :-) Are you thinking of Hackndev linux? (hackndev.com)

Furthermore, Palm will NEVER run ALP. Palm and ACCESS are on rought terms at best.

Palm is developing its own LinuxOS, which accordingy to Ed Colligan (CEO, Palm Inc) will be available by the end of the '08.

Seriosuly, if you show me a 700 running ALP, i'll lop off my arm.

Regards,
Ryan Rix
tamspalm.tamoggemon.com

Anonymous said...

For non-phone based mobile devices, you might check out sun spots ... http://www.sunspotworld.com/ as they are a Java ME client, and do some neat stuff

Anonymous said...

1. Java ME is much easier to get started with than you let on

2. If you use the Microsoft crap it will work on far fewer phones

3. You don't mention anything about Flash Lite

Do your research better, this article was pretty worthless.

Anonymous said...

"But till then I am not sure why one would bother developing for the palm, unless you have one"

...or want to develop for the huge installed base of the Palm OS?

For that matter, if you're a hobbyist programmer, why would you develop for anything other than the one you have? Are you looking to buy a platform to do mobile computing? Or seeking to develop an app that you hope "just works" on a platform that you *don't* have?

Anonymous said...

You can not use the Visual Studio Express to create Windows CE and Pocket PC apps. You must buy $$$ at least the Standard edition to use the Windows Mobile 6 SDK.

In contrast, you can download the Netbeans 5.51 IDE for free and start programming J2ME CLDC and CDC mobile apps.

Anonymous said...

You might want to take a look at the Qtopia Greenphone, a Linux device. This is made by Trolltech, and their Qt SDK has gotten good reviews on the desktop side at least.

giubeep said...

Blackberries are programmable in Java , beside J2ME it has its own GUI API. RIM has a full development environment that you can download for free from their site, that includes emulators etc.
I programmed blackberry for almost 2 years and I have to say their developer support is fantastic.

Anonymous said...

Sorry, but I think you know too little about A780 and linux development for motophones. Just I alone 've developed more than 10 apps for A780 buddy! Lack of official SDK does not mean its closed!

- Gerald Naveen

Josh said...

Add my vote for blackberry.

Everything is pure, normal java. The APIs are clean, well documented, and capable. The free development IDE is good enough, and they give you command-line tools so you can use another IDE if you want.

The free simulators make it exceptionally quick and easy to test stuff out without needing a phone at all. You can also test things that would be hard to test on an actual phone in real life, like runing out of memory, or going into an area with different cell coverage.

To distribute your app, you do need a blackberry assigned key. This is actually a good thing becuase it helps keep viruses and malware mods of existing apps away. The last time I bought a key, it cost $100 and they got it back to me in less than 24 hours.

Blackberry also makes deployment easy. People can install the app straight from a webpage on the device, or use the PC-based syncing program to download it.

Overall, for me there is not much that could be better.

-josh

zuk said...

Just 2c for Windows CE development: Lazarus as IDE for Free Pascal

http://www.lazarus.freepascal.org/

looks very promising.
I tried only command line application due to the luck of experience and got working binary for PPC 2002 ( WinCE 3.0).
Also I need to point that documents describing steps to have all components set and compiled for wince have
errors.

Ashwin Kumar said...

Even for a hobbyist programmer , i certainly feel J2ME scores over Windows mobile platform.

I programmed couple of applications in J2ME which are damn simple but the job bcomes even easy if u've Free NetBeans IDE from Sun. It just needs couple of OOPS basics and basic Java programming construts.With J2ME choosing a right MIDP profile is important and test environments are also good...

I dont knw how Microsoft distributes its *** SO-CALLED *** Visual Studio IDE other than its express editions which are useless for programmers.

Even i think you've Phone specific Mob. Development platforms like the one Nokia,Sony erricson is supplying....

jau said...

google android should change the list .. :P

hobbylobby said...

I'm trying to do some programming on a Symbol Motorolla MC 70 (which is a windows mobile 5 based device) at work.

first, I agree, getting a simple app deployed on the win mobile device is a piece of cake and the visual studio emulators work like a charm and are really top of the line.

BUT - if you want to do anything fancy with you app - which, in my world, means some sort of connectivity to a server-side database, get ready to put in some late nights. I've been working on this one aspect for longer than I care to admit and I'm still not getting data returned to our mobile forms from the sql 2005 db.

regarding the Motorolla example code files for utilizing their SDKs (I'm focusing on barcoding).... they are basically garbage, buggy, and don't compile or run for the purpose of testing the examples.

I was told twice by two different people on two different calls that the symbol support development team doesn't support developers. period.

they don't even support their own broken code examples, which is a crying shame considering how big motorolla is.

but to put that in perspective, I consider connectivity a greater hurdle -- and that's because of microsoft completely reworking nearly every aspect of the process for database connectivity.

I began looking into java and instantly loved NetBeans, but gathering all the required toolkits and downloads for java on windows mobile devices is a nightmare to figure out. ... I'm still not even sure what I need to do. Especially for a CDC application - which will certainly be the future of most mobile devices when the smart phones drop in price.

Anonymous said...

I have been look at development tools for various platforms for mobile devices for some time.

The problem with using a Microsoft SDK is that you still need to buy the development tools on the desktop.

Another solution which I like is to use some of the scripting sytems you find around.

Unfortunately Python on PPC is not as mature as I would like, however you can have a nice tcl/tk system running and development your apps/scripts on the device itself. With minor modifications, the same code will run of the PC as well.

One such implementation I have been using is eTcl from www.evolane.com

For my next mobile platform, I am considering the iPhone, gPhone, whichever will implement a decent version of tcl/tk :-D

Current I am using WM5, and PPC SE2003 whould not make much difference. Neither would WM6 or WM7. WM7 is dissappointing as the do not mandate support for multi-touch technologies, so I can stay away for PPC for a while yet.

Pankaj Jain said...

I just want to know is there any framework or Tools for mobile development
that is supported by all Mobile Platforms (Windows Mobile,Linux ,Palm ,Brew
,Symbian ,Blackberry ,iPhone)

Vivek Jishtu said...

Your best bet to support almost all platforms is J2ME, except for iPhone the apps will work on all the platforms.

java sam said...

I am a seasoned developer familiar with J2ME and Blackberry platforms, I dont know much about other platforms but one thing I would like to point out regarding J2ME platform. As oposed to java's main moto "Write once run anywhere", J2ME doesn't seems to fall under the same hood. I've faced so many issues while porting one J2ME applications to run on different platforms/mobile devices like Nokia, Sony Ericsson, Motorola etc. One J2ME application doesnt really works the same on all the platforms, plus all J2ME apps need to be tested on every device being targeted before release. I think game developers might not agree with my opinion, but this really happens with application developers like me who uses many J2ME's optional packages in one application.

Also the certification and signing process doesnt seems to be good enough to help developers minize the effort. Bottom line is, if you are thinking to write one application (that uses optional packages) and run it on all J2ME supported devices (even if they do have the same required optional packaged implemented in them), you might need too many efforts to do so.

Good Luck though!
Sam

Anonymous said...

You may want to try using the IDE from ZHMICRO. It is based on C++, you dont need any SDK's, and the applications that you write can be run on other mobile OS's without changing any code.

Anonymous said...

sir iam going to develop a applicaion for mobile augmented reality plz kindly help me in regarding the selection of tollkit and platform. u can provide info to my mail athotasandeep@gmail.com

sandeep said...

sir iam going to develop a mobile augmented reality system apllication plz kindly provide me which toolkit will be useful and in what type of platform

Evi1M4chine said...

If you use WM and .NET, you might as well just go and shoot yourself. It’s the king of lock-in, as should be expected from MS. Basically you either develop for MS, OR for everything else. And since WM phones are generally crap and hated by users and developers alike, it’s likely to go the way of the Zune. Also, who in his right mind would leave out 95% of the market? I gladly leave the 5% people out in the cold, who were stupid enough to buy WM phones which they want to get rid of as quickly as possible anyway.

And this is coming from a professional mobile phone application developer.

Unknown said...
This comment has been removed by a blog administrator.