Android vs iPhone vs Nokia vs BlackBerry vs Windows Mobile 7
 vs vs  


Android
Can compile custom firmwares - good for hackers and other. Good framework, extended on each new firmware. Supports multitasking. Nice IDE - Eclipse, NetBeans.Development SDK is free.Easy to debug, can send logs to developers.Programming language is Java but bridges from other languages exist (C# .net - Mono, etc).Java  is a high level language that appeared in 1995. Android supports Java 1.5 and translates the byte code to its own custom Dalvik byte code optimized for mobile devices.For the hardcore programmers, Android offers the possibility of programming in C using the native dev kit NDK.Can run script languages like LUA, Perl, Python, etc.Can install third party applications from sdcard, random sites - not locked to a specific market. Applications can hook and override everything - email interface, SMS sending, custom keyboards, etc. Supports widgets.Can publish applications on the Android market instantly - initial one time registration fee is 25E.User has access to the sdcard and can use it as a USB disk.No Adobe Flash support yet. Probably will be available in Q2 of this year .


IPhone
Closed platform. No multitasking except for some Apple applications. multitasking is probably going to be introduced in the next vertion of the iPhone, the iPhone 4. Development kit costs ~90E. Programming language is Objective C - but bridges exist from Java, etc. Objective C  appeared in 1986.Next version of iPhone is supposed to only allow Objective C code, this means the bridges are out and you mustprogram in Objective C if you want to create an iPhone application.Applications are not allowed to duplicate the iPhone functionality - ie no custom email interface, etc.Does not support widgets - unless the phone is jail broken.User does not have access to the sdcard - user can only do synchronization via internet or LAN.  Third party applications can only be installed from the Apple store. For testing the applications, developers can use Ad Hoc  publishing.Publishing on the store is a very lengthy and tiresome process. Apple has many and bizarre rules. Many applications were rejected for strange reasons.No Adobe Flash support.


Nokia
Opened Symbian and says the future will be QT  and WRT - they will cut support to any other environment including J2ME. QT is a framework that adds a layer of abstraction over gui, network, gps, etc. QT is cross platform and cross programming language - C++, C#, Java, etc. the licenses are GPL and LGPL. QT runs on Maemo, MeeGo, BlackBerry, Symbian, Android, iPhone, Windows Mobile, desktop PC, consumer electronics, car entertainment, etc. WRT - web runtime - a cool feature that allows users to write applications in HTML, JS and CS. You build the app like a normal web page, and you interact with the phone platform/hardware using the WRT bridge.
No need to learn any other technology. Just HTML, JS and CS. Very important: JS can call native code, but also the other way around. It seems you can call WRT JS with native code. supports widgets. supports Adobe Flash Lite  .


BlackBerry
As it is now, the programming environment is Java native and J2ME - not worth mentioning since they will probably be extinct pretty soon.No Adobe Flash support yet. Probably will be available in Q2 of this year .We expect a new OS so we will just have to sit patiently and see what's going to happen.
Windows Mobile 7
Closed platform .MS breaks compatibility with WM 6.x - this is very bad.Programming environment is Silverlight and XNA.No native programming ie no hooking and overriding keyboard, etc - they removed PInvoke   .Nice IDE - Visual Studio 2010.Does not support multitasking  for third party applications.Third party applications can only be installed from the MS marketplace.No Adobe Flash support  .

No comments:

Post a Comment