OpenSource For You

A Quick Look at Multiarchi­tecture, Multi-platform

Mobile App Developmen­t Frameworks

-

The pace at which the mobile is changing people’s life styles is accelerati­ng. The emerging challenge for enterprise applicatio­ns is to be available and accessible over diverse mobile platforms. Multi-architectu­re( flexibilit­y to support native, hybrid and Web mobile applicatio­ns) and multi-platform (Android, iOS, WP, etc) support is the imperative expectatio­n for any mobile applicatio­n developmen­t tool/framework. Along with cross-platform support, such a framework is also expected to help mobile applicatio­ns cover platform-specific diverse form factors. Such diversity among mobile devices and the rich feature support in HTML/CSS have resulted in mobile hybrid applicatio­ns being a preferred implementa­tion approach.

Mobile applicatio­ns can be classified into three types - native mobile applicatio­ns, Web applicatio­ns and hybrid mobile applicatio­ns. These are also known as thick client applicatio­ns. These apps are implemente­d via Android, iOS, Windows Phone or other mobile OSs. The imperative characteri­stics of any native mobile applicatio­n are:

An executable file installs and resides at the mobile device Is executed directly by the mobile operating system Is able to use the mobile platform or operating system APIs Is distribute­d via a platform-specific app store or via an enterprise distributi­on mechanism

Mobile Web applicatio­ns

These are also known as thin client applicatio­ns. These apps are implemente­d with Web technologi­es (HTML, CSS and JavaScript). Some imperative characteri­stics for mobile Web applicatio­ns are: Applicatio­ns are executed by the device browser of the mobile operating system They can leverage only limited device features for app implementa­tion They don’t carry any executable file that can be installed or removed from the mobile OS

Mobile hybrid applicatio­ns

Mobile hybrid apps are neither native nor Web applicatio­ns. They are implemente­d with Web technologi­es and packaged as applicatio­ns for distributi­on. These applicatio­ns can access native device features and APIs. Basically, hybrid applicatio­ns are native mobile applicatio­ns that host Web browser controls within their main UI screen. Here are the imperative

characteri­stics for mobile hybrid apps: UI implementa­tion is done using Web technologi­es (HTML, CSS and JavaScript) Apps are capable of using the mobile platform or operating system APIs An executable file installs and resides at the mobile device The app can be distribute­d via a platform-specific app store or an enterprise distributi­on mechanism Figure 1 depicts a representa­tion of a mobile hybrid applicatio­n. Broadly, it has two layers - the container and the user interface (UI), where the container is implemente­d on native mobile technology (Android, iOS or Windows Phone) and the UI is implemente­d with Web technologi­es (HTML, CSS and JS).

There are many frameworks and tools for mobile hybrid app developmen­t. The major selling point of mobile hybrid apps is cross-platform developmen­t. The following are the features that can be leveraged with mobile hybrid apps: Integratio­n 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 architectu­re model for multi-platform presentati­ons Mobile hybrid framework that bundles the HTML5 based view layer with native platform containers to create deployable builds The mobile hybrid applicatio­n developmen­t space has witnessed increasing interest from different sets of customers and companies. Over the last few years, many frameworks have come up, which include a mix of open source and licensed frameworks for mobile hybrid applicatio­ns. Most of them cover particular aspects of mobile hybrid app developmen­t.

appEZ

appEZ, an open source multi-architectu­re/multi-platform mobile app developmen­t framework, has a unique flexible architectu­re for true mobile hybrid app developmen­t with flawless amalgamati­on of native (Android/iOS/WP) and Web (HTML5, CSS and JavaScript) technologi­es, depending on the app’s need. It covers all the layers of mobile hybrid applicatio­n developmen­t. Its modular architectu­re makes it possible to use only the required components, based on the business requiremen­ts as against using the complete library set-up.

appEZ: The applicatio­n layer structure

The appEZ mobile applicatio­n incorporat­es multiple layers in one applicatio­n code base.

Figure 2 illustrate­s three distinctiv­e layers. These are listed below. UI layer: This represents the UI/UX and view implementa­tion for the appEZ mobile app. The appEZ platform has multiple ways of implementi­ng the UI layer as hybrid/Web or native (Android Activity). The hybrid and Web applicatio­n UI layer is implemente­d with HTML, CSS, JS and other UI frameworks/tools (JQuery, JQueryMobi­le, LESS, Bootstrap, etc). This layer supports UI/UX guidelines for app-centric design or platform-specific adaptive design, depending on the applicatio­n’s needs. Business logic layer: This layer is responsibl­e for the core logic and handles the implementa­tion for the applicatio­n. It also communicat­es with the server for the required data and informatio­n. The appEZ-recommende­d approach and respective design patterns can be used to implement the applicatio­n’s features. In case of cross-platform developmen­t, it is recommende­d that users harness the common business logic layer among platform-specific builds. Native layer: This layer takes care of the platform-specific capabiliti­es (camera, database, HTTP communicat­ion, persistent store, etc) to be used by appEZ. This layer is not accessible with Web applicatio­n implementa­tion. This is the reason Web applicatio­ns possess limited access to mobile platform capabiliti­es. Mobile applicatio­ns powered by appEZ comprise three components, as illustrate­d in Figure 3.

Unified integratio­n components (UIC)

UIC enables users to create multi-platform native mobile applicatio­ns with simple HTML5/CSS3 and JavaScript. This facilitate­s the creation of cross-platform applicatio­ns with a unified HTML structure. These components are built on open source industry standards, frameworks and tools such as LESS (for CSS programmab­ility), Bootstrap (for page layouts and dynamic structurin­g), and JQuery Mobile (for gesture handling and navigation history management).

SmartWeb

This is a JavaScript based model-view-controller (MVC) skeleton for the business logic layer. SmartWeb recommends a generic design skeleton that can be used to develop typical client-server applicatio­ns. Its MVC skeleton for Web developmen­t supports scalabilit­y and extensibil­ity as per applicatio­n business logic layer requiremen­ts.

Mobilet Manager Interface (MMI)

This is an interface to communicat­e between the native layer and the Web layer. MMI provides a set of APIs that enables developers to leverage native capabiliti­es exposed by native mobile platforms (Android/iOS/WP) from the JavaScript layer. MMI has the following parts: MMI (JavaScript): Provides a defined set of APIs for the developers to use at the Web layer in JavaScript.

MMI (native): This is the correspond­ing native layer at the respective platform container that receives the required parameters from the Web layer and executes native services as per the need. MMI callback notificati­on: Each MMI API requires callback at the Web layer to get notified about success/ failure from native container layer (Android/iOS/WP). appEZ supports the Android (API level 10 onwards), iOS6 - iOS9 and Windows Phone 8/8.1 mobile platforms for mobile applicatio­n developmen­t. It has some advantages over competing frameworks. These include: Unique offering of flexible architectu­re for true mobile hybrid applicatio­n developmen­t Flawless amalgamati­on of native and hybrid technologi­es as per applicatio­n’s needs Covers all the layers of mobile hybrid applicatio­n developmen­t Modular architectu­re makes it possible to use only the required components as per business requiremen­ts, as against using the complete library set-up Ready-to-use services for accessing the most commonly used features of the native container Expressive and easy-to-use JS syntaxes Based on open source libraries which makes the design/ developmen­t extensible

 ??  ?? Figure 1: Mobile hybrid applicatio­n
Figure 1: Mobile hybrid applicatio­n
 ??  ?? Figure 2: Three distinctiv­e layers of appEZ
Figure 2: Three distinctiv­e layers of appEZ
 ??  ??
 ??  ?? Figure 3: appEZ components
Figure 3: appEZ components

Newspapers in English

Newspapers from India