App Dev Platforms & Frameworks
Transcript of App Dev Platforms & Frameworks
-
8/9/2019 App Dev Platforms & Frameworks
1/34
Page 1
Application Development Platforms and Frameworks
-
8/9/2019 App Dev Platforms & Frameworks
2/34
Highlights
•
Every major mobile OS comes with a rich app framework and powerfulapp development platforms
– iOS, Android, lackberry, !ebOS, !indows Phone• "any # rd party libraries, frameworks and platforms offer cross$platform
alternatives to the OS vendor frameworks and platforms – Phone%ap, Appcelerator, &hodes, Sencha' – (he best enable applications built with web technologies
'that have the look$and$feel of native smartphone applications'with full support for the native phone controls and touch gestures
• Emerging )("*+ application platforms point the way to the future – hrome OS, Alibaba Aliyum, arbyn' –
)("*+ enables web apps in the browser container to operate off$line• App cached on the device• -ata stored locally on the device
-
8/9/2019 App Dev Platforms & Frameworks
3/34
Mobile App Development Tools
•
(here are a wide variety of tools available for creating mobileapplications. (hese tools fall into three broad categories
– Software libraries• Small, self$contained toolkits that offer specific functionality• E.g., /0 widgets and #- graphics
– Application frameworks•
A set of libraries, software components and architecture guidelines• Enable building a complete mobile application
– Application development platforms• Everything needed to build a complete application and package it for distribution
• -evelopment tools are provided by OS vendors and by # rd parties• OS vendors provide native OS platforms development environments
– #rd parties provide libraries, frameworks and platforms
-
8/9/2019 App Dev Platforms & Frameworks
4/34
Native OS Application Platforms Development !nvironments
Every major mobile OS comes with a rich application development ande2ecution environment, including3• 0ntegrated -evelopment Environment 40-E5
– 0ndustry standard langauges – -ebuggers – Emulators
• &ich application framework• omprehensive set of libraries
Android iOS "lackberr# $ebOS $indows Phone
Primary languages
Also supported
6ava
, 77
Objective 6ava )("*, SS,6avaScript
, 77
8
0-E Eclipse 9code Eclipse Eclipse :isual Studio
-
8/9/2019 App Dev Platforms & Frameworks
5/34
HTM%& ' is the F(t(re of Mobile App Development
Apple has adopted HTML5, CSS andJavaScript – all open standards. Apple’smobile devices all ship with hi h per!ormance,
low power implementations o! these openstandards. HTML5, the new web standard thathas been adopted b" Apple, #oo le and man"
others, lets web developers create advancedraphics, t"po raph", animations and
transitions witho$t rel"in on third part"browser pl$ %ins &li'e (lash). HTML5 is
completel" open and controlled b" a standardscommittee * +ew open standards created in
the mobile era, s$ch as HTML5, will win onmobile devices &and Cs too).
Steve 6obs, April ;
-
8/9/2019 App Dev Platforms & Frameworks
6/34
$h# HTM%&
•
)("*+ transforms the web browser into a rich application platform – &ich user interfaces – Offline capabilities – -eep and secure hardware access capabilities
• Availability – =irst public working draft of )("*+ published in ;
-
8/9/2019 App Dev Platforms & Frameworks
7/34
The HTM%& Famil#
•
So called @)("*+ apps are built using the suite of modern webdevelopment technologies – (he ore )("*+ spec – SS# 4 ascading Style Sheets :ersion #5 – !eb !orkers – !eb Storage – !eb Sockets – %eolocation – "icrodata – S:% 4Scalable :ector %raphics5 – !eb%*B –
-evice AP0 and =ile AP0 – And more specifications in progress
B !eb%* is not a !# specification.
-
8/9/2019 App Dev Platforms & Frameworks
8/34
HTM%& Offline )apabilities
•
*ocal application storage3 App ache – Enables offline access to applications – =ast C native app li'e C app load time – aches entire web app locally
• Application to be cached specified in ache "anifest =ile• -ata storage and access
– !eb SD* -atabase• lient$side SD*ite database
– 0nde2ed-• Object based data store
– =ile =ileSystem AP0s• &eading and manipulating• reating and writing• -irectories and System
-
8/9/2019 App Dev Platforms & Frameworks
9/34
"(ilding Mobile Apps with HTM%&
•
Pure web apps – Accessed using a standard browser – =ully encapsulated in the browser
• !eb apps transformed into native apps – !rapped in a native wrapper 4e.g., Phone%ap5 – ompiled to native platform object 4e.g., Appcelerator5 – (here are two broad reasons to do this3
• Access to the native app store 4e.g., i(unes5• Access to AP0Fs not e2posed to the browser 4e.g., accelerometer, camera5
• !eb pages invoked by a native app using the OSGs built$in browser
-
8/9/2019 App Dev Platforms & Frameworks
10/34
*rd part# %ibraries+ Frameworks and Platforms
•
(here are a great many #rd party libraries, frameworks and platforms• "ost are cross$platform, some are OS specific 4e.g., only for iOS5• "ost support web development technologies
– )("*, SS, 6avaScript'• %enerally fall into one of three groups3
1. ompile a native app targeting one or more platforms• E.g., (itanium Appcelerator 4html js css $H iPhone Android lackberry5
;. !rap a web app in a native wrapper, e2posing native AP0s to the web app• E.g., Phone%ap
#. Enable touch$device optimiIed, native look and feel web apps• E.g., Sencha
-
8/9/2019 App Dev Platforms & Frameworks
11/34
%ibraries
*ibraries are small, self$contained toolkits that offer specific functionality tothe developer. Jormally used in conjunction with other libraries and tools tomake up the full mobile app. E2amples include /0 widgets and #- graphicslibraries. (he best libraries for mobile application development enable thecreation of touch$device optimiIed, native look$and$feel applications.
A sample of the more popular # rd party cross$platform libraries3%ibrar# ,-% %icense T#pe
6o http3 joapp.com Open Source *ibrary
6D(ouch http3 jKtouch.com Open Source *ibrary
6Duery "obile http3 jKuerymobile.com Open Source *ibrary
Sencha (ouch http3 www.sencha.com products touch OS ommercial *ibrary
2ui http3 2uijs.com Open Source *ibrary
-
8/9/2019 App Dev Platforms & Frameworks
12/34
Frameworks
A framework is a set of libraries, software components and architectureguidelines that provides the developer with a comprehensive toolkit to builda complete mobile application, from top to bottom.
A sample of the more popular # rd party cross$platform frameworks3
Framework ,-% %icense T#pe
A"* http3 www.amlcode.com Open Source =ramework
%rapple http3 www.grapplemobile.com ommercial =ramework
"otherApp http3 www.motherapp.com ommercial =ramework
D( http3 Kt.nokia.com products Kt$formobile$platforms Open Source =ramework
Duick onnect=amily http3 www.Kuickconnectfamily.org Open Source =ramework
Sproutcore (ouch =ramework
!ebApp.net http3 webapp$net.com Open Source =ramework
-
8/9/2019 App Dev Platforms & Frameworks
13/34
Platforms
A set of frameworks, tools and services that not only allow the user to builda complete mobile application but also to configure, package anddistrib(te it to app stores or the cloud. Platforms normally include somesort of integrated development environment 40-E5 to ease appconstruction, comprehensive documentation, support and automationtools.
A sample of the more popular # rd party cross$platform platforms3Plaform ,-% %icense T#pe
Adobe A0& ommercial Platform
Appcelerator (itanium http3 www.appcelerator.com Open Source Platform
app"obi Platform
"obile0ron http3 mobileiron.com ommercial Platform"oSync http3 www.mosync.com Open Source Platform
Phonegap 4Apache allback5 http3 www.phonegap.com Open Source Platform
&ho"obile &hodes http3 rhomobile.com products rhodes Open Source Platform
!idgetPad http3 widgetpad.com Open Source Platform
-
8/9/2019 App Dev Platforms & Frameworks
14/34
Phone.ap /Apache )allback0
•
(echnical architecture – Apps written in )("*, 6avaScript and SS – &un in a mobile browser embedded on a thin native app wrapper – Access to deviceGs capabilities through a device$independent 6avaScript AP0
which talks to the OS proprietary AP0Gs• Supported platforms
– iOS, Android, lackberry, !indows "obile L.+, Symbian, Palm• Strengths
– Jative wrapper source code is available for customiIation – Simple Mdrop$in librariesG concept makes it easier to develop – road range of platforms supported –
Apps built purely in )("*, 6avaScript and SS• !eaknesses
– *ack of support for native /0 components, design patterns anddevelopment tools
• est Phone%ap apps use Sencha (ouch to provide nativelook$and$feel
-
8/9/2019 App Dev Platforms & Frameworks
15/34
Phone.ap /Apache )allback0
•
=ree open source framework – "any contributors, including from 0 ", &0" and "icrosoft
• Originally created by Jitobi• Adobe acKuired Jitobi in October ;
-
8/9/2019 App Dev Platforms & Frameworks
16/34
Phone.ap /Apache )allback0s$pported !eat$res
Source3 http3 phonegap.com about features
-
8/9/2019 App Dev Platforms & Frameworks
17/34
Appcelerator Titani(m
•
(echnical architecture – Apps written in 6avaScript, compiled into native code – reates target platform specific packaged
• Enables distribution through app stores• Supported platforms
– iOS, Android, lack erry 4announced in ;
-
8/9/2019 App Dev Platforms & Frameworks
18/34
Appcelerator Titani(ms$pported !eat$res
)apabilit# iPhone Android
%eo$location Nes Nes
P0" ontacts Nes Partially
amera Nes Nes
Jative menu (ab bar Nes Nes
arcode Jo Jo
Audio video capture Nes Nes
luetooth Jo Jo
Push S"S Partially Partially
alendar Jo Nes
Screen rotation Nes Nes
Jative maps Nes Nes
&ingtones Jo Jo
Storage Nes Nes
Source3 (ribal, Cross%plat!orm mobile development , "arch ;
-
8/9/2019 App Dev Platforms & Frameworks
19/34
-hoMobile -hodes
•
(echnical architecture – Apps written in &uby and )("* 6S SS, compiled to &uby byte$code
• &un in a &uby interpreter on the device – &hodes runtime
• ontains the interpreter• Provides cross$platform common abstractions for accessing device capabilities
•
Supported platforms – iOS, Android, lackberry, !indows "obile L.+, Symbian
• Strengths – usiness logic written in &uby helps to create structured code – "odel$:iew$ ontroller design patterns – Supports a broad range of mobile platforms
• !eaknesses – Jeed to know &uby well
• "otorola Solutions acKuired &ho"obile in October ;
-
8/9/2019 App Dev Platforms & Frameworks
20/34
-hoMobile -hodess$pported !eat$res
)apabilit# iPhone Android "lack"err# S#mbian
%eo$location Nes Nes Nes Nes
P0" contacts Nes Nes Nes Nes
amera Nes Nes Nes Nes
Jative menu (ab bar Nes Nes Nes Nes
arcode Nes Nes Nes Nes
Audio video capture Nes Nes Nes Nes
luetooth Nes Nes Nes Nes
Push S"S Nes Nes Nes Nes
alendar Nes Nes Nes Nes
Screen rotation Nes Nes Nes Nes
Jative maps Nes Nes Nes Nes
&ingtones Nes Nes Nes J A
Storage Nes Nes Nes Nes
Source3 (ribal, Cross%plat!orm mobile development , "arch ;
-
8/9/2019 App Dev Platforms & Frameworks
21/34
Sencha To(ch
•
A )("*+ mobile app library – Enables web apps that look and feel native on Apple iOS and %oogle
Android touchscreen devices – Supports app development with )("*+, SS#, and 6avascript
• )("*+ library of choice for building mobile web apps – Pure web apps that run in the browser – )ybrid apps created with Phone%ap, Appcelerator and &hodes
• )eavily documented, with a strong professional team providing support
-
8/9/2019 App Dev Platforms & Frameworks
22/34
-
8/9/2019 App Dev Platforms & Frameworks
23/34
HTM%& Application Platforms and OS3es
•
Application platforms that run web apps in )("*+ browsers – %oogle hrome OS – Alibaba Aliyun OS – arbyn 4www.carbyn.com5 – "oIilla oot ; %ecko – !ebian
-
8/9/2019 App Dev Platforms & Frameworks
24/34
)hrome OS
•
An open source, lightweight operating system• Available on hromebooks 4i.e., netbooks5 from Samsung and Acer
– uilt$in !i$=i and #%• hrome OS consists of three major components
– (he hromium$based browser and the window manager – System$level software and user$land services3 the kernel, drivers,
connection manager, and so on – =irmware
• )("*+ applications available from hrome !eb Store
-
8/9/2019 App Dev Platforms & Frameworks
25/34
)hrome OS Architect(re
-
8/9/2019 App Dev Platforms & Frameworks
26/34
Alibaba Ali#(n OS
•
loud$based OS for tablets and mobile phones• -eveloped by AlibabaGs Alicloud division• -evelop apps with the latest web technologies
– )("*+, SS#, 6avaScript• loud based services
– e$mail, 0nternet search, weather updates, maps, navigation' – SynchroniIe and store user data in real time to Ali loud
• ontacts, te2t messages, photos, call logs'• =ree 1
-
8/9/2019 App Dev Platforms & Frameworks
27/34
!4ample HTM%& Applications5Gmail, Google Calendar, and Google Docs
•
&un in %oogle hrome browsers – On P Gs, "acs, and hrome OS devices• Apps cached in browser, sync user data to browserGs storage
– *oad instantly, available off$line• 0nstalled from %oogle hrome !eb Store
-
8/9/2019 App Dev Platforms & Frameworks
28/34
!4ample HTM%& Applications5 Xero Mobile
•
usiness account web app• iOS app built with Phone%ap and Sencha (ouch
– !eb app wrapped in native Phone%ap wrapper – Packaged as native iOS app
• 0nstalled from Apple App Store
-
8/9/2019 App Dev Platforms & Frameworks
29/34
!4ample HTM%& Applications5Sugar Mobile
•
Sugar &" web app• iOS app built with Appcelerator
– !eb app compiled to native app – Packaged as native iOS app
• 0nstalled from Apple App Store
-
8/9/2019 App Dev Platforms & Frameworks
30/34
6e# Assertions
•
(he )("*+ family of web technologies is the future prefered mobileapplication platform• %oogle hrome, Alibaba Aliyun and other )("*+ @OSes provide proof
points of the ability to provide a rich user e2perience with )("*+• (here are many )("*+ libraries, frameworks and platforms in the
marketplace – onsolidation is underway – "any acKuisition opportunities – "any open source opportunities
-
8/9/2019 App Dev Platforms & Frameworks
31/34
"A)6,P
-
8/9/2019 App Dev Platforms & Frameworks
32/34
Mobile App Developer Platform 7nterest
‘Very interested’ in developing for each platform
-
8/9/2019 App Dev Platforms & Frameworks
33/34
Mobile App Developer Platform 7nterest Trends
‘Very interested’ in developing for each platform
-
8/9/2019 App Dev Platforms & Frameworks
34/34