mobile’applicaon’development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 ›...
TRANSCRIPT
![Page 1: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/1.jpg)
Mobile Applica,on Development
Spring 2012- COP 4655 U1 M/W 6:25 – 7:40pm – ECS 138
Steve Luis
lecture1
![Page 2: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/2.jpg)
Agenda
• Syllabus Review • Mobile Applica,on Development Intro • Development Pla>orm
Spring 2012 - COP 4655
2
![Page 3: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/3.jpg)
Mobile Applica,on Development
• Design and develop so@ware for mobile devices like a phone or tablet.
• Understand how mobile apps are different from conven,onal desktop apps.
• Learn how to use the language, OS, IDE and frameworks to effec,vely create mobile applica,ons.
• Realize the full poten,al of your app by u,lizing the capabili,es of mobile device.
3 Spring 2012 - COP 4655
![Page 4: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/4.jpg)
Mobile Devices: A brief history
4
hOp://www.livbit.com/ar,cle/2009/08/18/evolu,on-‐of-‐mobile-‐phones-‐in-‐matryoshka-‐style/
Spring 2012 - COP 4655
![Page 5: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/5.jpg)
Mobile Devices: A brief history
• Cellular Phones – 1980s – early 1990s – 1G Analog – Dial tone – alphanumeric LED display – Device specific OS – Manufacturer so@ware only
5 Spring 2012 - COP 4655
![Page 6: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/6.jpg)
Mobile Devices: A brief history
• Feature Phones – 1990s to mid 2000s – 2G Digital – full featured telephony – addressable screens – Embedded reusable OS – simple applica,ons – calendar/SMS/games – Limited 3rd party apps
6 Spring 2012 - COP 4655
![Page 7: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/7.jpg)
Mobile Devices: A brief history
• Smart Phone – mid 2000s to ??? – 3G Mul,-‐Network – Integrated telephony – high-‐res screens – Sensing devices – full OS/so@ware stack – 3rd party -‐ media rich applica,ons
7 Spring 2012 - COP 4655
![Page 8: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/8.jpg)
Mobile Devices: A brief history
• Portable Computers • Laptops • Netbooks
8 Spring 2012 - COP 4655
![Page 9: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/9.jpg)
Mobile Devices: A brief history
• PDAs
9 Spring 2012 - COP 4655
![Page 10: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/10.jpg)
Mobile Devices: A brief history
• Tablet
10 Spring 2012 - COP 4655
![Page 11: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/11.jpg)
What makes mobile development different?
11 Spring 2012 - COP 4655
![Page 12: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/12.jpg)
What makes mobile development different?
• Desktop = large screen, mouse, sta,onary • Laptop = smaller desktop UX, keyboard • Mobile =
– Hand-‐held, small, hi res, screen – Mul,-‐touch: Gesture – Anywhere: not just sieng – Aware: sensors – Always on and connected
12 Spring 2012 - COP 4655
![Page 13: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/13.jpg)
Special Development Considera,ons
• Limited opera,ng memory • Small screen • Real-‐,me applica,on constraints • Applica,on response ,me • Suspend/Resume • System and applica,on reliability
13 Spring 2012 - COP 4655
![Page 14: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/14.jpg)
Mobile Development Pla>orm
• Mac OS 10.6.7 • Xcode 4.1 • Apple iOS 4.3 SDK • Objec,ve – C 2.0
14 Spring 2012 - COP 4655
![Page 15: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/15.jpg)
iPhone & iPad
15 Spring 2012 - COP 4655
![Page 16: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/16.jpg)
Fall 2011 - COP 4655
16
![Page 17: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/17.jpg)
Fall 2011 - COP 4655
17
![Page 18: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/18.jpg)
18 Spring 2012 - COP 4655
![Page 19: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/19.jpg)
Apple iOS
• Unix based Mach Kernel and BSD interfaces • Same as Mac OS X with some varia,ons • Virtual Memory wo/ paging • Background applica,ons
19 Spring 2012 - COP 4655
![Page 20: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/20.jpg)
iOS App Run,me Environment • Designed for fast and secure execu,on • Mul,-‐tasking environment • Save state • Constrained memory à Purge app • Restore state
20 Spring 2012 - COP 4655
![Page 21: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/21.jpg)
iOS SDK 4.3
21
Cocoa Touch Mul,-‐touch events and controls Accelerometer support View hierarchy Camera support Media OpenAL audio mixing and recording Video playback Image file formats Quartz Core Anima,on OpenGL ES
Core Services Networking Embedded SQLite database Core Loca,on Threads CoreMo,on Core OS TCP/IP Sockets Power management File system Security
Spring 2012 - COP 4655
![Page 22: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/22.jpg)
22 Spring 2012 - COP 4655
![Page 23: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/23.jpg)
UIKit
23 Spring 2012 - COP 4655
![Page 24: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/24.jpg)
Required Apple Developer Registra,on
• So@ware, Documenta,on, Tutorials, Videos, Sample Code, Support Forum
• Free Apple Developer Account at: developer.apple.com
• Use your FIU student email account as ID
• Provide your ID to me next class
24 Spring 2012 - COP 4655
![Page 25: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/25.jpg)
Class textbook: Kochan
25
Reading Assignment: Read Chapter 1-‐3 Familiarize yourself with terms in Glossary Complete by 1/18
Spring 2012 - COP 4655
![Page 26: Mobile’Applicaon’Development’ lecture1’users.cis.fiu.edu › ~luiss › class › 2012 › spring › cop4655 › L1-Course … · Mobile’Applicaon’Development’ Spring](https://reader035.vdocument.in/reader035/viewer/2022081405/5f0bd5207e708231d4326efd/html5/thumbnails/26.jpg)
Class Textbook: Conway & Hillegass
26
Reading Assignment: Read Chapter 1 Complete by 1/18
Spring 2012 - COP 4655