Nothing Special   »   [go: up one dir, main page]

Hybrid Apps Introduction

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

_________ is the type executable for iOS. .

IPA

_________ is the type executable for Android. .APK

Built-in apps have direct access to low-level APIs only through high-level APIs. False

_________ is the type executable for Blackberry. .COD

The process of obtaining a binary executable image and preparing it for distribution is

same across platforms. True

Pure mobile websites are same as pure mobile apps. False

Application caching is enabled with the latest features of _________. HTML5 and CSS3

Web apps are much easier to maintain as they have a common code base across

multiple mobile platforms. True

JavaScript Toolkit library includes which of the following? Sencha Touch and Jquery Mobile

Pure mobile web apps are written only in _________. HTML/CSS/JavaScript

Native apps are a choice for implementation because it is: (I) Executed directly by OS

(II) Makes explicit use of OS APIs (III) Cheaper to build in one platform I and II

Being built on one single base, you can add functionality and have multiple versions of

the app all benefit from it. This is benefit of __________ Hybrid apps

In case of pure mobile web apps, the code is executed by the _______. Browser
Which of these is the main player in the world of hybrid apps? Phonegap/Cordova

Identify the correct sequence of steps in a native app development. (I) Package the

binary executable with resources (II) Create a binary executable (III) Distribute through

the app store II, I, III

Is a container app required for a native app to execute in a mobile device? False

Looking at the mobile app and its features, is it possible to distinguish between the type

as Native, Web or Hybrid? False

Purely native apps are binary executable image that is explicitly downloaded and stored

on the file system of the mobile device. True

_________ is the type executable for Windows. .APP

Web apps are much easier to maintain as they have a common code base across

multiple mobile platforms. True

Identify the correct sequence of steps in a native app development. (I) Set the

configuration info and OS-specific declaration files. (II) Create additional resources like

images, audio signals, etc. (III) Compile and link the source code. II, I, III

Introduction to Mobile Apps


Hello There! All that looks same outside, might not always be same inside.
Welcome to the world of mobile app and its anatomy. In this course, let’s understand the
fundamentals of Native, Web and Hybrid Apps; the differences, advantages and
disadvantages.

 Native apps which you might think of as conventional mobile app.


 Web apps which are written in HTML and run inside the browser.
 Hybrid apps which are a interesting combination of the two approaches, which is
especially important for the enterprise context.

Known Native Apps

Let's take a look at few prominent native apps for iPhone and Android. As you can
notice, few are known communication and collaboration apps, our own enterprise apps,
and few popular gaming apps.
The thing that all of these apps have in common is that, they are all purely native. But,
what does that actually mean?

Characteristics of Native Apps

 A binary executable image that is explicitly downloaded and stored on the


file system of the mobile device.
 This installation process can be initiated by the user or in some cases by the IT
department of an enterprise.

Characteristics of Native Apps


Distributed through popular app store or marketplace of the device, or via an enterprise
distributed mechanism.

Examples: iTunes, Google PlayS tore, Windows Store, TCS appmart, etc.

Characteristics of Native Apps

 Executed directly by the Operating System (OS).


o Launched from the home screen.
o Does not require another container app to run it.
 Makes explicit use of OS APIs.
 Many cases, although not always! Native app has a look and feel which is typical
of that specific mobile OS.

Native App Development

 Obtaining a binary executable imaging and preparing it for distribution is basically


same for all the leading mobile operating systems.
 The developers write the source code of the application.
 Create additional resources such as images, audio segments, configuration info
and various declaration files.

Native App Development


 Use the tools provided by the operating system vendor to compile the source
code.
 Link it in order to create an executable in binary form.
 Package the binary executable together with the resources of the app.
 Package can be distributed to the mobile devices through app stores or
other means.

SDK for Mobile OS

 The tools, few utilities and files are usually called the SDK of the mobile OS.
 The SDK is platform-specific and each mobile OS comes with its own unique
tools.
 But the process is quite similar for all of them!

Let’s see few examples now!

Native App Development - iOS

Language : Objective-C, C, C++

Tool : Xcode
Executable Files : .ipa

Application Stores : Apple iTunes

Native App Development - Android

Language : Java (Some C, C++)

Tool : Android SDK

Executable Files : .apk

Application Stores : Android Market (Google Play Store)

High-level APIs and Built-in Apps


 Web browser, Calendar, Contacts, Photo Album, Calls, and Messages.
 The OS comes with built-in native apps that let users directly access these
services.
 The operating system provides the GUI Toolkit which comes with its own set of
user interface components such as button, slider, menu, tabs etc.
 These components inherit the look and feel of the mobile OS that
usually provide a very smooth user experience.

Native Apps - Interaction with Mobile


Native Apps – Upside, However!
Upside:

 Executed directly
 Propriety operating-system APIs
 App gets access to all the different hardware components of the device
 Very Fast and Powerful
 Let you do amazing things and really tap the full potential of the mobile device.

However,

 These APIs are proprietary and each mobile OS provides its own unique APIs for
each function.
 The differences in APIs make porting of an app to multiple devices expensive.

Native Apps – Why Not?

 Even though the overall process is similar for all the platforms the specifics are
different for each one.
 When we write the code for one platform we can't use it on others.

Similar approach, but different source code and expertise results in expensive
development and maintenance!

Known Web Apps


Today's mobile devices come with very powerful browsers with support
for Html5, CSS3 and advanced JavaScript.

Examples: Google, WikiPedia, YouTube, and Amazon etc.

Characteristics of Pure Mobile Web Apps


 Pure mobile web apps which are written entirely in HTML, CSS, JavaScript, and
served from a web server but are almost indistinguishable to the user from
native apps.
 Installed on the homepage and launched like native apps.
 Interactive user interface which is highly optimized for touch screens.
 Client Side rendering
 Available Offline

Characteristics of Pure Mobile Web Sites


 Alternate to pure mobile web app are pure mobile web sites.
 Visited by browsing
 Static, navigational UI
 Generic Look and Feel
 Server Side Rendering
 Require Network Connectivity

JavaScript Toolkits for Mobile Web App UI


 JavaScript Toolkit Library
o Sencha Touch
o JQuery Mobile
 These are very reminiscent of the look and feel of native apps.
 Both execute entirely within the browser on the mobile device.
 Makes use of the newest JavaScript, CSS3 andHTML5` features available in
browsers.

HTML5 & CSS3


HTML5 is the transition of HTML from a page definition language into a powerful
technology for creating browser based apps.

HTML5 provides many client-side graphics capabilities with the canvas element SVG
and things like rounded corners.

HTML5 and CSS3 has several mechanisms that enable offline support such as
application caching.

Offline storage data URLs also make it easy for apps to perform client side rendering
without contacting the server.

Many more for you to Explore!

Web Apps - Why?


 Entirely written using web technologies
o HTML, CSS and JavaScript
 Code is executed by the browser, not by the OS
 Several ways to launch the app
o Typing URL, Clicking Hyperlink
o Scanning QR Code
o Home screen shortcut
 Installation is optional
 Easily support multiple mobile OSs and can be extended with device-specific
enhancements to make them behave more like native apps.
Web Apps - Interaction with Mobile

 Web apps run within the browser and the browser is itself a native app.
 App has direct access to the OS APIs but it only exposes some of them
to Web Apps.
 One specific element of the browser is Rendering engine the heart of the
browser.
 This rendering engine is called Webkit and it's an open source project.
 Almost all the leading smartphone vendors are using the same.
Characteristics of Hybrid Apps

 Native App with embedded HTML.


 All the benefits of native App.
 Full access to APIs.
 App store presence
 Selected portion of the apps are written in web technologies
 The web portion of the app can either be downloaded from the
web or packaged within app.

Hybrid Apps Development

Hybrid Apps – Interaction with mobile Device


 Hybrid apps have two separate components
o Native portion
o Web Portion
 The native portion of the app has control over the rendering engine and it creates
a bridge that allows the web portions of the app to access all the OS APIs.
o Custom Bridge
o Ready-made such as PhoneGap

Native vs Web vs Hybrid Apps

You might also like