Friday, August 12, 2011

Mobile applications development, the bells & whistles !

Today mobile computing is a commodity, where usage have exceeded by far desktop computing ( the in my chair computing ! ).


This is why every developer should be aware about this new hype and how applications are assembled and delivered in this space, and this post is to the rescue !


We shall visit the possible approach's to do mobile development and how you can deliver your next mobile application in an easy manner.


When it comes to mobile applications development there are more than one way to skin a cat!. First and the straight forward approach is to use the native kit's provided by any one of the mobile platforms vendors, taken Apple iOS, Android, BB as an example where you join there developer ecosystem and then download the native SDK and start dancing :-)
  
The only thing that I need to highlight in this context is that with in the native SDK's there are two paradigms for doing the development, one for example uses what ever technology preferred by the mobile OS provider for example Objective-C by apple and JAVA by both Android / BB, the other embrace WEB technologies (HTML, CSS and Javascript) as a mean to deliver native application, take for example PALM and there WebOS BUT the important thing is that this will be within the context of the official SDK provided by the vendor (we shall explore in a moment other approach's to use web technologies).


Second approach is to utilize the web technologies (HTML, CSS and Javascript) and the HTML5 toolbox to deliver what we call "Mobile Web Apps" in a "No Appstore" fashion. In this manner the mobile OS provider will normally provide a set of implementations that comply to the regular web technologies (Java script to be precise) to expose and utilize the OS capabilities.


Third approach which is the "hyper'd approach", and this model is normally packed by third parities and ISV (independent software vendors) where frameworks are built on top of the native SDK's of mobile OS's and presented to developers. This model add's the power to target multiple mobile OS's with a single shot since normally the framework provided in this manner are device / OS agnostic and most uses web Technologies (HTML, CSS and Javascript) as an interface to developers.


The frameworks will be normally have a small shell client that interact with the Phone OS to expose device capabilities (via Javascript normally), and a web rendering framework (normally WebKit) will be used as the engine to for rendering the presentation and the processing logic.


The most promising thing about the third approch is, that currently as we are speaking now you can build your application without even downloading an SDK to your machine!


Yes, this is all delivered using cloud based software as service (SaaS) model, where you supply the normal web code (and for some you use a web application in a drag'n'drop style to compose your mobile app) and all the building is done in the cloud and all you need is to download the result packaged application for different target devices!


There's is a Forth approach (Although it may be covered in last approach, partially), which is normally a managed services style where some ISV's provide you with ready made / standard feature set for Mobile applications to select from and a way to customize the look and feel of the applications and all you need is to use there CMS (content management solution) or provide RSS feeds to inject your applications data and that's it, and for some they will even take it to the next level where they publish the application to the regular marketplaces / appstores on your behalf!


To conclude, mobility today is not an option. Every one should think of mobile platforms as the new computers where work / jobs can be done on the go. Find the following Wikipedia link where you shall find all the needed SDK urls and there supported programming language preference Platform Development Environment's.


A good book on the subject if you need more on the different approach's and frameworks used for Mobile application development will be:  Pro Smartphone Cross-Platform Development: iPhone, Blackberry, Windows Mobile, and Android Development and Distribution


Thank you !



7 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. I have read your article; it is very informative and helpful for me. I admire the valuable information you offer in your articles. Thanks for posting it. Thank you a lot! and if you need App development company then contact us!

    ReplyDelete