Everything you need to know about developing mobile apps

Developing mobile apps for your users can help them be more productive, but before you start building apps, learn about the different kinds.

Mobile applications have contributed to the rise of smartphones and tablets in a big way, and many companies are showing more interest in developing their own mobile apps.

For many organizations, developing mobile apps is a worthwhile way to spend time and money because these apps can help boost employees' productivity. Through a mobile application, users can accomplish a difficult and time-consuming business process in just a few minutes or even seconds. Still, each kind of app comes with challenges. Businesses may need to dig deep into their pockets to come up with the money for native applications or sacrifice some functionality to build Web apps.

If you're new to the mobile app development world or you're just interested in learning what options are available, this FAQ will get you up to speed.

What is mobile application development?

Mobile application development is the procedure involved in writing software for devices such as smartphones and tablets. Developers write mobile apps to take advantage of certain devices' specific features, such as the iPhone's accelerometer. When developers build an application natively for a device, it means that the code is specific to that device's processor.

The disadvantage of developing mobile apps natively is that developers can't reuse code from one OS to another. For example, the code used to write a native app for an Android device isn't compatible with a Windows Phone. Applications that are browser-based, on the other hand, are device-agnostic, so they run in the mobile browsers on various devices.

Can I build my own apps?

Many mobile applications are available from device-specific app stores, but for businesses, it often makes more sense to build apps in-house. Some companies have business processes that take hours because of the constraints of back-end systems, but developing mobile apps often simplifies that process to a few seconds, which makes workers' jobs easier.

What should I consider before developing mobile apps in-house?

There are some important points to keep in mind when developing mobile apps. Figure out what users need from the apps and know what your developers are capable of building. Decide whether you'll use a bring-your-own-device model or supply users with corporate-owned devices, and determine which OSes you'll support.

You should also look into how much money developing mobile apps is going to cost your company, and see if there's already an app on the market that meets your needs. Even if the app isn't perfect, you can often modify it to accomplish what you need. Developing in-house applications is great for very specific business processes, but it can be cheaper and easier to volume purchase applications and deploy them to users. Once the app is done and deployed, listen to what users have to say about it and find ways to make it better.

Which is better: Native or Web-based apps?

With native mobile app development, you have to build the same app multiple times so it will run on multiple OSes. But because native apps can take advantage of a device's features, companies often go for it. Developing mobile apps on Web-based platforms such as HTML5, CSS3 and JavaScript is often faster and cheaper, and devs only need to build one app to run across various mobile platforms. Web-based apps do not take advantage of the device features the way native apps can.

There's another option: Hybrid mobile apps combine the best parts of Web and native app development. Still, you may encounter performance issues, and because no mobile browser fully supports HTML5, support for hybrid apps across devices can be spotty.

How do I build a hybrid app?

You write the app as an HTML5 app and then wrap it in a native device wrapper. The HTML5 base runs inside the native app container and uses the device's browser engine -- instead of the browser -- to render and process data locally. The HTML5 base can be used for various mobile operating systems; all you have to do is re-wrap it in an OS-specific wrapper. Vendors such as Appcelerator have products that automatically generate those wrappers. Plus, hybrid mobile apps can become HTML5 mobile Web apps in the future without the need to rewrite.

Next Steps

Mobile application development trends

Companies build mobile apps for SaaS

App development tools improve

Mobile app dev platforms mature, market consolidates

Dig Deeper on Mobile management