Synapseindia Mobile Apps-Intro to Mobile Development

Embed Size (px)

Citation preview

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    1/16

    Intro to Mobile Development

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    2/16

    History of Mobile Hardware

    PDApersonal digital assistants were precursor

    Apple Newton in 1992

    Personal data management and productivity (contacts, addressbook, etc)

    Online synchronization Limited dialup Internet connectivity

    Bluetooth

    Cell data services - eventually 3G

    WiFi Mobile Phones

    Netbookssmaller than laptop, bigger than pda

    PDAs and Phones merge - Palm Pilot, etc,

    Smartphones replaced PDA - more capabilities, browser, apps

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    3/16

    Mobile Phones

    1stmobile phonesMotorola Brick DynaTAC8000x1983

    Bag phonescar phones

    early 90s Camera phoneslate 90s

    Addition of data services

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    4/16

    Mobile Development Evolves

    WAP (Wireless Application Protocol)standard/browsers. Wireless Markup Language

    Considered clunky and limited, but it was crossplatform

    Proprietary formats emerged to better take advantageof hardware capabilities:

    Palm OS (became Garnet OS)

    RIM Blackberry OS

    Java Micro Edition

    Symbian OS (Nokia, Sony Ericsson, Motorola, Samsung)

    iPhone iOS

    Major players now - Blackberry, iOS, Android,

    Windows 7

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    5/16

    Challenges to development

    Merging phones and pdas - couldn't keep upwith demand for services, needed a platformthat could provide these services withoutallowing direct access to modifying handset

    (Internet) Difficult to emulate Internet on a handset - small

    size, battery life, resolution/display type, etc

    Plus data transmission was costly

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    6/16

    Smartphone Stats

    Top Smartphone Platforms - Share % of Smartphonesubscribers (Feb. 2011)

    Google/Android 33% RIM Blackberry 28.9% Apple 25.2%

    Microsft 7.7% Palm 2.8%

    Smartphone overall penetration

    2008 11% 2009 17%

    2010 27% AT&T biggest smartphone carrier (38.3%), Verizon 2nd

    at 26.7%

    > 1 billion iPhone apps downloaded

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    7/16

    Mobile Activities

    Besides voice calls:

    texting (68% of users)

    taking photos (52%)

    news and information (40%)

    Web browsing (36%)

    using apps (34%)

    e-mail (30%)

    weather (25%)

    social networking or blogs (24%)

    games (23%)

    search (21%) shooting video (20%)

    looking at maps (18%)

    instant messaging (17%)

    sports info (16%)

    listening to music (16%)

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    8/16

    Evolution

    "Traditional HTML" is static content; initial browsers did notsupport scripting

    Browser wars" made scripting very cumbersome

    Multimedia content was required for commercial content

    Java was an existing (but heavy) solution from enterprise IT

    Flash evolved from a more content-centric perspective

    Today's browsers are runtime environments themselves

    Rich and fairly robust scripting environments

    More limited access to OS resources than add-ons

    Mobile software developers work with distinctly differentprogramming environments, different tools, and differentprogramming languages. Porting among the platforms is oftencostly and not straightforward.

    Technologies for Web dev now include HTML5, CSS3, and

    JavaScript

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    9/16

    Native Languages

    iOS - Objective C

    Android Java, but some C, C++

    Blackberry - Java

    Windows Mobile - C, C++

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    10/16

    Native Apps or Web Apps

    Native

    Ability to build a superior user interface

    Need to access device hardware - gps, accelerometer,camera, storage, etc. wifi, 3g, messaging, email, browser,

    music player... Leverage popular, established app store distribution

    channels

    Web

    Ease and cost benefits of providing one interface accessibleon multiple platforms

    Direct control over own distribution, no need to seek thirdparty approval

    Ability to build a superior user interface

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    11/16

    Android Platform

    Android philosophy - more open, choice of phones,carriers - freeware, shareware, paid apps.

    Open Handset Alliance Nov 2007 - non-proprietary openstandard - Android; Google leading the way, but includes

    chip marks, handset manufacturers, software devs andservice providers.

    T-Mobile Gi - 1st Android Handset Oct 2008. by HTC

    Free and open source

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    12/16

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    13/16

    JQuery Mobile

    JQuery Mobile - broad-based mobiledevelopment platform. Uses web standards.Runs on all major platforms.

    HTML5 markup driven

    Object-oriented CSS that provides a unifiedvisual design theme. Like JQuery UIThemeRoller.

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    14/16

    JQuery Mobile Demo

    Download or link to JQuery, JQuery Mobile and JQuery Mobile CSS

    jQuery Mobile Tutorial on Codeforest.net

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    15/16

    JQuery Mobile, continued

  • 8/10/2019 Synapseindia Mobile Apps-Intro to Mobile Development

    16/16

    Native App Demo

    iPhone Development

    Download XCode and the iPhone SDK

    Open XCode

    File, New Project

    Name it HelloWorld, find a location for it.

    iPhoneOS

    Application - these are project templates

    Choose View-based application

    Makes lots of files (like a framework)

    Open Resources in the left panel

    Open View Controller, double clickOpens Interface Builder

    You can add things to the View from the Library

    Choose a Label, Drag on to view, Change it to Hello World

    Save it.

    Back in XCode, click Build and Go Button