Responsive Webapps & Mobile Apps Mobile-friendly CSS frameworks - - PowerPoint PPT Presentation

responsive webapps mobile apps
SMART_READER_LITE
LIVE PREVIEW

Responsive Webapps & Mobile Apps Mobile-friendly CSS frameworks - - PowerPoint PPT Presentation

Responsive Webapps & Mobile Apps Mobile-friendly CSS frameworks and introduction to mobile apps CS 370 SE Practicum, Cengiz Gnay (Some slides courtesy of Eugene Agichtein and the Internets) CS 370, Gnay (Emory) Responsive Webapps &


slide-1
SLIDE 1

Responsive Webapps & Mobile Apps

Mobile-friendly CSS frameworks and introduction to mobile apps CS 370 SE Practicum, Cengiz Günay

(Some slides courtesy of Eugene Agichtein and the Internets)

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 1 / 17

slide-2
SLIDE 2

Agenda

Warm-up project: See submission instructions on Piazza. Due Tuesday 2/18

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 2 / 17

slide-3
SLIDE 3

Agenda

Warm-up project: See submission instructions on Piazza. Due Tuesday 2/18 Today: “Responsive” webapps: work both on desktop and mobile Native mobile apps: iOS and Android

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 2 / 17

slide-4
SLIDE 4

Entry/Exit Surveys

Exit survey: Django & MVC

Explain each of the MVC components in Django. Overall, why is Django a populer web framework? What are its major advantages compared to other web frameworks you know?

Entry survey: Mobile Web

Which one do you use more on your mobile device: manys apps or mostly use the browser? Argue whether it is better to make mobile-aware (responsive) webapps versus mobile-OS specific apps (iOS/Android). Submit survey on Blackboard

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 3 / 17

slide-5
SLIDE 5

Responsive web design

From Wikipedia: “[RWD] is a Web design approach aimed at crafting sites to provide an optimal viewing experience—easy reading and navigation with a minimum of resizing, panning, and scrolling—across a wide range of devices (from mobile phones to desktop computer monitors).”

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 4 / 17

slide-6
SLIDE 6

Responsive web design

From Wikipedia: “[RWD] is a Web design approach aimed at crafting sites to provide an optimal viewing experience—easy reading and navigation with a minimum of resizing, panning, and scrolling—across a wide range of devices (from mobile phones to desktop computer monitors).” Uses principles: Proportion-based grids: Page element sizing to be in relative units like percentages, rather than absolute units (e.g., pixels). Flexible images: sized in relative units to containing element. CSS3 media queries (extension of @media rule): CSS style rules based on characteristics of the device (e.g., browser width).

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 4 / 17

slide-7
SLIDE 7

Responsive CSS framework (1): Bootstrap

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 5 / 17

slide-8
SLIDE 8

Responsive CSS framework (1): Bootstrap

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 5 / 17

slide-9
SLIDE 9

Responsive CSS framework (1): Bootstrap

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 5 / 17

slide-10
SLIDE 10

Responsive CSS framework (2): Foundation

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 6 / 17

slide-11
SLIDE 11

Responsive CSS framework (2): Foundation

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 6 / 17

slide-12
SLIDE 12

Responsive CSS framework (2): Foundation

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 6 / 17

slide-13
SLIDE 13

Responsive CSS usage: Bootstrap example

In the HTML head, include CSS, e.g.:

<!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="// netdna. bootstrapcdn .com/ bootstrap /3.1.1/ css/bootstrap.min.css">

Use their CSS templates, e.g., specify viewport:

<meta name="viewport" content="width=device -width , initial - scale =1">

Use components (e.g., icons, buttons, drop-down menus, etc.) Also has Javascript (jQuery plugins – will talk about this later) Your website will look clean (example)

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 7 / 17

slide-14
SLIDE 14

Why use responsive web and not mobile apps?

Responsive web: One solution for all Server+client solution can be faster than mobile app. iOS and Android have peculiarities (licensing, language, versions, compatibility)

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 8 / 17

slide-15
SLIDE 15

Why use responsive web and not mobile apps?

Responsive web: One solution for all Server+client solution can be faster than mobile app. iOS and Android have peculiarities (licensing, language, versions, compatibility) Mobile apps: Usually faster to start Resident on mobile device and can be activated based on time, or event (e.g., GPS location) Mobile markets make it easy to advertise

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 8 / 17

slide-16
SLIDE 16
slide-17
SLIDE 17

iOS Development

Andri Yadi

@andri_yadi

Universitas Islam Negeri Syarif Hidayatullah Jakarta, May 4, 2011

Seminar War Of Smartphone Operating System

slide-18
SLIDE 18
slide-19
SLIDE 19

The History of Mobile Devices

1988 2007 2010 ?

Motorolla 4500x! iPhone! iPad! Before iPhone! After iPhone!

slide-20
SLIDE 20

iOS devices

slide-21
SLIDE 21

http://developer.apple.com/ios

slide-22
SLIDE 22

200,000,000

iOS devices shipped

slide-23
SLIDE 23

372,141 Apps 414 Apps/Day 80,297 Publishers 10 bn downloads

Source: http://148apps.biz/app-store-metrics - May 3, 2011

slide-24
SLIDE 24

Required Stuffs

slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27

iOS 4.3 SDK + Xcode 4

slide-28
SLIDE 28
slide-29
SLIDE 29

For debugging to device & deployment to AppStore

slide-30
SLIDE 30

Notice something?

iOS development = $$$ Requires: Purchase developer license Own Mac computer (Xcode only runs on Mac) Own mobile device (need to get license for development)

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 11 / 17

slide-31
SLIDE 31

Notice something?

iOS development = $$$ Requires: Purchase developer license Own Mac computer (Xcode only runs on Mac) Own mobile device (need to get license for development) Let’s keep going. . .

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 11 / 17

slide-32
SLIDE 32

Objective-C

C + OOP ≠ C++

slide-33
SLIDE 33

Model-View-Controller

slide-34
SLIDE 34

Memory Management

Reference counting No garbage collector support (yet) Autorelease Pool

slide-35
SLIDE 35

Goodies

slide-36
SLIDE 36

Cocoa Touch

Foundation, UIKit, Multi-Touch Gestures

slide-37
SLIDE 37

Graphics

Core Graphics, Core Animation, Core Image, Core Text, OpenGL ES

slide-38
SLIDE 38

Audio & Video

Media player, Core Audio & OpenAL, iPod library, HTTP Live Streaming

slide-39
SLIDE 39

CoreData

Database, Object-Relational Mapping, optimized for mobile - > 1 mln objects store

slide-40
SLIDE 40

Networking

Bonjour, Peer to peer, WebKit framework, BSD socket

slide-41
SLIDE 41

Core Location & MapKit

slide-42
SLIDE 42

Multitasking

New kind of multitasking. Available in iOS 4.

slide-43
SLIDE 43

External display support

slide-44
SLIDE 44

AirPrint

Wireless printing to AirPrint-enabled printers. Hack available

slide-45
SLIDE 45

Push & Local Notification

slide-46
SLIDE 46

Game Center

Social gaming platform

slide-47
SLIDE 47

iAd

Integrated advertising platform

slide-48
SLIDE 48

In-App Purchase

Payment inside applications

slide-49
SLIDE 49

iOS development summary

All good things aside, iOS development has a lot of red tape. Approval for developer license Market license Deployment license At Emory students can get free developer licenses, but they have to: Use library computers/own a Mac Register with IT Obtain and install license (everytime you use library computer)

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 12 / 17

slide-50
SLIDE 50
slide-51
SLIDE 51

Apple Battles “Resurgent” Rivals

iOS market share in decline as of Nov 2013 (TechCruch):

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 14 / 17

slide-52
SLIDE 52

Apple Battles “Resurgent” Rivals

iOS market share in decline as of Nov 2013 (TechCruch): New platforms on the rise: Android Windows

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 14 / 17

slide-53
SLIDE 53

Android

slide-54
SLIDE 54

History

founded by open handset alliance (OHA) by a group in 2003 by ANDY ROBIN(danger) RICH MINER (co founder of wildfjre communication) NICK SEARS (vpt-moblie) CHRIS WHITE(design and interface developed at web TV). ANDROID logo designed by California based graphic designer IRINA BLOCK. Google lacked fjnancially and latter brought in android in 2005. GOOGLE reveled in 2007 with fjrst mobile android powered phone which was HTC DREAM was sold in October 22nd 2008. ANDROID is a open source and Google releases the code under Apache license. October 2012 approximately 700000 apps were available for downloads.

slide-55
SLIDE 55

Estimated applications downloaded at Google play were 25 billion. Android took over Symbian OS in 2010. Android has world wide Smartphone market share of 75% with 500 million devices activated. 1.3 millions activations per day. Each major release is named in alphabetical order with international bakery items names e.g. cupcake, ice cream etc. Google has its own mobile named NEXUS collaborated with HTC.

slide-56
SLIDE 56
slide-57
SLIDE 57

What is ANDROID

  • Google's Android is an open-source platform that's

currently available on a wide variety of smart phones.

  • Android is a software stack consist

Of a part of operating system in {Linux kernel} libraries, framework, and applications.

slide-58
SLIDE 58

Introduction

Versions

versions Codenam e API Distributi

  • n

1.5 Cupcake 3 0.05% 1.6 Donut 4 0.2% 2.1 Éclair 7 1.9% 2.2 Froyo 8 7.5% 2.3 2.3.2 2.3.3 2.3.7 Gingerbrea d 9 10 0.2% 43.9% 3.1 3.2 Honeycom b 12 13 0.3% 0.9% 4.0.3 4.0.4 Ice cream sandwich 15 28.6% 4.1 4.2 Jelly bean 16 17 14.9% 1.6% Upcoming Key lime pie Second qtr ???????

slide-59
SLIDE 59
slide-60
SLIDE 60

Getting started

  • Installing all necessary tools to build

apps.

  • Jdk
  • Eclipse
  • Adt pulgins kit
  • New way of installing with ADT

bundle which includes eclipse + Adt+ platforms.

slide-61
SLIDE 61

Notice something?

Android development = free! No red tape! Requires: No license Uses open source software Can run on any mobile device (no need to get deployment license)

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 16 / 17

slide-62
SLIDE 62

Notice something?

Android development = free! No red tape! Requires: No license Uses open source software Can run on any mobile device (no need to get deployment license) Let’s keep going. . .

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 16 / 17

slide-63
SLIDE 63

ANDROID ARCHITECTURE

The software stack is split into Four

Layers:

  • The application layer
  • The application framework
  • The libraries and runtime
  • The kernel
slide-64
SLIDE 64
slide-65
SLIDE 65

LIFE CYCLE

slide-66
SLIDE 66

Mobile development summary

Easiest is to develop responsive webapps If needed can make native mobile app:

◮ iOS: objective-C ◮ Android: Java ◮ Windows: C#, VB.Net :-C~ ◮ Cross-platform: PhoneGap, AirplaySDK, WidgetPad, . . . CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 17 / 17

slide-67
SLIDE 67

Mobile development summary

Easiest is to develop responsive webapps If needed can make native mobile app:

◮ iOS: objective-C ◮ Android: Java ◮ Windows: C#, VB.Net :-C~ ◮ Cross-platform: PhoneGap, AirplaySDK, WidgetPad, . . .

You are free to choose either for your main project Next class I will introduce the project timeline

CS 370, Günay (Emory) Responsive Webapps & Mobile Apps Spring 2014 17 / 17