What is Mobile Development?

Mobile development describes the processes and procedures for writing software for mobile devices, such as smartphones, smartwatches, and tablets.

Modern computing has moved away from the desktops and even the laptops of previous decades. Today, most computing is done on mobile devices, and more than half of all internet traffic comes from smartphones, tablets, and other wireless options.

As computing continues to make the switch from stationary to untethered, there is a growing demand for software capable of functioning effectively on mobile devices. But this means more than simply creating mobile apps; organizations need to be able to design applications that can not only be used on mobile devices, but also take full advantage of mobile’s unique capabilities.

To effectively address this need, more and more businesses are relying on mobile development.

To run an application, a mobile device needs a working operating system (OS). The OS takes the role of a go-between, facilitating interaction between the computer hardware and programs that run on it. The OS makes sure that the software processes running on the computer have access to the right resources, and that they can function as intended.

A mobile development platform is essentially an OS designed for building, testing, and deploying mobile applications. Although historically there have been any number of viable mobile development platforms, today most of the market share is divided between two top contenders: Android and iOS.

Android

Android is the biggest mobile development platform, accounting for about 80% of the market share. This is because Android is an open-source OS that makes it possible for many kinds of devices from different manufacturers to run different versions of the Android OS. Backed by Google and based on Linux, Android allows anyone to build hardware capable of supporting its OS. The same goes for Android application development; developers have full autonomy in creating apps for android devices. This allows for increased app flexibility and an extremely low barrier for entry.

Google provides native tools for developing Android mobile applications, including Android Studio. Additionally, the open-source nature of the OS means that third-party providers can (and do) also create their own Android development tools. Google’s extensive developer guidelines help ensure that the resultant application looks and functions well across many different hardware types. However, given that the number of potential Android devices is essentially limitless, there really isn’t any way to be sure that new applications will function effectively in every situation and with all kinds of hardware.

iOS

Although iOS only accounts for about 18% of the market share, it is arguably the more dominant of the two major platforms. iOS is owned and managed by Apple, the company most responsible for bringing mobile computing into the mainstream with the advent of iPhone and iPad technologies.

The reason that iOS doesn’t extend to as many devices as Android is that it is not open source—iOS operates exclusively on Apple products. Likewise, to build applications for iOS, developers need to use a Mac computer running OS X (the standard Mac operating system).

Apple also provides native tools and libraries for mobile development, and developers are encouraged to use Apple’s Swift programming language.

Because Apple keeps such tight control over the hardware and software aspects of iOS development, iOS performance is usually very responsive, stable, and easy to use. Device fragmentation is also less of a concern because Apple allows its applications to run only on its own proprietary hardware. On the other hand, stricter guidelines mean that it can be more difficult to create fully customized apps, and any new iOS applications must be submitted to the App Store for review and approval.

Other platforms

All other current mobile development platforms share the remaining 2% of the market share. These include the Windows and Blackberry development platforms, but almost all mobile developers choose to focus their efforts on Android, iOS, or a combination of the two.

There are several approaches to mobile development. Here, we take a closer look at three of the most common:

Native development

Probably the most-direct and most-obvious mobile development method is to use the tools and platforms provided by the OS vendor. These tools are designed with ease of use firmly in mind, and provide examples, tools, frameworks, and other resources to help ensure quicker debugging and optimal functionality on the mobile OS it’s being developed for.

However, native development tools have their disadvantages. Because they are designed to facilitate development for their respective OS, they rely on different programming languages. That means that developers who wish to code using Android or iOS development tools need to be comfortable with languages those tools use, rather than simply working within their own preferred languages. Likewise, building a single app for both OS options may mean double work, having to code the application twice, and follow two different sets of processes and best practices.

Still, for those who are only interested in creating apps for one OS, native development may be the fastest and simplest solution.

Pros

  • Optimized performance
    By taking full advantage of the device’s features, native-developed apps tend to function better and more consistently.
  • Enhanced usability
    Native apps are built to function on specific devices. Thus, they can take advantage of those devices' inherent capabilities to provide a better user experience.
  • Single-platform coding
    Because they are designed to operate on only a single platform, rather than having to function across multiple operating systems, native apps are easier to develop.

Cons

  • Required specialization
    Native apps designed for specific operating systems require developers with specialized knowledge in coding for the targeted device.
  • Multiple development efforts
    Because native apps must be developed specifically to fit individual operating systems, multiple development efforts—along with the associated increase in cost and time-commitment—are required to build an app capable of functioning on more than one platform.

Cross-platform frameworks

Cross platform (also called hybrid) development frameworks are designed to allow developers to create effective mobile applications that can function optimally on both main operating systems. Ideally, this means that the developer should only have to write the code once and then have it run on all supported platforms. Most cross-platform frameworks tend to favor one OS or the other, forcing developers to tweak the version of the app intended for the other OS.

Often, cross-platform frameworks are abstractions; they use native libraries and frameworks and require developers to have a basic understanding of these elements. Others take a hybrid approach, incorporating web-based HTML components alongside native components.

Most cross-platform solutions support a specific programming language, so many developers will make their selection based on what programming languages they are already comfortable with.

Pros

  • Faster development
    Building a cross-platform app requires only a single code set to function on multiple operating systems, allowing for faster development cycles.
  • Easier development
    Hybrid-app developers need to only learn one technology, allowing for a reduced barrier for entry and a simplified development process.
  • Wider audience
    Because cross-platform apps are designed to be available across both major app marketplaces, they allow developers to reach both Android and iOS users.

Cons

  • Decreased usability
    Apps created to function on both major operating systems are usually incapable of taking full advantage of features specific to their platforms. This can impact usability, as well as result in apps that run more slowly than those that are native developed.
  • Slower rollout of new features
    As new native features are introduced, cross-platform developers must wait for their development framework to make these features compatible.
  • Difficult customization
    App customization is much more difficult when the app is not being developed natively and may not be fully possible using cross-platform frameworks.
  • Performance problems
    Apps that aren’t built for any specific operating system may encounter communication challenges and performance issues.

Mobile web app

The third option, which has been steadily growing in popularity in recent years, is to use a mobile web app for mobile development. This involves building a web application for access through a standard web browser but optimizing it for use on mobile devices.

This approach may seem like cutting corners, but the truth is that mobile web apps can be as effective, functional, and polished as any native-developed application. In fact, there are many frameworks available designed to help developers create mobile web apps that feel like native applications when run on a specific mobile OS. Mobile web apps can even incorporate functionality from the mobile devices on which they run—accessing the camera, dialing telephone numbers, getting location data, and more.

Pros

  • Simplified maintenance
    Using standard website programming languages and rules, mobile web apps are just as easy to build and update as websites.
  • Faster development
    Web app development uses only a single set of code, allowing for a faster, easier development process. Also, because they do not require approval from the major app marketplaces, they can be released much more quickly.
  • Lower costs
    Simplified coding and faster development cycles mean reduced development costs.
  • Optimal accessibility
    Web apps function similarly to websites, and are accessible through any standard web browser.

Cons

  • Internet reliant
    Because web apps are accessed over the internet through standard web browsers, they require online connections to function. Without access to Wi-Fi or cellular data, users will be unable to access the app.
  • Limited feature accessibility
    Web apps do not have access to a device’s or operating system’s native features, potentially limiting their functionality.
  • Not connected to app marketplaces
    Web apps are not available through app marketplaces and may be easy to overlook.

Although individual developers may take different approaches or use different methodologies, the app development process generally follow six steps:

1. Idea

The development team must work with other departments and stakeholders to establish requirements for the prospective app. This includes any features and capabilities the app will need, as well as who its target audience will be and what specific problems it will need to be able to solve.

App Development Process - ServiceNow

2. Design

With the idea behind the app firmly established, the next step is to design the user interface (UI) and user experience (UX) for the app.

3. Development

The development stage is where the actual coding begins. Development teams program the app, adhering to established guidelines. Preliminary testing begins, with the goal of ensuring proper functionality.

4. Testing

As the app nears completion, more extensive testing must be performed. This testing stage helps determine not only whether the app functions or if there are malfunctions that need to be addressed, but also considers overall quality and user experience.

5. Launch

With final testing complete and the app up to established standards, it is finally ready to be published.

6. Marketing

Although not technically a part of app development, marketing helps ensure that the development team’s hard work doesn’t go to waste. The right marketing strategy is essential for letting audiences know that the app is available and what it can do for them. At the same time, marketing may generate valuable feedback that developers can use to improve the app through further support.

The success of nearly any mobile application depends on how usable it is. The UI determines how the application will look and how users will interact with it. As such, creating an effective UI demands certain components:

Information architecture

In building the information architecture, developers specify the functionality of the app, while also detailing what the interface will consist of.

Wireframes

Wireframes create a basic visual representation of what the completed app should look like. This includes the size of the various elements and their relation to one another regarding layout.

Style guides

Style guides are references that provide relevant details about the app to ensure that design remains consistent throughout.

Mockups

Building off wireframes and styles guides, mockups demonstrate the flow of the app, presented as a static visualization.

Prototypes

Incorporating or drawing off all the previous components, a prototype is a bare-bones version of the working application. Prototypes give developers a dynamic look at how the app will function before it has been fully completed. This helps them identify areas where UI and UX may suffer, so that the completed product has a better chance of meeting or exceeding user expectations.

Building reliable, powerful apps has become a necessity in remaining competitive in today’s increasingly connected business world. ServiceNow, the leader in IT management solutions, provides app development solutions to ensure that any organization can enjoy easy access to advanced tools and resources for conceptualizing, developing, releasing, and maintaining engaging and effective applications.

ServiceNow Mobile Studio gives companies everything they need to build customized mobile apps, without requiring an army of developers or even an in-depth knowledge of code. Using out-of-the-box templates, drag-and-drop features, and easy-to-use branding options, Mobile Studio makes app development as easy as pushing a button. And, the ServiceNow Mobile App Builder configuration tools takes things even further, providing enhanced organization, visibility, and guidance in app creation.

Dive deeper into Mobile Development

Build the apps your business and your customers depend on, with ServiceNow.