Architecture

Mobile applications can be classified as three types of applications as native mobile application, web application and hybrid mobile applications.

Mobile Native Applications

They are also known as “Thick client” applications. These applications are implemented via mobile device platform native technologies (Android, IOS, or Other). Here are the imperative characteristics for any mobile native application:

  • An executable file installs and resides at the mobile device
  • Executed directly by mobile operating system
  • Able to use mobile platform or operating system API’s
  • Distributed via platform specific app store or via enterprise distribution mechanism

Mobile Web Applications

They are also known as “Thin client” applications. These applications are implemented with web technologies (HTML, CSS and Java Script). Some imperative characteristics for mobile web applications are:

  • Applications are executed by the device browser of mobile operating system
  • Application can leverage only limited device features for application implementation
  • Application doesn’t carry any executable file which can be installed or removed from mobile OS

Mobile Hybrid Applications

Mobile hybrid applications are neither native applications nor web applications. They are implemented with web technologies and packaged as applications for distribution. These applications can access native device features and API’s. Basically hybrid application is native mobile application which hosts a web browser control within its main UI screen. Here are the imperative characteristics for mobile hybrid application:

  • UI implementation using web technologies (HTML, CSS and Java Script)
  • Applications are capable to use mobile platform or operating system API’s
  • An executable file installs and resides at the mobile device
  • Application can be distributed via platform specific app store or enterprise distribution mechanism

Figure below depicts an analogy of mobile hybrid application. Broadly it has two layers, as “Container” and “User Interface”. Where container is implemented on native mobile technology (Android, IOS or Windows Phone). Whereas UI (User Interface) is implemented with web technologies (HTML, CSS and JS).

There are many frameworks and tools for mobile hybrid application development. Major selling point for mobile hybrid application is cross platform development. Following are the features which can be leveraged with mobile hybrid application:

  • Integration of Open Source frameworks with HTML5
  • Liquid layouts for multi-screen UIs
  • Local storage, multimedia handling, semantics and forms, graphics, etc.
  • A single code-based architecture model for multi-platform presentations
  • Mobile hybrid framework that bundles the HTML5 based view layer, with native platform containers, to create deployable builds

Mobile hybrid application development space has witnessed increasing interest from different sets of customers/companies. Over the last few years, many frameworks have come up which includes mix of Open Source and Licensed frameworks for mobile hybrid application. Most of them cover particular aspect of mobile hybrid application development.

Application Architecture

Below diagram depicts the appEz application architecture.

Application Layer Structure

appEz mobile application incorporates multiple layers to entertain in one application codebase

Figure illustrates three distinctive layers as:

  • UI Layer: This layer represents UI / UX and view implementation for appEz mobile application. appEz platform has multiple ways of implementing UI layer as Hybrid/Web or Native (Android Activity). Hybrid and Web application UI layer is implemented with HTML, CSS, JS, and other UI frameworks / tools (JQuery, JQueryMobile, LESS, Bootstrap etc.). This layer supports UI/UX guidelines for app-centric design or platform specific adaptive design as per application need.
  • Business Logic Layer: This layer is responsible for core logic and implementation handling for application. It also communicates with server for required data and information. appEz recommended implementation approach and respective design patterns can be used for application features implementation. In case of cross platform development, it is recommended to harness common business logic layer among platform specific builds.
  • Native Layer: This layer takes care for platform specific capabilities (Camera, Database, HTTP communication, Persistent store etc.) to be used by appEz mobile application. This layer is not accessible with web application implementation. This is the reason web application possess limited access to mobile platform capabilities.

results matching ""

    No results matching ""