What is mobile development? Mobile development describes the processes and procedures for writing software for mobile devices, such as smartphones, smartwatches, and tablets. The mobile development process includes creating installable software packages, setting up backend services, and testing the application on the devices. Demo App Engine
Things to know about mobile development
The evolution of mobile development What are the major mobile development platforms? What are the different methods? Cross-platform frameworks Native vs. hybrid applications Why choosing cross-platform frameworks is best How cross-platform frameworks work What is the mobile development lifecycle? What are the components? Mobile development with ServiceNow
Expand All Collapse All The evolution of mobile development

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. 

What are the major mobile development platforms?

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 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 is not 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 does not 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. 

Autre 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.  

What are the different methods?

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.
Progressive  

Progressive web applications (PWA) skip the traditional app store delivery and installation and instead run through browser capabilities. This alternative approach to traditional mobile app development provides users with an “app like” experience via tools like working offline, running a background process, and adding a link to the device home screen.   

Pros

  • Same app for mobile and web 
    With PWAs, web apps are the same for mobile, web, and desktop users because they are all accessed through an internet browser. 
  • No installation required
    Users will not need to download anything from the app store to be able to utilize the application. This can make it easier for more people to try a company’s app.  

Cons 

  • Limited support  
    There are only limited support options for native device features. Since the application is run on the browser, it can’t be entirely supported by the developers.
  • Capabilities depend on browser 
    The application’s effectiveness depends largely on the browser a user chooses to run it on. Some internet browsers will support all the capabilities while others will not.  
Native vs. hybrid applications
There are four main differences between using native and hybrid application development: 
Why choosing cross-platform frameworks is best

Creating a native mobile application requires specialized skill sets because those applications need platform-specific programming languages. There are many programmers who can code in C and Java, there are fewer who have a high level of skills and knowledge in the platform-specific versions of those languages. Skilled native app developers are in high demand, such high demand that many companies have to use third party development houses to build apps.   

Hybrid frameworks don’t require those native languages and skills. Instead, companies can build their own apps with any developer who is familiar with languages like HTML and CSS. These types of developers are easier to hire and retain, and they are able to build high functioning applications that work across all processing systems.   

How cross-platform frameworks work

Cross-platform applications allow developers to use HTML5/CSS/JavaScript to build the frameworks themselves. From there, the application is wrapped in a container that allows them to run on any system. Since hybrid mobile apps are just web apps running on an embedded browser environment, most of the code from a web app can be used to build a mobile app. These features allow developers to make applications quickly and effectively without third party dependencies.   

PWAs also use traditional web application programming with some types of JavaScript and HTML, but they are only run through a browser rather than via an app.  These cross-platform solutions enable users to maintain a familiar app experience while significantly reducing development time and resource demands.

What is the mobile development lifecycle?

There are two important parts of a mobile application: the mobile application “Front-End” that users see on their mobile device, and the services “Back-End” that supports the mobile application.

Front-end vs. back-end  

Originally, smartphone applications were very similar to websites. Both websites and apps were contained within themselves and acted much more like static advertisements for the company. However, network and connectivity capabilities improved, and apps began to be connected to information living outside of the app itself. That made applications dynamic.   

That meant mobile front-end applications began to increasingly rely on back-end services that provide data. That data might include product information, travel information, or even new levels for mobile games.   

How front-end interacts with back-end  

The front-end and back-end need to interact to keep the mobile app up-to-date and to ensure it has the right data to run. The front-end receives this information from the back-end via service calls, such as APIs. The APIs used to connect these two pieces can be owned by the company making the mobile app, or they could be controlled by a third party with a commercial arrangement.   

This arrangement includes a developer getting access to advertising content by reaching out to the media company. The developer might sign a contract to get access to the API, and the company will dictate how much the developer can use and how often for a certain price.   

Why developers use a cloud back-end  

A developer is usually in charge of managing the front-end and back-end services for their application. Sometimes the mobile developer isn’t an expert in running the complex back-end infrastructure, which is needed to keep the app running smoothly. When this happens, it’s helpful to use a cloud service provider to utilize backend-as-a-service capabilities. This allows the developers to focus solely on the functionality and features of their app while the cloud provider can worry about scalability, security, and reliability.

What are the components?

The front-end of a mobile application is the visual part of the application and the interactive space for user experiences. It typically lives on the device and is accessible via an icon on the mobile device’s home screen. The application itself is often downloaded to the device or reached through the browser if it’s a PWA.    

Mobile application developers are often the people responsible for developing and maintaining the front-end of the application. Depending on the team, they might have people in charge of design as well to design an aesthetically appealing front-end space for the application’s users. The developers will also set the front-end up to communicate with the back-end that supports the entire application. 

Mobile development with ServiceNow

No matter what development method is being used, a high-quality application requires reliable and stable back-end capabilities. Developers will make important architectural decisions that are needed to create a strong back-end. These decisions include determining which services to use, where to run the application back-end, if the company should run their own back-end, or what third party services will be needed.   

In general, most companies will only have developers build their own services if they are highly specific to the domain of the application. Otherwise, it’s becoming increasingly common to utilize third party services to improve productivity and efficiency. Even when a company does decide to build out its own back-end, it’s becoming more effective to use cloud-based services to build and back-up all infrastructure. 

What are the components to creating an effective UI?

The success of 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.

Pricing for App Engine Explore how to bring new enterprise apps to market in half the time & one-third the cost. Get Pricing
Mobile development with ServiceNow 

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 and low-code application development, 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 and manage 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. The ServiceNow Mobile App Builder configuration tools takes things even further, providing enhanced organization, visibility, and guidance in app creation. 

Get started with Creator Workflows Connect your enterprise through digital workflows with the Now Platform. Explore App Engine Contact Us
Resources Articles What is ServiceNow? What is hyperautomation? What is low code? Analyst Reports Gartner names ServiceNow a Leader in Enterprise Low-Code Application Platforms ServiceNow Named a Leader in The Forrester Wave™: Low-Code Development Platforms Data Sheets Digitize, automation, and govern any workflow with ServiceNow App Engine ServiceNow Mobile Apps App Engine Studio Ebooks No-Code Apps for Dummies White Papers Low Code for Businesses