Wednesday 3 August 2011

Android v/s Windows Mobile 7 v/s iPhone v/s Blackberry v/s Nokia


Android
  
   

  • Open platform.
  • 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.  


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.


iOS (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, C#, 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 must program 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.



BlackBerry OS



           


  • 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.



Symbian (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.

Thanks,
Parag

4 comments:

  1. YOU ARE IMPORTANT! Please take a moment to speak your mind by leaving a comment... We value your opinion very much.

    Thanks,
    Parag

    ReplyDelete
  2. kuch naya bata sab pakau tha! zamane se suna hua...

    ReplyDelete
  3. Hey..nice post! :) Just change iPhone to iOS, Nokia to Symbian and so on... Keep it related to OS and not product... :)

    ReplyDelete
  4. @ Gaurav
    Thanks buddy......4 suggestions.....!!

    Parag.

    ReplyDelete