Mobile application development or  Mobility is the process by which application  software is developed for low - power  handheld devices , such as personal digital  assistants , enterprise digital assistants  or mobile phones . These applications  can be pre - installed on phones during  manufacturing , downloaded by customers  from various mobile software distribution  platforms, or delivered as web  applications using server-side or clientside  processing (e.g. JavaScript) to provide  an "application-like" experience within  a Web browser.
          Developing application software for  mobile devices requires considering the  constraints of these devices. Mobile devices  run on battery and have less powerful  processors than personal computers.  Developers also have to consider a  lengthy array of screen sizes, hardware  specifications and configurations because  of intense competition in mobile software  and changes within each of the platforms.  Mobile application development requires  use of specialized integrated development  environments. Mobile applications  are first tested within the development environment  using emulators and later subjected  to field testing. Emulators provide  an inexpensive way to test applications on  mobile phones to which developers may  not have physical access.
         Native Apps
                        The most basic way to build apps for  mobile devices is to write them for a specific  kind of device. For instance, iPhone  apps are written in Objective-C, Android apps in Java, etc.
   There are a number of advantages of  writing apps in this way:
    - They offer the fastest, most reliable  and most responsive experience to users. 
- Can tap into the wider functionality  of the device, such as the camera, compass,  accelerometer, notifications, etc. 
 The downside is :
  - Writing apps for a specific kind of  device is that it will not work with other  devices. 
- If an app is written in Objective-C for  iOS, its not going to run on Android without  being completely re-written in Java. 
This makes native apps the preference  for particular categories of app development.  More demanding apps such  as games tend to be written natively to  take full advantage of the devices capabilities  and wider functionality. Large organizations  often choose native apps because  they have the money to fund the  longer development cycle and want a really  slick final product. Native apps are basically  the ideal. Some examples: Angry  Birds, Shazam, Instagram.
                          Mobile-Optimized Web Apps
                                              At the other end of the scale are mobile-optimized  web apps. These have often  been the choice of companies who are  not ready to invest in a more robust mobile  presence. Theyre usually just a condensed  version of the usual website, resized  to fit a Smart phone screen.
  The advantages of a mobile-optimized  website or web app are, with a few exceptions
    - They will run on any mobile device  with a web browser and internet connection. 
- They dont require any mobile development  expertise, so a usual web designer  can probably throw one together 
 The downside are :
  - Theyre extremely limited in what  they can do effectively. 
- They will display text and images. 
- Videos will work on most devices,  with the big exception of Flash videos on  iPhone/iPad. 
- The content will only be available  when they have an internet connection –  there are no options for offline viewing.  Some examples : Cisco website, Mercedes  Benz website. 
Read More      Hybrid Apps
                                          Somewhere between native and web apps  are hybrid apps. They are quicker to build  (and thus cheaper) than native apps, but a  step up from what you can expect out of  browser-based web apps. Hybrid apps are  web apps built into a native mobile framework.  This essentially means that they  take advantage of the cross-compatibility  of web. Technologies such as-HTML5,  CSS and Java script, but sidestep the dis advantages of web apps by being built leveraging  device-specific, native frameworks.
                        The bulk of the app is built using web  technologies, but native code is used to allow  the app to access the wider functionality  of the device and produce a more refined  user experience.
                        The advantage of this approach is that
                        Only a portion of native code has  to be re-written for different kinds of devices.  The vast majority of development  goes into the web component, which is  used across all devices, reducing the time it takes to build the app (and thus the development  cost).
                        As far as user experience is concerned,  most people probably wont notice  a huge difference from a native app.
                        They will still have a shortcut on  their home screen, it wont open in a web  browser and they will receive notifications.
                        If a native app is unfeasible, a hybrid  app is the obvious second choice and a  close contender.
                        Some large organizations use them  and they are more accessible to smaller  companies than native apps.
                        Some examples: Facebook, TuneIn Radio,  LinkedIn
  Native, mobile Web, or hybrid? For companies  considering tapping into the mobility  of their increasingly connected workforce  with enterprise mobile solutions,  thats the million dollar question.
  The answer: It depends. Theres no  single correct solution that applies to all  scenarios and needs. 
  Each option — mobile Web apps, hybrid  applications, and native apps — has  its own advantages and disadvantages.