Mach 2016 || Penang, Malaysia
‘
Hybrid Smart Phone application
development Analysis, Approach and
Guidelines
:
Mach 2016 || Penang, Malaysia
A majority of people use their
smartphones in multiple ways to make work
productive. Like reading emails, Social
networking, e-retailing, entertainment, etc.
Nowadays, smartphones are embedded
with many application which makes
everyday activities easier and faster.
If you are a developer, this paper
helps you to take you all possibilities of
making an application with different
development tools, guidelines, pros and
cons on choosing the platform of
development and platform of language for
ex: choosing native vs hybrid.
Fight to choose platform exists from
long ago and it’s quite a famous question
which strikes out of everyone’s mind i.e.,
should we go for Native application
development or go over Hybrid
development. This paper clears distinguish
between both and presents to view based on
what requirement which platforms to
choose.
Executive Summary
Any application/organization is
considered to be a success when their
customers are happy. This makes way to
think of many organization to go with
“Mobile First” approach instead of making a
decision between walls.
Smart Phone application
development is classified into three
categories: Native applications (iOS,
Android, Blackberry, Windows phones),
mobile web applications and hybrid
applications. Many experts have shown
advantages/disadvantages over each
platform and reasons to choose. However,
industry crossover on the pros/cons and
they will choose based on each individual
circumstances and needs of business
options. Decisions might be taken based on
required development skills, domain
expertise, business needs, application
requirements, timelines, cost, workforce,
etc. All enterprises would think to get their
products in “Single-Fit” solutions.
Let’s start with each category:
Native Application design & developments:
Applications which are developed
targeting for one single platform, the thus
application can take full advantages of the
platform and works efficiently. Native
applications will have access to all device
API’s and able to show device capabilities.
Native App development is far from easy and
includes learning skills for each platform for
e.g., to develop an iOS application
(application extension is ipa i.e. stands for
iPhone application), required skills are
Objective-C, Swift. To develop an Android
application (application extension is apk i.e.
stands for android package kit) required
skills are Java. To develop a Windows phone
application (extension is .xap i.e. windows
application) one should have XAML, C# skills
for the development. Native apps get
compiled into machine code makes possible
to get performance out of the devices.
Initial Cost: iOS includes MAC, iOS developer
account ($99), Objective-C skilled resources.
For Android, any windows system with
Android Studio and SDK’s all at free cost.
Mach 2016 || Penang, Malaysia
Mobile Web Apps:
Mobile web apps are not largely
different from normal websites and not near
to native applications, they are just mobile
optimized. Look and feel can be matched
nearly with a native application with
features and skills provided by HTML5 and
CSS3. There are plenty of JQuery Mobile UI
plugins available in open source community
which can ease development of major UI
look and feel to match with Native look and
feel. The Challenging task would be in the
accessing device capabilities.
Initial Cost:
Open Source HTML5, CSS3, JQuery Mobile
UI. Based on the level of look and feel, there
are some plugins which would cost a bit
more like Sencha Touch. Skilled resources –
can be any web developer would be trained
to work on the mobile web apps.
Hybrid Application Development:
These applications are a combination
of Web and Native capabilities combined
together to make application nowhere
difference in its usages or look and feel.
Most of the experts admit, these
applications are an extension of the HTML5
since HTML content are rendered through a
webkit browser that is embedded with the
Native application. This way of
implementation is best suited to multi-
platform target approach or cross-platform
developments. When native features are
required for your application to interact,
such as GPS, Camera, Gestures, device
notifications etc. hybrid applications take
advantages of the cross-platform SDK’s like
Phonegap, Cordova, Titanium etc. These
platforms are built with capabilities of
interacting with built in API devices and
provide the interface for HTML5 and
JavaScript capabilities.
Initial Cost: very less cost since all resources
are Open Source HTML5, CSS3, JavaScript,
Apache Cordova plugins, Web programmer
skillset.
This White paper mainly suggests to
criteria for choosing smart phone
application development approach based on
pillars such as Usability, cost – effective,
Time to market, development skills/support
skills. Fig a: in the next page will help to
define your requirement and take decision
based on the flow of requirements.
Fig a: Helps you to summarize on which
mobile app platforms suits for your business
requirement. Decision tree structure is used
for an easy understanding purpose.
This detailed analysis will help to
provide insights of architecture and
implementation to choose for your
application to consider on various factors
and can help organization to implement
multi-platform and multi-device solutions to
overcome their client challenges
The context in the below decision
tree assumes that initial requirement
analysis is completed and have Web
development skilled resources availability.
Business requirements and challenges,
performance organization is free to make
their decision.
Mach 2016 || Penang, Malaysia
Hybrid Vs Native Vs Mobile Web
application, which one to choose?
Examples app’s on each platforms:
Native: Angry Birds
Hybrid Mixed: LinkedIn
Hybrid Web: Banana Republic
Fig a: Which platform to choose?
Packaged Hybrid: SalesForce1
Mobile Web: Financial Times
Mach 2016 || Penang, Malaysia
Design Guidelines, practices and Patterns
Following are the best design
practices and patterns widely used across
any mobile developer with any platforms.
a) Decide on what type of client application
your business requires. e.g., rich application,
thin client, Games, audio/videos support.
b) Determine the devices to support for your
client. e.g., Android, iOS, Windows phone,
tablets, desktops etc. This would help to
decide on Screen sizes, CPU performance
characteristics, memory and storage space
usage and limitations, development tools
and supporting plugins. Some of the
applications required detecting location
using GPS, some requires camera usage etc.
c) Design to consider low bandwidth or
offline support or graceful information for
connectivity availability scenarios.
d) Design UI appropriate for mobile devices,
tablets and keeping information on very big
screens. When your application is used for
big screens, UI might not have information
on base height and width to support. 95% of
bootstrapped applications would have pre-
defined knowledge of screen height and
width.
e) Design layered architecture for your
application which would add benefits of
reusability and maintainability across teams
and projects.
f) Design should also have a note on resource
constraints such as battery life, memory size,
processor speed, operating systems
limitations, Location/context awareness,
Accelerometer etc.
Some key issues observed:
Authentication and Authorization: Failing to
authenticate in occasionally connected
scenarios such as over air, over Bluetooth,
over Wi-Fi, over secure digital cards etc.
Failing to authenticate during sync with host
PC.
Caching: Caching unnecessary data would be
not beneficial since mobile comes with very
less storage space. Its good practice to cache
since network usage might be challenging,
however the application should not rely only
on cached data. Double authentication on
data should be maintained.
Communication: Failing to protect sensitive
data on the network will be a major
drawback. Manage efficiently when the
limited network is available. The application
should be designed to work with
intermittent connectivity. Not considering
connection cost or allowing to user to
maintain the connection would be
problematic on the security of the
application.
Configuration Management: Failing to
restore user defaults or settings after the
reboot of the application would be a major
drawback. Don’t, neglect considering to
synchronization of different vendors or
major players. Not optimizing usage of
battery would also be a major drawback.
Data Access: Not considering database
access performance and parsing large
datasets when not required.
Device: Failing to consider device
heterogeneity and displaying improper
failure messages.
Mach 2016 || Penang, Malaysia
Exception Management: Failing to recover
application from an exception state.
Mobile Client Architectures:
Key Design principles to follow:
Start your design with below best practices
which are used across the industry, which
would intern makes minimize costs,
maintainability and promote usability and
extensibility. Key principles are:
a) Separation of concerns: Modularize your
functionality at a minute level such that no
each functionality gets overlapped.
b) Single Responsibility principle: Each
module or method should be responsible for
only a specific feature or functionality. Don’t
combine more than one.
c) The Principle of least Knowledge: A
Component or an object should not know
about internal details of other component
objects.
d) Don’t Repeat yourself: There should be
only one module which does the
functionality, there should not be more than
one to do the same operation in different
modules.
e) Avoid doing a big design upfront: When
requirements are not clear or if
requirements can evolve during the flow of
time, don’t make big design changes
prematurely.
f) Prefer composition over inheritance:
Using composition over inheritance
increases reusability of any module intern
inheritance creates a dependency between
parent and child class, thus usage limits
reuse of child class.
g) Identify the components needed in your
application: Best way to find out what
supporting plugins are available in the
market and usage of which application will
increase the performance of the application
and usability of the application should be
helpful to decide on implementation.
h) Group different type of components into
logical layers: Identify different areas of
functionality/modules and group them in
logical layers which would help for
maintenance.
I) Determine, how each component should
communicate between layers: Includes
consideration of data transfer objects or
JSON formats to exchange parameters and
return values between layers.
j) Keep data format consistent: Between
layers, keeping data format and data types
consistent would ease much of layer issues.
k) Follow common naming standards across
the components and layers.
l) Determine the standards to use for
Exception handling. All user issues might not
be able to reproduce in the development or
pre-production scenarios.
m) Define What You Need Your App to Do:
Now, and in the near far. Might sometimes
your first priority would get a product to
market and test its scenarios, however, keep
the extension plans for your application.
Mach 2016 || Penang, Malaysia
Basic Architecture:
Fig b: Simple representation of most of the
high-level project architecture when a
hybrid application is represented to the
team. To most of the end users there will be
very minute distinguishable.
BYOD enterprises would get more benefited
with the approach of Hybrid applications. In
time, a native application would be rarely
used as HTML5 adds more standard ways to
access native capabilities.
Mach 2016 || Penang, Malaysia
Cloud Tiered / SO Architecture:
Cloud Tiered or Service-oriented
architecture is the new trend of
Implementation in the current era. Service-
oriented Architecture (hereafter to use as
SOA) are unassociated and loosely coupled
systems. These systems are capable of self-
hosted or sustainable to response on the
request basis. This makes use of a piece of
code to reuse the code in different ways with
multi-platform applications.
SOA is independent of Operating
system it runs on and service is built with.
SOA inherits principle of exchanging its
operation (Request/Response) in a format
which would be parsed by any application
platform which understands formats
decode. The most famous format used is
JSON.
Each SOA building block can play one or
both of two roles described below:
a) Service provider: The service provider
creates the web and publishes its interfaces,
contracts and access information to the
service registry. Each contract must expose
different methods for the consumer and
must decide on communication protocols
with clients. Commonly used protocols like
REST, SOAP and JSON formats to exchange
data between client and server.
b) Consumer: Consumer will be hidden
completely on the implementation of the
business requirements, logic and data. Only
needy information will be exposed to
consume and render on the client
applications.
Mach 2016 || Penang, Malaysia
Sample Study with small requirement:
Requirement:
Supplier Requirements: While supplier who
ships the parcel, he will have his own
validations to make sure parcel is not
damaged before sending to the Shipment
main center. Finally confirmation of
validation check would be stamped on the
parcel and sends data to the center. Here, UI
to do CRUD operation is required. (No
processing is required) the tool has to
generate the Unique Identification number
for tracking purpose and the same Unique
number is sync with all channels to identify
the parcel.
Center/Production Control: Production
control system requires Process scheduler,
communication between supplier and
customer. Holds information on available
resources and parcel standing data. Each
resource would update the status of the
parcel based on the destinations it travels.
End customer: End customer will use
unique ID for tracking purpose.
Development Stack:
For front face supplier requirements, Just an
HTML5 compatible page which POST the
parameters to the server.
UI: HTML5
Server code: MVC WEB API, PHP, Java, node
JS, etc.
UI client: HTML5, jQuyer UI mobile, CSS3.
Architecture: SOA.
The server code will be hosted on the public
server and communicates to entire world
using JSON, REST formats to store data and
retrieve data to the clients UI machines.
Conclusion:
Hybrid Application is easy, cost effective and
multi-platform development
implementation approach, which eases
industry to move towards customer loving
apps for their applications.
External links:
 https://www.outsystems.com/blog/wp-content/uploads/2015/02/outsystems-native-web-
hybrid-infographic-l.jpg
 Microsoft best practices and patterns for mobile architecture development.
 Wiki – for some standard definitions.
About the Authors
Deepak Jha is a Solutions Architect within UST Global Malaysia. He has over 12 years of industry
experience across several sectors including (but not limited to) software product development,
professional services, research and development, manufacturing engineering and software applications.
Deepak has architected, designed and developed critical business-centric enterprise applications for
companies in the Manufacturing, HealthCare, Telecom, Supply Chain, and financial services industries.
Deepak can be reached at Deepak.Jha@ust-global.com.
Sandeep Krishna is a Sr. System Analyst within UST Global Malaysia. He has 8-plus years of
experience leading all phases of diverse technology projects using C#, Microsoft Technologies in projects
involving mobility (Android), cross platform mobile applications in finance and Investment banking
domain, enterprise content management and e-retailer portals. Sandeep can be reached at
SandeepKrishna.Polepally@ust-global.com.
About UST Global
UST Global ® provides IT solutions that propel businesses forward, helping CIOs build the future for their
organizations. Merging industry-specific expertise with transformative thinking, UST Global delivers
market-defining solutions to Global 1000 companies with speed and agility. The company is
distinguished by its community of collaborative innovation, relentless commitment beyond contract,
measurable accountability to current and future business outcomes, and an entrepreneurial spirit that
fuels transformation. As a trusted partner to clients worldwide, UST Global uses an optimal blend of
locally based senior resources and highly accomplished and cost-effective offshore teams.
Headquartered in Aliso Viejo, California, UST Global fosters client-specific cutting-edge innovation from
its state-of-the-art centers in the United States, the United Kingdom, India, Malaysia, the Philippines,
and Mexico. For more information visit: www.ust-global.com
Follow UST Global on other social channels:
http://twitter.com/USTGlobal
https://www.facebook.com/groups/1636630236564938/
http://www.youtube.com/user/ustglobalweb
UST Global ®
Unit 1.17, Mayang Mall
Jalan Mayang, Pasir 1, Bandar Bayan Baru
Pulau Pinang 11900,
Malaysia.

More Related Content

PDF
Project Management for Mobile Apps
PDF
Whitepaper: Dealing with the Dilemma: Mobile App Development Approach & Decis...
PPTX
S cube's mobile application development
PPT
Enterprise Mobile App UX: Designing from UI to Backend
PPTX
Mobile Application Development Services-MobileApptelligence
PPTX
Mobile Web Apps
PPTX
Importance of Mobile App Architecture For Mobile App Development
PDF
Native script vs react native for native app development in 2022
Project Management for Mobile Apps
Whitepaper: Dealing with the Dilemma: Mobile App Development Approach & Decis...
S cube's mobile application development
Enterprise Mobile App UX: Designing from UI to Backend
Mobile Application Development Services-MobileApptelligence
Mobile Web Apps
Importance of Mobile App Architecture For Mobile App Development
Native script vs react native for native app development in 2022

What's hot (19)

PDF
PDF
Find the right mobile app architecture for your business [detailed guide]
PPT
Sogeti Strategic Mobile Design 2011
PPT
Mobile application development
PDF
Mobility whitepaper client-architecture_1012-1
PDF
Mobile Web vs. Native apps
PDF
How to-choose-the-right-technology-architecture-for-your-mobile-application
PDF
HTML5 Mobile Web Framework - High Level Design
PPSX
Voice gate mobile group presentation v1.1
PPTX
Mobile architecture overview
DOCX
Mobile Application Development - Guide 2020
PDF
Mobile for B2B: Native or Web?
PDF
Secured Mobile Application Development in Android, Blackberry & iOS
PDF
iPad Apps for the Enterprise
PPT
Key Architectural Aspects of a Enterprise Mobility Solution
PDF
FINAL SURVEY 1.7.15
PDF
Mobile Developer's Guide To The Galaxy, 15th edition
PDF
Enough_Software_Guide_16thEdition_Web
PDF
App cloud-mobile-solutions-guide
Find the right mobile app architecture for your business [detailed guide]
Sogeti Strategic Mobile Design 2011
Mobile application development
Mobility whitepaper client-architecture_1012-1
Mobile Web vs. Native apps
How to-choose-the-right-technology-architecture-for-your-mobile-application
HTML5 Mobile Web Framework - High Level Design
Voice gate mobile group presentation v1.1
Mobile architecture overview
Mobile Application Development - Guide 2020
Mobile for B2B: Native or Web?
Secured Mobile Application Development in Android, Blackberry & iOS
iPad Apps for the Enterprise
Key Architectural Aspects of a Enterprise Mobility Solution
FINAL SURVEY 1.7.15
Mobile Developer's Guide To The Galaxy, 15th edition
Enough_Software_Guide_16thEdition_Web
App cloud-mobile-solutions-guide
Ad

Viewers also liked (16)

PPTX
Big data management
PPTX
Cross platform mobile development in c#
PPTX
Xamarin Navigation Patterns
PPT
Smart phone application
PDF
Dispatch software application smart ptt test procedure
PDF
Pieter De Baets - An introduction to React Native
PDF
Introduction to React Native & Redux
PDF
Integrating Mobile Technology in the Construction Industry
PDF
하이브리드앱 아키텍쳐 및 개발 사례
PPTX
Powerpoint presentation1 smartphones
PPTX
Hybrid Vehicle
PPTX
Hybrid electric vehicles seminar
PPTX
Best ppt for seminar on hybrid electric vehicle AND TYPE OF HYBRID VEHICLE by...
PPT
Smartphones powerpoint presentation
PPTX
Hybrid Electric Vehicle
PDF
Intro To React Native
Big data management
Cross platform mobile development in c#
Xamarin Navigation Patterns
Smart phone application
Dispatch software application smart ptt test procedure
Pieter De Baets - An introduction to React Native
Introduction to React Native & Redux
Integrating Mobile Technology in the Construction Industry
하이브리드앱 아키텍쳐 및 개발 사례
Powerpoint presentation1 smartphones
Hybrid Vehicle
Hybrid electric vehicles seminar
Best ppt for seminar on hybrid electric vehicle AND TYPE OF HYBRID VEHICLE by...
Smartphones powerpoint presentation
Hybrid Electric Vehicle
Intro To React Native
Ad

Similar to Hybrid Smart phone application development analysis (20)

PDF
Quick Start Guide to Mobile App Development.pdf
PDF
Top 10 Mobile App Development Frameworks in 2022-converted.pdf
PDF
Top 10 Mobile App Development Frameworks in 2022.pdf
PDF
Confused about Native vs Hybrid vs Cross-Platform ?
PPTX
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
PDF
Do You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
PDF
Do You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
PDF
Mobile App Development_ Process, Tools, and Frameworks.pdf
PDF
The Complete Guide to Mobile App Development for Businesses
PDF
Fundamentals of Mobile App Development Technology
PPTX
Scube's mobile application development
PDF
Top Advantages of Cross Platform Mobile App Development
PDF
Rapidvalue whitepaper-howtochoosetherightarchitectureforyourmobileapplication...
PPT
UNIT_1_1626771386169.ppt
PDF
Why Are Businesses Adopting Hybrid App Development in 2025.pdf
PPTX
Hybrid App Development Frameworks for 2025 A Complete Guide.pptx
PDF
Mobile app development.pdf
PPTX
Overview of Enterprise Mobility
PDF
Native, hybrid, or pw as – choose the best for your business
PDF
Mobile Application Development
Quick Start Guide to Mobile App Development.pdf
Top 10 Mobile App Development Frameworks in 2022-converted.pdf
Top 10 Mobile App Development Frameworks in 2022.pdf
Confused about Native vs Hybrid vs Cross-Platform ?
MOBILE APPLICATIONS DEVELOPMENT AND SERVICES.pptx
Do You Want to Achieve Mobile App Mastery: A Step-by-Step Guidebook
Do You Want to Achieve Mobile App Mastery? A Step-by-Step Guidebook
Mobile App Development_ Process, Tools, and Frameworks.pdf
The Complete Guide to Mobile App Development for Businesses
Fundamentals of Mobile App Development Technology
Scube's mobile application development
Top Advantages of Cross Platform Mobile App Development
Rapidvalue whitepaper-howtochoosetherightarchitectureforyourmobileapplication...
UNIT_1_1626771386169.ppt
Why Are Businesses Adopting Hybrid App Development in 2025.pdf
Hybrid App Development Frameworks for 2025 A Complete Guide.pptx
Mobile app development.pdf
Overview of Enterprise Mobility
Native, hybrid, or pw as – choose the best for your business
Mobile Application Development

Recently uploaded (20)

PDF
Advancing precision in air quality forecasting through machine learning integ...
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
4 layer Arch & Reference Arch of IoT.pdf
PPTX
Training Program for knowledge in solar cell and solar industry
PPTX
Internet of Everything -Basic concepts details
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
SaaS reusability assessment using machine learning techniques
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
agenticai-neweraofintelligence-250529192801-1b5e6870.pptx
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
PPTX
Microsoft User Copilot Training Slide Deck
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC
Advancing precision in air quality forecasting through machine learning integ...
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Early detection and classification of bone marrow changes in lumbar vertebrae...
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Data Virtualization in Action: Scaling APIs and Apps with FME
4 layer Arch & Reference Arch of IoT.pdf
Training Program for knowledge in solar cell and solar industry
Internet of Everything -Basic concepts details
Lung cancer patients survival prediction using outlier detection and optimize...
SaaS reusability assessment using machine learning techniques
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Improvisation in detection of pomegranate leaf disease using transfer learni...
agenticai-neweraofintelligence-250529192801-1b5e6870.pptx
Co-training pseudo-labeling for text classification with support vector machi...
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
CXOs-Are-you-still-doing-manual-DevOps-in-the-age-of-AI.pdf
Microsoft User Copilot Training Slide Deck
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
MENA-ECEONOMIC-CONTEXT-VC MENA-ECEONOMIC

Hybrid Smart phone application development analysis

  • 1. Mach 2016 || Penang, Malaysia ‘ Hybrid Smart Phone application development Analysis, Approach and Guidelines :
  • 2. Mach 2016 || Penang, Malaysia A majority of people use their smartphones in multiple ways to make work productive. Like reading emails, Social networking, e-retailing, entertainment, etc. Nowadays, smartphones are embedded with many application which makes everyday activities easier and faster. If you are a developer, this paper helps you to take you all possibilities of making an application with different development tools, guidelines, pros and cons on choosing the platform of development and platform of language for ex: choosing native vs hybrid. Fight to choose platform exists from long ago and it’s quite a famous question which strikes out of everyone’s mind i.e., should we go for Native application development or go over Hybrid development. This paper clears distinguish between both and presents to view based on what requirement which platforms to choose. Executive Summary Any application/organization is considered to be a success when their customers are happy. This makes way to think of many organization to go with “Mobile First” approach instead of making a decision between walls. Smart Phone application development is classified into three categories: Native applications (iOS, Android, Blackberry, Windows phones), mobile web applications and hybrid applications. Many experts have shown advantages/disadvantages over each platform and reasons to choose. However, industry crossover on the pros/cons and they will choose based on each individual circumstances and needs of business options. Decisions might be taken based on required development skills, domain expertise, business needs, application requirements, timelines, cost, workforce, etc. All enterprises would think to get their products in “Single-Fit” solutions. Let’s start with each category: Native Application design & developments: Applications which are developed targeting for one single platform, the thus application can take full advantages of the platform and works efficiently. Native applications will have access to all device API’s and able to show device capabilities. Native App development is far from easy and includes learning skills for each platform for e.g., to develop an iOS application (application extension is ipa i.e. stands for iPhone application), required skills are Objective-C, Swift. To develop an Android application (application extension is apk i.e. stands for android package kit) required skills are Java. To develop a Windows phone application (extension is .xap i.e. windows application) one should have XAML, C# skills for the development. Native apps get compiled into machine code makes possible to get performance out of the devices. Initial Cost: iOS includes MAC, iOS developer account ($99), Objective-C skilled resources. For Android, any windows system with Android Studio and SDK’s all at free cost.
  • 3. Mach 2016 || Penang, Malaysia Mobile Web Apps: Mobile web apps are not largely different from normal websites and not near to native applications, they are just mobile optimized. Look and feel can be matched nearly with a native application with features and skills provided by HTML5 and CSS3. There are plenty of JQuery Mobile UI plugins available in open source community which can ease development of major UI look and feel to match with Native look and feel. The Challenging task would be in the accessing device capabilities. Initial Cost: Open Source HTML5, CSS3, JQuery Mobile UI. Based on the level of look and feel, there are some plugins which would cost a bit more like Sencha Touch. Skilled resources – can be any web developer would be trained to work on the mobile web apps. Hybrid Application Development: These applications are a combination of Web and Native capabilities combined together to make application nowhere difference in its usages or look and feel. Most of the experts admit, these applications are an extension of the HTML5 since HTML content are rendered through a webkit browser that is embedded with the Native application. This way of implementation is best suited to multi- platform target approach or cross-platform developments. When native features are required for your application to interact, such as GPS, Camera, Gestures, device notifications etc. hybrid applications take advantages of the cross-platform SDK’s like Phonegap, Cordova, Titanium etc. These platforms are built with capabilities of interacting with built in API devices and provide the interface for HTML5 and JavaScript capabilities. Initial Cost: very less cost since all resources are Open Source HTML5, CSS3, JavaScript, Apache Cordova plugins, Web programmer skillset. This White paper mainly suggests to criteria for choosing smart phone application development approach based on pillars such as Usability, cost – effective, Time to market, development skills/support skills. Fig a: in the next page will help to define your requirement and take decision based on the flow of requirements. Fig a: Helps you to summarize on which mobile app platforms suits for your business requirement. Decision tree structure is used for an easy understanding purpose. This detailed analysis will help to provide insights of architecture and implementation to choose for your application to consider on various factors and can help organization to implement multi-platform and multi-device solutions to overcome their client challenges The context in the below decision tree assumes that initial requirement analysis is completed and have Web development skilled resources availability. Business requirements and challenges, performance organization is free to make their decision.
  • 4. Mach 2016 || Penang, Malaysia Hybrid Vs Native Vs Mobile Web application, which one to choose? Examples app’s on each platforms: Native: Angry Birds Hybrid Mixed: LinkedIn Hybrid Web: Banana Republic Fig a: Which platform to choose? Packaged Hybrid: SalesForce1 Mobile Web: Financial Times
  • 5. Mach 2016 || Penang, Malaysia Design Guidelines, practices and Patterns Following are the best design practices and patterns widely used across any mobile developer with any platforms. a) Decide on what type of client application your business requires. e.g., rich application, thin client, Games, audio/videos support. b) Determine the devices to support for your client. e.g., Android, iOS, Windows phone, tablets, desktops etc. This would help to decide on Screen sizes, CPU performance characteristics, memory and storage space usage and limitations, development tools and supporting plugins. Some of the applications required detecting location using GPS, some requires camera usage etc. c) Design to consider low bandwidth or offline support or graceful information for connectivity availability scenarios. d) Design UI appropriate for mobile devices, tablets and keeping information on very big screens. When your application is used for big screens, UI might not have information on base height and width to support. 95% of bootstrapped applications would have pre- defined knowledge of screen height and width. e) Design layered architecture for your application which would add benefits of reusability and maintainability across teams and projects. f) Design should also have a note on resource constraints such as battery life, memory size, processor speed, operating systems limitations, Location/context awareness, Accelerometer etc. Some key issues observed: Authentication and Authorization: Failing to authenticate in occasionally connected scenarios such as over air, over Bluetooth, over Wi-Fi, over secure digital cards etc. Failing to authenticate during sync with host PC. Caching: Caching unnecessary data would be not beneficial since mobile comes with very less storage space. Its good practice to cache since network usage might be challenging, however the application should not rely only on cached data. Double authentication on data should be maintained. Communication: Failing to protect sensitive data on the network will be a major drawback. Manage efficiently when the limited network is available. The application should be designed to work with intermittent connectivity. Not considering connection cost or allowing to user to maintain the connection would be problematic on the security of the application. Configuration Management: Failing to restore user defaults or settings after the reboot of the application would be a major drawback. Don’t, neglect considering to synchronization of different vendors or major players. Not optimizing usage of battery would also be a major drawback. Data Access: Not considering database access performance and parsing large datasets when not required. Device: Failing to consider device heterogeneity and displaying improper failure messages.
  • 6. Mach 2016 || Penang, Malaysia Exception Management: Failing to recover application from an exception state. Mobile Client Architectures: Key Design principles to follow: Start your design with below best practices which are used across the industry, which would intern makes minimize costs, maintainability and promote usability and extensibility. Key principles are: a) Separation of concerns: Modularize your functionality at a minute level such that no each functionality gets overlapped. b) Single Responsibility principle: Each module or method should be responsible for only a specific feature or functionality. Don’t combine more than one. c) The Principle of least Knowledge: A Component or an object should not know about internal details of other component objects. d) Don’t Repeat yourself: There should be only one module which does the functionality, there should not be more than one to do the same operation in different modules. e) Avoid doing a big design upfront: When requirements are not clear or if requirements can evolve during the flow of time, don’t make big design changes prematurely. f) Prefer composition over inheritance: Using composition over inheritance increases reusability of any module intern inheritance creates a dependency between parent and child class, thus usage limits reuse of child class. g) Identify the components needed in your application: Best way to find out what supporting plugins are available in the market and usage of which application will increase the performance of the application and usability of the application should be helpful to decide on implementation. h) Group different type of components into logical layers: Identify different areas of functionality/modules and group them in logical layers which would help for maintenance. I) Determine, how each component should communicate between layers: Includes consideration of data transfer objects or JSON formats to exchange parameters and return values between layers. j) Keep data format consistent: Between layers, keeping data format and data types consistent would ease much of layer issues. k) Follow common naming standards across the components and layers. l) Determine the standards to use for Exception handling. All user issues might not be able to reproduce in the development or pre-production scenarios. m) Define What You Need Your App to Do: Now, and in the near far. Might sometimes your first priority would get a product to market and test its scenarios, however, keep the extension plans for your application.
  • 7. Mach 2016 || Penang, Malaysia Basic Architecture: Fig b: Simple representation of most of the high-level project architecture when a hybrid application is represented to the team. To most of the end users there will be very minute distinguishable. BYOD enterprises would get more benefited with the approach of Hybrid applications. In time, a native application would be rarely used as HTML5 adds more standard ways to access native capabilities.
  • 8. Mach 2016 || Penang, Malaysia Cloud Tiered / SO Architecture: Cloud Tiered or Service-oriented architecture is the new trend of Implementation in the current era. Service- oriented Architecture (hereafter to use as SOA) are unassociated and loosely coupled systems. These systems are capable of self- hosted or sustainable to response on the request basis. This makes use of a piece of code to reuse the code in different ways with multi-platform applications. SOA is independent of Operating system it runs on and service is built with. SOA inherits principle of exchanging its operation (Request/Response) in a format which would be parsed by any application platform which understands formats decode. The most famous format used is JSON. Each SOA building block can play one or both of two roles described below: a) Service provider: The service provider creates the web and publishes its interfaces, contracts and access information to the service registry. Each contract must expose different methods for the consumer and must decide on communication protocols with clients. Commonly used protocols like REST, SOAP and JSON formats to exchange data between client and server. b) Consumer: Consumer will be hidden completely on the implementation of the business requirements, logic and data. Only needy information will be exposed to consume and render on the client applications.
  • 9. Mach 2016 || Penang, Malaysia Sample Study with small requirement: Requirement: Supplier Requirements: While supplier who ships the parcel, he will have his own validations to make sure parcel is not damaged before sending to the Shipment main center. Finally confirmation of validation check would be stamped on the parcel and sends data to the center. Here, UI to do CRUD operation is required. (No processing is required) the tool has to generate the Unique Identification number for tracking purpose and the same Unique number is sync with all channels to identify the parcel. Center/Production Control: Production control system requires Process scheduler, communication between supplier and customer. Holds information on available resources and parcel standing data. Each resource would update the status of the parcel based on the destinations it travels. End customer: End customer will use unique ID for tracking purpose. Development Stack: For front face supplier requirements, Just an HTML5 compatible page which POST the parameters to the server. UI: HTML5 Server code: MVC WEB API, PHP, Java, node JS, etc. UI client: HTML5, jQuyer UI mobile, CSS3. Architecture: SOA. The server code will be hosted on the public server and communicates to entire world using JSON, REST formats to store data and retrieve data to the clients UI machines. Conclusion: Hybrid Application is easy, cost effective and multi-platform development implementation approach, which eases industry to move towards customer loving apps for their applications.
  • 10. External links:  https://www.outsystems.com/blog/wp-content/uploads/2015/02/outsystems-native-web- hybrid-infographic-l.jpg  Microsoft best practices and patterns for mobile architecture development.  Wiki – for some standard definitions. About the Authors Deepak Jha is a Solutions Architect within UST Global Malaysia. He has over 12 years of industry experience across several sectors including (but not limited to) software product development, professional services, research and development, manufacturing engineering and software applications. Deepak has architected, designed and developed critical business-centric enterprise applications for companies in the Manufacturing, HealthCare, Telecom, Supply Chain, and financial services industries. Deepak can be reached at [email protected]. Sandeep Krishna is a Sr. System Analyst within UST Global Malaysia. He has 8-plus years of experience leading all phases of diverse technology projects using C#, Microsoft Technologies in projects involving mobility (Android), cross platform mobile applications in finance and Investment banking domain, enterprise content management and e-retailer portals. Sandeep can be reached at [email protected]. About UST Global UST Global ® provides IT solutions that propel businesses forward, helping CIOs build the future for their organizations. Merging industry-specific expertise with transformative thinking, UST Global delivers market-defining solutions to Global 1000 companies with speed and agility. The company is distinguished by its community of collaborative innovation, relentless commitment beyond contract, measurable accountability to current and future business outcomes, and an entrepreneurial spirit that fuels transformation. As a trusted partner to clients worldwide, UST Global uses an optimal blend of locally based senior resources and highly accomplished and cost-effective offshore teams. Headquartered in Aliso Viejo, California, UST Global fosters client-specific cutting-edge innovation from its state-of-the-art centers in the United States, the United Kingdom, India, Malaysia, the Philippines, and Mexico. For more information visit: www.ust-global.com Follow UST Global on other social channels: http://twitter.com/USTGlobal https://www.facebook.com/groups/1636630236564938/ http://www.youtube.com/user/ustglobalweb UST Global ® Unit 1.17, Mayang Mall Jalan Mayang, Pasir 1, Bandar Bayan Baru Pulau Pinang 11900, Malaysia.