Mobility Technology Overview with Android and PhoneGap


Mobility Technology

What is Enterprise Mobility?

  • Enterprise mobility is about mobilizing the business organization.
  • It involves the provisioning of tools, resources, and processes by
    the organization to allow its employees to effectively perform their
    tasks while on the road or away from their workstations.
  • Typically, this involves an extension of business
    applications/solutions through the use of portable and mobile
    devices.
  • Enterprise mobility is also mobilizing the organization within and
    beyond its four walls, integrating business critical processes in a
    seamless and transparent manner over a manageable platform so
    that information is available to decision makers in near real time,
    anywhere over devices.

Smartphone Capabilities:


Trends in Enterprise Mobility- Device Diversity:


Industry Adoption:
              
  
               Technology Overview

Mobile Operating Systems:

  • Mobile Operating systems are the operating systems that are present in Smartphone.
  • For example Nokia- Symbian OS, RIM- Blackberry OS, AppleiPhone
    iOS, Windows Mobile OS, Google- Andriod and Palm -
    WebOS.
  • The operating system determines the functions and features
    like track wheel, track ball, track pad, keyboard, WAP,
    application synchronization, email available on the device.
  • The operating system also limits the third-party applications
    that can be used.
       Mobile Application Development

Mobile Application Development Landscape:

There are mainly three types of mobile applications - Web, Native and
Hybrid.
One can write applications specifically for an operating system -- Android,
BlackBerry, iPhone, etc. or
One can deliver applications that can be viewed through a web browser over the
Internet or
One can use a hybrid approach in which an "onboard" portion of the application one that is anchored to the native operating system -- interfaces with users while the browser sprints out the back door to find the necessary elements over the Web.



  
Native Approach: Thick Client:
􀂾 The application resides within the phone and can access phone’s capability such as camera, accelerometer, phone book, etc. -- this makes the applications ‘Native’.

􀂾 The language of choice for iPhone development is Objective-C, for
Android – Java (Android Java SDK), for Blackberry -java (Blackberry JDE),
for Symbian- C++ (Symbian) & for Windows Mobile dot Net framework.

􀂾 Native applications generally consume less battery.

􀂾 Native applications developed using sync feature reduces communication between the Web server and the mobile device.

􀂾 There are some issues associated with the native application development such as: (a) Out-of-sync data, (b) No two mobile platforms share a mobile application, and (c) for each of the mobile operating systems in the market such as iOS , Android, Blackberry, Symbian, etc. the application needs to be developed individually, which increases development & maintenance cost. Further, there is a need for developers who have expertise in more than one technology. If we develop application using J2ME, it has issues related to fragmentation - iPhone doesn’t natively support Java/J2ME.

Native Application Architecture:


Web Based Approach:

􀂾 The Mobile web access refers to web browser-based access to the enterprise application using a mobile device connected to a wireless network. Traditional web access in comparison is desktop computer-based via a fixed landline connection.

􀂾 When the web request is sent to the proxy server it checks whether the request is coming from desktop or mobile device. If request is coming from a mobile device then it redirects request to the mobile web server which process that request & respond the appropriate web page.

􀂾 Data is not stored on the mobile device and no local data processing is done on the mobile device. Web server is responsible for processing & storing of the data – a ‘light weight client’.

􀂾 Mobile web application development needs knowledge of web development technologies such as J2EE, .Net framework, Ruby on Rails etc.

􀂾 Application can operate across multiple platforms though browser features may vary.

􀂾 Limitations are: application is not available in offline mode, needs continuous network connection to use the application. Small screen size of device makes it difficult to see the text & graphics on the page. With the advent of HTML5 standards and the emergent web standardization across smartphone devices, web applications could compete with native devices in user experience, performance and offline mode.

Web Application Architecture:



Hybrid Application:

􀂾 Hybrid Approach:
– Not all HTML5 compliant browsers currently implement all the device native feature access specifications defined by W3C
– Hence there is an approach called Hybrid solution in which the application uses both browser interfaces and native mobile components.
– There is a need for a lightweight framework, deployed on the device, which enables access to the native device features/hardware through a suitable mechanism.
􀂾 Applicability:
– During offline connectivity, accessing the data stored on the mobile database from the web pages stored in web browser cache.
– Calling any native features like signature capture from the web application by invoking the mobile native application

􀂾 Disadvantages:
– Application security
– The learning curve for the developers. Mobile developers need to know
HTML and Web developers need to know mobile phone APIs

Cross Platform Native Application Development Approach:

􀂾 Developing & distributing applications across different devices using native SDK application development technology has issues such as multiple languages support, multiple code bases, multiple dev-lines, multiple maintenance teams, which is uneconomical for enterprises.
􀂾 Mobile applications developed using web technology support different devices but have limitations such as restricted access to native features, and issues related to network connectivity
􀂾 There is a need for application development framework which supports ‘Write Once and Deploy Anywhere’ and developed application will leverage benefits of native device feature & use the web technologies for the development of the application.

Architecture:



Recommended technologies for Mobile Application Development:
  
Technology
Domain/Prerequisites

Hours
HTML 5
HTML
32
JQuery for Mobile
JQuery
16
CSS3
CSS  x
16
Android
Core java,XML
48
PhoneGap
HTML ,JavaScript
-


Ref:Google


Comments

Post a Comment