app dev platforms & frameworks

Upload: mchand1

Post on 01-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 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