Mobile Application Development

A mobile app is a software application developed specifically for use on small, wireless computing devices, such as smartphones and tablets, rather than desktop or laptop computers.

Mobile apps are designed with consideration for the demands and constraints of the devices and also to take advantage of any specialized capabilities they have. A gaming app, for example, might take advantage of the iPhone's accelerometer. Mobile apps are sometimes categorized according to whether they are web-based or native apps, which are created specifically for a given platform. A third category, hybrid apps, combines elements of both native and Web apps. As the technologies mature, it's expected that mobile application development efforts will focus on the creation of browser-based, device-agnostic Web applications. Before developing an app, you need to determine which type you'll be creating. Here's a breakdown of several types of mobile app development technologies with information about each.

Native applications. These applications are built using integrated development environments (IDEs) and languages for mobile OSes such as Apple iOS or Google Android. Native apps enable you to customize necessary features, but they can be more costly than other technologies.

Hybrid apps. These are web apps that act like native apps. They are developed using technologies such as HTML, JavaScript, and Cascading Style Sheets (CSS). Hybrid apps are more cost-effective to develop than native apps and can be created faster, but they aren't as feature-rich as native applications. Progressive web apps. A PWA is a website that looks and behaves as if it is a mobile app. These applications are developed with web technologies such as Facebook React.

Encapsulated apps. An encapsulated app runs within a container app. Products such as the Microsoft Power App drag-and-drop app creation tool enable less experienced developers to build a mobile application rapidly. But the lack of isolation from the core OS, OS lock-in, and the relative newness could pose problems.

Frameworks and libraries. You can use this reusable code written by someone else to accelerate your development of a mobile app.