Native apps development
Mobile application development is basically a smartphone application that is encoded in a specific programming language, which is adjusted to the specific operating system that installed on a smartphone. For example, objective C programming language is used for developing apps to iPhone operating system (iOS). On the other hand, Java is used for developing apps to Android operating system.
This kind of applications, that are installed on the smartphone and can have access to the phone os, are built in apps such as: address book, camera, etc..
In addition, there are applications that can perform operations without connecting to the Internet. However, this type of applications is expensive for development due to the need to develop compatible versions to different types of mobile operating systems.
In the early stages of the smartphone development, most of the applications were developed to support mostly the IPhone operating system (iOS), However, since google realised its operating system - Android, it became necessary to develop apps that support the Android operating system.
Types of mobile apps:
Hybrid app - This type of application correlates between different platforms but still have access and can use your phone's hardware. Can be developed using platforms such as Sencha, PhoneGap and Mosync.
Web app - Usually supports only the specific platform for it was developed.
Generic Mobile app - an internet website that supports mobiles (resolution, width and height) - supports almost any kind of mobile phones.