0% found this document useful (0 votes)
87 views28 pages

ANDROID Development Approaches: Three Key Aspects of Development of Mobile App

The document discusses different approaches to Android development including native, web, and hybrid approaches. It describes native development as using platform-specific APIs, web development as using technologies like HTML5 and JavaScript without device access, and hybrid development as combining native and web approaches using cross-platform tools. The document also compares aspects of the different approaches like performance, learning curve, and portability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
87 views28 pages

ANDROID Development Approaches: Three Key Aspects of Development of Mobile App

The document discusses different approaches to Android development including native, web, and hybrid approaches. It describes native development as using platform-specific APIs, web development as using technologies like HTML5 and JavaScript without device access, and hybrid development as combining native and web approaches using cross-platform tools. The document also compares aspects of the different approaches like performance, learning curve, and portability.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28

ANDROID Development

Approaches
Three Key Aspects of Development of
mobile App

1.Business Use case


Business to Customer(B2C)
Business to employee(B2E)
Business to Business(B2B)
2. Profile of the User
(May be field agent, Customer, partner,
executive, member of Sr,mgt. Etc…
3. Mobile Device
(Device type, connectivity (off/on line) ,
operating environment)
Approaches
1. Native
2. Web
3. Hybrid and
4. Mobile web application

Native Approach:
• For the native platform, using platform
specific APIs
• When native look & feel and high end device
capability are expected
Web kit based App
Web kit based App:
* Developed using web tech. like HTML5,
CSS3 and Java script
* Not installed in device, rendered in a mobile
browser
* Accessing the device capabilities is not
possible and performance is not so good as
compared to native applications.
Mobile web application
Mobile web application
• Using this approach the user can access the
web pages (through any mobile browser)
which are especially designed for mobiles and
residing on a server on the web.
Hybrid App

Hybrid App:
• Combination of both native and web..
• Developed using mobile cross platforms
• Multiplatform development
• Codebase can be translated to any other
platforms
• Has three types of philosophies to develop
app.
Hybrid : Types of philosophies
1. Web-Based
• Using this hybrid app is created in 2 steps
i) Creates a web app using the usual web
approach
ii)Using native approach; It enables the app to
influence the underlying h/w features in a
device.
• Framework: jQuery or Sencha Touch and
Tools : Adobe,Phonegap are used to create
app.
Web-Based
• Resultant app is distributed thro’ online app
stores then it can be downloaded
• Runs within full screen browser.
Cross compiler philosophy
2. Cross compiler philosophy:
• App is created using web technologies
• Cross compiled(converted to other native
platforms)
• Resultant app is distributed thro’ online app
stores then it can be downloaded
• Runs like native app
• Tools used to create app : Appcelerator,
Titanium
Middleware philosophy
3. Middleware philosophy
• Enables to host the app on middleware server
• Will facilitates the interaction between app
and the enterprise system at the backend.
• Middleware used: SAP SMP or KONY
• Do not support other philosophies.
2014: Sales of smart phones
Skill Set Required
Comparison of Mobile Dev.Approaches
Hybrid mixed
Aspect Web development Hybrid development development Native development
Easy to learn Easy Medium Medium Hard

Application performance Slow Moderate Moderate Fast

Device knowledge None Some Some A lot


required

Development lifecycle Short Medium Medium Long


(build/test/deploy)

Application portability to High High Medium None


other platforms

Support for native device Some Most All All


functionality

Distribution with built-in No Yes Yes Yes


mechanisms

Ability to write No Yes Yes Yes


extensions to device
capabilities
Application Type and Suggested
Approach
ANDROID OVERVIEW
ANDROID PLATFORM ARCHITECTURE
Structure of Android App Project
Src:
• This folder contains our actual .java source code.
• Com.example.MFApp :- Java package to manage the .java
files.
Gen:
• Contains files generated by Eclipse / Android (BuildConfig.java
and R.java).
• R.java : - Auto generated file contains integer constants for all
resources included in the project.
• R.java : - The integer constant define here will be used in
other java files to refer the different resources using the
format R.foldername.res_name ( R.layout.activity_main)
Structure of Android App Project
Android 4.3-This folder actually contains our reference to the
Android SDK.
Android private Libraries : Contains library files for android app
Assets: The assets folder is a location you can put raw files that
you don’t need ID access to (so you can’t access them via the R
class mentioned above).
Bin: The bin folder contains the compiled application files. In
general, you can ignore this folder.
Res: This folder is incredibly important. However, there aren’t
any files actually in it. Instead it is split up into sub-folders.
Structure of Android App Project
• ic_launcher.png : default icon for the app. Subfolders contain
all the image resources
• Anim : While not present in this project, an anim folder will
contain xml descriptions of animations.
• Layout : activity.main.xml : - is a layout resource that defines
the blueprint of various elements that appear on the app. This
file can be edited to modify the look and feel of the app sing
Graphical layout editor or XML editor.
• Menu : main.xml : - The menu folder contains xml descriptors
of menus.
Structure of Android App Project
values-This folder contains xml files with key value pairs
essentially.
• Strings.xml : - file which contains a string keys and values.
• Style.xml : - Style/Theme can be added.
• Dimen.xml : - Dimensions like horizontal/Vertical can be
added
Androidanifest.xml:
• Is the most important file , is a registry of several details such
as list of logical components, sdk requirements and version of
the app.
• Presents essential information about your app to the Android
system
Androidanifest.xml:
Manifest does the following:
• It names the Java package for the application
• It describes the components of the application
• It names the classes that implement each of the components
and publishes their capabilities
• It determines which processes will host application
components.
• It declares which permissions the application must have in
order to access protected parts of the API and interact with
other applications.
Androidmanifest.xml:
• It also declares the permissions that others are required to
have in order to interact with the application's components.
• It lists the Instrumentation (java.lang.object)classes that
provide profiling and other information as the application is
running. These declarations are present in the manifest only
while the application is being developed and tested; they're
removed before the application is published.
• It declares the minimum level of the Android API that the
application requires.
• It lists the libraries that the application must be linked against.
Behind the Scenes
App src code Java compiler .class file

Dalvik
apkbuilder Dx tool
executable(.dex)

Resources
&Androidmanifest.xml

Unsigned.apk file jarsigner Signed.apk file

Optiized.apk(ready for installation) zipalign


End…….

You might also like