ST 49995/59995 Application Development for Mobile Devicejin/MobileApps10/01_introduction.pdf ·...
Transcript of ST 49995/59995 Application Development for Mobile Devicejin/MobileApps10/01_introduction.pdf ·...
ST 49995/59995 Application Development for Mobile Device
(iPhone, iTouch, IPad)
Our goal
• To build iPhone & iPod touch applications using Cocoa Touch
Development Environment
Quick Survey
• C Programming • Object Oriented Programming
– C++, Java, Objective-C? • Do you own a Mac machine? • Have you done the iPhone SDK and done
iPhone development? • Have submitted apps to the App Store?
Hardware and Software Requirement
• Required Hardware & Software: – Intel-based Macintosh, running Mac OS X 10.5
Leopard – iPhone SDK
• iPhone or iPod touch is not required – Assignments may be completed using the iPhone
Simulator • MacLab (365)
– Four Macs with iPhone SDK installed
IPhone SDK • Iphone developer university program
– The iOS Developer University Program is a free program designed for higher education institutions looking to introduce iOS development into their curriculum.
• Steps to get free SDK – All Program participants must first register as Apple Developers. – Students can then be invited by their Course Instructor to join a
team. – During the invitation acceptance process, students are required
to review and agree to the iOS Developer Program Student Agreement prior to becoming an active member of the team.
Texbooks • Required Textbooks: N/A • Recommended Textbook:
– Learn Objective-C on the Mac – Beginning iPhone 3 Development (Exploring the
iPhone SDK) – The iPhone Developer's Cookbook: Building
Applications with the iPhone SDK • 6 Free Apple E-book (iBOOKStorge)
– The Objective-C Programming Language – iOS Application Programming – …
• Apple Development Center
Cocoa Touch & iPhone SDK
• Based on Cocoa – Mature, polished, highly consistent APIs
• Provides a very rich starting point for exploring app design
• Shows “real-world” implementations of OO design patterns
• Designs learned on iPhone translate directly to Mac OS X
Objective-C
• ObjC is a language focused on simplicity and the elegance of OO design – Based on ANSI C – Brings many object oriented principles, but
with a minimal amount of syntax (SmallTalk) • A data point to compare with designs of C,
C++ and Java
Homeworks and Projects
• 4-5 homeworks • One presentation (during the last month in
the class) – Study an open-source Iphone Apps
• One course project – Topic Selected in early March – Demo in the last day of class
• Team-up for Presentation and Course Project (2 students)
Final Projects • 2 months to work on them • By yourself or with a partner • Categories to consider:
– Student life apps – Educational tools – Games – Social / location-aware software
• Find a project that you or your friends would actually like to use!
• Post it on the app store (internally)
Main Topics • Objective C
– Inheritance, Memory Management, Properties, Categories, Protocols
• Foundation Kit • SDK (Xcode/Interface Builder) • Application design patterns • View controllers • Presenting data
– Table views • Loading & saving data
– Property lists, Core Data, web services • Text input • Address Book and other system integration • Core Location/Map…
Lab and Office Hour
• We will try to run several labs • Office hours: Monday/Wednesday 4:30pm
-5:30pm • Class Schedule
Questions