Introduction To Mobile Applications

Jan 31, 2018

Hi Guys!

Today, I’d be sharing the basics of mobile application development, the different types and subsequently how to build a simple mobile application using Ionic Framework and Angular. I would assume we all know what mobile applications are.

To begin with, there are different types of Mobile applications;

 

1. Native Applications:

These are applications developed to be used on a particular platform or operating system such as Android, iOS etc. Native apps are usually written in languages that the platform accepts. They are also built using the specific Integrated Development Environment (IDE) for the given operating systems, such as Android Studio for Android Apps and XCode for iOS Apps.

The principal advantage of native apps is that they optimize the user experience. By being designed and developed specifically for that platform, they look and perform better.

Examples of some popular Native Applications are Instagram for Android, VLC media player for Android, WordPress for iOS,  and 2048 game for iOS,

Native Apps are usually built using either of the following languages;

  1. Swift or Objective C for iOS applications
  2. Java for Android applications
  3. C# or VB.NET for Windows applications
    Building an IOS App on XCode

    Pros
    – They are very fast and responsive because they are built for that specific platform.
    – They have the best performance.
    – They are more interactive, intuitive and run much smoother in terms of user input and output.

    Cons
    – They are considerably more expensive to develop compared to cross-platform and web applications.
    – They require more time to develop as one application has to be written in different languages for different platforms.
    – They have a higher cost of maintenance and pushing out updates, due to multiple source code bases.


2. Hybrid Applications:

These are applications developed to be used across multiple platforms i.e can be deployed on both iOS and  Android platforms. Hybrid mobile applications are built in a similar manner as websites. Both use a combination of technologies like HTML, CSS, and JavaScript. However, instead of targeting a mobile browser, hybrid applications target a WebView hosted inside a native container. This enables them to do things like access hardware capabilities of the mobile device.

Today, most hybrid mobile applications leverage Apache Cordova, a platform that provides a consistent set of JavaScript APIs to access device capabilities through plug-ins, which are built with native code.

Examples of some popular Hybrid Applications are MarketWatch, Untappd, FanReact, and TripCase.

Some popular frameworks for building Hybrid applications include;

  • Xamarin
  • Ionic Framework
  • PhoneGap
  • Sencha Touch etc.
    Ionic + Angular = Hybrid Applications

    Pros
    – Adaptable to multiple platforms, as the same code can be re-used for Android, iOS, and Windows.
    – Unified and less expensive development, as the app only has to be developed once using one code base.
    – Faster development time when compared to native apps as only one development process is involved.

    Cons
    – Slower app performance when compared to Native Apps, because the hybrid framework acts as a bridge to communicate with the phone’s native features.
    – Apps with heavy animations and sound effects aren’t as seamless as their native counterparts.

 

3. Progressive Web Applications (PWAs):

A Progressive Web App (PWA) is a web app that uses modern web capabilities to deliver an app-like experience to users without requiring them to install an app from the AppStore/PlayStore. They are usually accessible by a web URL which can always be pinned or saved on your phone’s home screen. PWAs are usually built using HTML, CSS, JavaScript also.

Examples of some popular Progressive Web Applications are AliExpress’s PWA, Financial Times PWA, NASA’s PWA, and the recently just launched PayStack’s PWA.

Pros
– Easy to build.
– Easy to maintain.
– Works offline and performs well on low-quality networks.
– Build one app for all platforms – iOS, Android, etc. as long as it can run a browser.

Cons
– Needs a browser to run. Users have to take another step to type in the URL of the app which amounts to a poor user experience.
– Web apps are less interactive and intuitive than native apps.

In my next post, I’d be sharing how to build a simple hybrid mobile application using the Ionic Framework and Angular.

Till Next Time! ✌

5 comments

Give your comment here

Your email address will not be published. Required fields are marked *