Introduction to Mobile Application Development – Part 1

Mobile application development is a set of tools, processes and procedures applied in writing software application from small, mobile and wireless computing devices such as mobile phones, smart phones, tablets and pagers. Mobile Application Development has a similarity with Web Applicati0n development and has its roots in conventional software development.
One of the major difference between Mobile Application Development and Web Application development however is that mobile applications are often written particularly to leverage the unique features of specific mobile devices. A typical example is that a gaming application may be written to take advantage of the iPhones accelerometer.

One way to ensure that applications perform optimally for a given device is to develop the application for the particular device. This means that at a very low level, the code is written specifically for the processor of that device. When an application needs to run on multiple OS platforms, however, there is not much code that can be reused from the initial development. It means that the application must be written for each specific operating system.
There is expectation that In the future, a majority of mobile application development efforts will focus on creating browser-based applications that are device-independent. Browser-based applications are simply websites that are built for mobile browsers. Mobile sites are built to load quickly over a cellular network and have finger-friendly navigation features.


Basic Concepts of Mobile Application Development
Smartphones and more recently tablets such as ipads are growing in popularity and are becoming the computing device of choice for more and more people today. This leaves software developers used to PC-sized application interfaces to struggle with a whole new outlook. While many developers already have made this transition, others need to improve their skills.
Despite the attention paid to mobile development in the recent years, quite a number of application developers still lack the basic skills when it comes to building mobile applications. Experts in mobile developments including vendors and developers have advice for developers delving into this new realm of computing, covering the aspects ranging from navigation to screen size to memory consumption.


Principles of Mobile Application Development
To get best results from the Mobile Application development, developers should bear the following principles in mind
• Focus on User-Friendliness: This is a very important principle as is define how acceptable you application will be to the end-user of the application. One thing to do here is to reduce the level of navigation by directing users directly to the content that they need.
• Handle Memory and Bandwidth Constraints: Memory and bandwidth issued is one of the limiting factors in mobile development. Obviously mobile devices don’t have as much memory and desktops creating a challenge for persons migrating from desktop to mobile. Therefore if the developer optimize his application to work with lower memory, that would be an improvement.
• Design for Flexibility of Display: Mobile devices comes with a variety of display sizes and currently there is no standard controlling the size of display.
• Choose Between Native and Web Development: Application developers need to decide whether to build applications based on the native capabilities and have the application downloaded onto the device ore to create a web parts that run via the mobile OS’s Webkit facility. This would allow the application have an appearance of a standalone application even though they actually use the WebKit browser facilities.
• Rely on Sever-side data Synchronization: Proper data synchronization is also very crucial to the success of mobile application development. This means that postbacks between the client and the server should be handled in such a way as to reduce page refresh downtime.
• Optimize for Touch-Screen: Developers and designers building application for small devices need to have skill for screen-touch interface design