Last updated on August 30th, 2019 at 07:15 am
On mobile devices, the term used to describe the software applications that run on the devices is apps.
Apps that run on mobile devices can be divided into two categories: (1) native apps and (2) web apps. In addition, apps can work in conjunction with special websites to provide a Cloud-based service.
Native Apps
Native Apps are apps that are built to run directly on the mobile device. Unlike desktop software, mobile apps are typically available directly over the internet from a special application known as an application store (in the Apple ecosystem is this the App Store, on the Android ecosystem it is Google Play).
Native apps do not necessary require an Internet connection. Note that some native apps have funcationality that requires an internet connection – my point is that Native Apps CAN run without the Internet.
Because native apps are programmed to run directly on the mobile device, they have access to the mobile devices hardware through the mobile operating system. This means that native apps can take advantage of using the mobile hardware in ways that Web Apps and Cloud Apps cannot. However, changes to mobile security architecture is opening up what Web Apps and Cloud Apps can do – for example, you may now see Web Apps cause pop-up accessing for permission to access your Pictures or your Location – in earlier versions of the mobile operating system, this was not permitted.
Different versions of a native app needs to be written for each operating system. As a result, not all native apps are available in every ecosystem. Typically, app writers choose one ecosystem to test their app, and only port (re-create) the app in additional ecosystems if it is successful. In general, it is more difficult/expensive to create a native app than to create a web app.
Web Apps
Web apps are applications that run through a web browser (e.g. Safari, Chrome, Firefox, Internet Explorer). Web apps typically require an Internet connection, but might provide limited functionality when the device is not connected. Developers often create web apps rather than Native apps because the same program will work on most devices – that is, they are not device dependant. In addition, web apps are easy to deliver, as all they require is a web server. However, web apps have limited functionality because they cannot access all the hardware on the device. In addition, because web apps can only access a limited amount of functions from the operating system, they may not run as effeciently as native apps.
Cloud-based Services
Cloud-based services may include web app components and native app components. Cloud apps typically provide some form of file management or data storage "in the cloud" rather than on the device, allowing you access to your information from whatever device you have on hand.
Evernote is an example of a cloud-based service that includes both a web app and a native app.
The Evernote native app, available on most mobile devices as well as on Mac and PC, allows you to take and access notes from anywhere. The native app on your mobile device allows you to access and create notes even when you are not connected to the Internet. Because it's a native app you also get access to things like the camera and the microphone. Within Evernote you can take audio notes and include pictures taken with the mobile device camera. When your device is connected to the Internet the notes synchronize with the cloud-based service.
Leave a Reply