Mobile enables new business scenarios and new ways of doing the same business. Mobile affects nearly everybody's experience. According to a Gartner report, mobility occupies a relevant position in the list of top priorities for chief information officers (CIOs) of various industry sectors through next years.
The term mobile refers to a multiple of platforms, each with its own set of capabilities and features. Each platform requires remarkably different skills, different operating systems and different programming languages. A mobile application would be more sophisticated and more complex than web applications with regard to data storage, data entry, resource management and life cycle. Additionally, each operating system has its own set of development guidelines and a proprietary deployment model.
Mobile applications are written for a specific version of a specific operating system. Nearly any major vendor of mobile devices has its own operating system and related software development kit (SDK). Writing mobile applications for the iPhone/iPad platform requires Mac OS X and iOS operating system and Objective C programming skills. For Android platform one can use Android SDK and develop an app in Java on Windows. Mobile software is designed to run only on very special devices. This fact imposes a number of constraints on developers and raises a few issues for which new patterns and practices are required.
An important part of the write-once-run-anywhere HTML5 methodology lays in easiness of the distribution and support of responsive applications compairing to native apps. This includes especially bug fix or add features. Version updates could impose real challenge for native apps. Native apps are prone to longer development and testing cycles, after which the consumer typically must log into a store and download a new version to get the latest fix. HTML5 has emerged as a very popular way for building mobile applications in last years. Multiple UI frameworks are available for solving some of the most complex problems that no developer wants to reinvent. iScroll does a good job of emulating momentum style scrolling. jQuery Mobile provides awesome mobile components with hundreds if not thousands of plugins that offer everything from carousels to super elaborate controls.