Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf ·...

48
Building Mobile Applications Computer Science S-76 David J. Malan [email protected]

Transcript of Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf ·...

Page 1: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

Building Mobile ApplicationsComputer Science S-76

David J. [email protected]

Page 2: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

web apps v. native apps

Page 3: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****
Page 4: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****
Page 5: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****
Page 6: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****
Page 7: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

<!DOCTYPE  html>

<html>    <head>        <title>hello,  world</title>    </head>    <body>        hello,  world    </body></html>

Page 8: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****
Page 9: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

viewport<meta  name="viewport"  content="width=device-­‐width"/>

Page 10: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

viewportheight

initial-­‐scale

maximum-­‐scale

minimum-­‐scale

user-­‐scalable

width

Page 11: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****
Page 12: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

<!DOCTYPE  html>

<html>    <head>        <link  href="styles.css"  rel="stylesheet">        <title>hello,  world</title>    </head>    <body>        hello,  world    </body></html>

Page 13: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

frameworks

jQuery Mobile

PhoneGap

Sencha Touch

. . .

Page 14: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

apple-mobile-web-app-capable<meta  name="apple-­‐mobile-­‐web-­‐app-­‐capable"  content="yes"/>

Page 15: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

apple-mobile-web-app-status-bar-style<meta  name="apple-­‐mobile-­‐web-­‐app-­‐status-­‐bar-­‐style"  content="black"/>

Page 16: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

apple-touch-icon.png<link  rel="apple-­‐touch-­‐icon"  href="custom_icon.png"/>

Page 17: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

apple-touch-icon-precomposed.png<link  rel="apple-­‐touch-­‐icon-­‐precomposed"  href="custom_icon.png"/>

Page 18: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

apple-touch-startup-image<link  rel="apple-­‐touch-­‐startup-­‐image"  href="startup.png"/>

Page 19: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

<!DOCTYPE  html>

<html>    <head>        <link  href="styles.css"  rel="stylesheet">        <script  src="scripts.js"></script>        <title>hello,  world</title>    </head>    <body>        hello,  world    </body></html>

Page 20: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

JavaScript

Page 21: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

Building Mobile ApplicationsComputer Science S-76

Page 22: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

prerequisites

Prior programming experience in any object-oriented language

Comfort with HTML and CSS

iOS device

Page 23: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

expectations

attend all lectures and labs

submit all projects

Page 24: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

lectures

1 on web apps

HTML5, JavaScript, ...

5 on native apps

Objective-C, UIKit, Storage, Gestures, Core Graphics, ...

Page 25: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

labswednesdays, 6:30pm, Northwest Science B108

Page 26: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

websitewww.cs76.net

Page 27: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

Discusscs76.net/discuss

Page 28: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

projects

Staff ’s Choice of Web Apps

Mobile Local

Staff ’s Choice of Native Apps

Evil Hangman

Student’s Choice of Apps

Page 29: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

grades

scope

correctness

design

style

Page 30: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

grades

scope x (3 x correctness + 2 x design + 1 x style)

Page 31: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

app partywed 8/7, 6:30pm

Page 32: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

sony.com

Page 33: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****
Page 34: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

<!DOCTYPE  html>

<html>    <head>        <title>My  title</title>    </head>    <body>        <a  href="">My  link</a>        <h1>My  header</h1>    </body></html>

Page 35: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

<!DOCTYPE  html>

<html>    <head>        <title>My  title</title>    </head>    <body>        <a  href="">My  link</a>        <h1>My  header</h1>    </body></html>

Page 36: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

JavaScript

Page 37: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

<script>  

   ...

</script>

Page 38: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

<script  src="file.js"></script>

Page 39: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

breakconstcontinuedo  ...  whileforfor  ...  infunctionif  ...  elsereturnswitchthrowtry  ...  catchvarwhile...

Page 40: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

Arrays[]

Page 41: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

Objects{}

Page 42: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

localStorage

.clear

.getItem

.removeItem

.setItem

Page 43: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

navigator.geolocation

.getCurrentPosition

Page 44: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

jQueryjquery.com

Page 45: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

source unknown

ajax

Page 46: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****

Objective-C

Page 47: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****
Page 48: Building Mobile Applications - cdn.cs76.netcdn.cs76.net/2013/summer/lectures/0/lecture0.pdf · Building Mobile Applications Computer Science S-76 ...   ****