Tuesday 8 March 2011

New age Mobile application development using MVC

In recent days, the technologies have started to emerge quickly with the latest innovations and older computing methods are getting back stage in the software development. I believe that one of the software development methods Model-View-Controller (MVC) can become one of most successful architectural pattern for the mobile application development permitting independent development, testing and maintenance at ease as always. Popular in Web application development, MVC is now finding a new age in mobile app development. Despite being decades old, MVC is being applied to the latest trends in software development: Web and mobile applications.

MVC is especially appropriate for Mobile applications. It can typically have a substantially larger number of specifically purposed user interface modules. So the more rigorous attention to mobile development that is implied by good MVC design makes keeping the design more tightly focused on single-purpose units that are consistent in their abstractions and play well together. At the same time, this pattern helps partition functionality into modules that can more cleanly defined with solid coherence while being more precise about limited cohesion where it properly belongs.

There are few mobile application development frameworks based on MVC pattern available in market. Sencha Touch is a powerful way to build mobile apps, and, because it relies entirely on web technologies, we can easily host those apps on the web server and have users find and access them directly from their mobile browsers. Another one is the M-project that contains all UI and Core files to build jQuery Mobile based mobile HTML5 Apps.

To write mobile application we can think of either of the below cited options to achieve a business need.

  1. Purely native application using mobile specific development platform and libraries.
  2. Web based application to address the mobile version of web. In this case HTML5 can play vital role to provide greater capabilities like storage methods, offline cache, etc.
  3. Hybrid application – developed using Webkit control of mobile platform to render the view using HTML and platform specific APIs to implement the business logic.

Model

The model can be a collection of Java script objects or platform specific classes that form a software application intended to store, and optionally separate, data. A front end object that can communicate with any user interface (for example: a mobile specific custom control that represents graphical user interface or a web component like HTML).

View

The view can represented either by the HTML/HTML5 components or platform tailored UI controls, with ability to view data being transported to the page in various ways.

Controller

The Controller communicates with the front end of the model and loads view with appropriate data.

We can depict the MVC architecture for above mentioned development methods as show in diagram below.


9 comments:

  1. This is a good article, thanks manish. If possible can you please post some examples of mobile applications that use MVC

    ReplyDelete
  2. On higher note, there is SnechaTouch and M-project, I will share the exact information or links soon

    ReplyDelete
  3. Sencha Touch Mobile JavaScript Framework - http://www.sencha.com/products/touch/

    The M-Project - http://www.the-m-project.org/

    ReplyDelete
  4. Thanks for the examples Manish

    ReplyDelete
  5. Mobile application developments have turned popular and largely acquired as well due to its advanced technological influence and better servicesmobile application development providing services at better well planned approach.

    ReplyDelete
  6. This doesn't look like anything in the books. And the revolutionary shift is only going to grow with Generation Y. droid app developers
    iphone application development

    ReplyDelete
  7. I couldn't agree more with this post. Too bad it's taken me so long to find.
    We have an amazing software platform called AIRShip. In normal life, it is the best / simple way to securely move and store data.

    Adding new platforms - mobile - is our next step.

    I am not the brains or architect of AIRShip, just the lowly ideas guy.
    But I would love a larger version of the diagram above - it would be very helpful for my presentations.

    If posting here, great. If by email - doug.mielke@useairware.com

    thanks

    ReplyDelete
  8. Really means and inspires a lot to hear from you guys.I have bookmarked it and I am looking forward to reading new articles. Keep up the good work..Believe me, This is very helpful for me.
    Mobile App Development Company in Dubai
    Android App Development Company in Dubai
    Mobile App Development Company in UAE

    ReplyDelete