Broadly
speaking, mobile applications can be created in three different ways. This
article contains a brief explanation of each of the three application types.
When
people talk about mobile apps, they usually refer to native applications –
programs that are installed on mobile phones.
Native
applications can often be faster than web applications (more on web
applications below). In practice, this may mean that the user interface in a
native application is more quick and responsive compared to a web application.
Native
applications also open up more possibilities when it comes to accessing phone
features, including hardware features (such as Bluetooth access). They are also
a good option for mobile games or applications that rely heavily on 3D
functionality.
Native
applications can be sold or offered for free through application stores (such
as the App Store). This makes it easy to distribute the applications.
While many native applications are connected to
the Internet, they do not have to be. It is also technically possible to use an
Internet-enabled native application in offline mode, meaning for example that
the user can access data (such as text and images) that has already been
downloaded to the device. However, that requires that offline mode
functionality has been enabled by the application developer.
Web applications
A mobile
web application is a HTML based web site that has been adapted to mobile units,
such as cell phones and tablets. Mobile web applications are accessed through
web browsers.
Compared
to native applications, mobile web applications are generally limited when it
comes to accessing and using cell phone-specific features (including hardware
features, such as Bluetooth).
The
biggest strength of the mobile web application is reach. Different mobile platforms (such as iPhone and Android) are
based on different operating systems but most, if not all, new cell phones
contain a web browser.
While all
mobile browsers do not work exactly the same, they are relatively similar. This
makes it possible to create a mobile web site that can be used on more than one
mobile platform. This limits the amount of code that needs to be written and
maintained in order to support multiple mobile platforms. Native applications
can require more work in comparison since a new native application (with unique
source code) needs to be created for every platform that needs to be supported.
Web browsers in new cell phones are often
powerful, which means that web applications can contain beautiful and advanced user interfaces. Tools such as HTML5, CSS3
and Javascript can be used to achieve this.
Internet access is required to access a web
application. Once a web application has been accessed, however, it is
technically possible to access it offline if the developer has enabled offline
access/offline mode (more on this below).
Wrapped web applications
There
is a third alternative – wrapped web applications – that combines the power of
the native application with the reach of the mobile web application. This is a
native application that contains a web browser which is used to open a mobile
web site.
The
native application is basically a wrapper for the mobile web site. If properly
done, the mobile web site can be re-used again and again within different
application wrappers. For example, the same mobile web site can be wrapped in a
native iPhone application and in a native Android application. This limits the amount of code that needs to be
written and maintained in order to support multiple mobile platforms.
Wrapped
web applications can be distributed through application stores. In addition,
they have the same access to phone features (such as bluetooth access) as
regular native applications do.
Since
a wrapped mobile application is largely based on web technology, it can be a
bit slower than a native application.
A
wrapped mobile application does not necessarily need to be connected to the
Internet. Web pages and other resources can be placed locally in the app which
makes it possible for the user to access them without the application ever
being connected to the Internet.
Offline mode
Many mobile applications are connected to the
Internet. But mobile app users do not always have Internet access. Therefore,
apps often contain a so-called offline mode, meaning that mobile applications
that require Internet access to fully function can be used to some extent even
when the Internet connection is missing.
More specifically, offline mode can mean that certain
functions are only available when the application is connected to the Internet.
It can also mean that content that has already been downloaded, such as text
and images for a news article, is saved in a local database that belongs to the
application, making it possible for the user to read the article offline.
Offline mode can also be enabled in web
applications. There are different ways of doing this, including the following
HTML5-related features:
- Specified resources such as HTML pages can be cached on the
device.
- Data can be saved in a database on the device.
- Data can be saved on the user’s cell phone in key-value pairs.
However, since different mobile web browsers do
not always work the same way, it is hard to guarantee that the three methods mentioned
above will work in all mobile web browsers.