Citibank
-
Upload
thepragmaticlab -
Category
Documents
-
view
354 -
download
2
Transcript of Citibank
Demystifying iOS App Development
Sidwyn KohFounder, The Pragmatic Lab
While waiting, grab the files here: http://pragmaticlab.com/citibank
1
Presentation
• 50 minutes long
• 10 minutes Q&A
• Save your questions for the end!
2
Overview
• Introduction
• App Development Process
• Fundamentals of Programming
• Coding Environment
• Creating Your First App
• Q&A
3
Introduction
• 6 years as a programmer
• 4 years of iOS experience
• 2 years as a businessman
4
Portfolio
5
Portfolio
SeesmicRoomorama
featured on the App Store
Definition Home Team News
Stacker FreshLook Xmas iCards NUS High
5
6
Design Mobile Web
PhotoshopIllustratorIndesign
FireworksPremiere Pro
iOSAndroid
HTML / CSSJavascript
Ruby on RailsJoomla / Wordpress
Social Media
6
Read more at: http://pragmaticlab.com/blog/feature
7
App Development Process
Conception
Research
Development
Submission
Marketing
Maintenance
8
Conception
9
Why Make an App?
10
Why Make an App?
to solve a problem
to make money
to scratch an itch
to learn something new
to waste other people’s time
10
Conception
Picture taken from http://blog.gaborcselle.com/2012_11_01_archive.html
Observe
Understand
Innovate
Idea
11
Research
12
Research
• Scour the App Store
• Be keyword-specific
• Install the top 3 apps
13
Dictionary!
14
Dictionary.com Dictionary.
15
16
Development
17
Prerequisites
> OS X 10.6 > Xcode 4.2
18
Programming Basics
Algebra Programming
x + 2 = 4 x = 2;
myNumber = 3;
Tip: End every programming statement with a semicolon.
Tip: Write your variables in camel case.
19
Vocabulary
• Class: Type of an object. Also where you write all your code.
• Instance: A speci!c allocation of a class
• Methods: Functions that an instance performs
• Variable: Quantity visible to all methods in the class
Car
checkFuel closeDoor
amountOfFuel numberOfDoors
20
Declaring a Variable
We cannot simply do:
pictureWidth = 8;pictureHeight = 5;myPictureArea = pictureWidth * pictureHeight;
We have to do it like this:
int pictureWidth = 8;int pictureHeight = 5;float myPictureArea = pictureWidth * pictureHeight;
Tip: Add data types to every variable.
21
Data TypesName Type Example
void Void Nothing
int Integer -1,0,2
float Floating point number -0.352, 3.1231
double Double precision "oating point number 0.5251251251251520
NSString * String What is NSString?
id * id anything
BOOL Boolean 0,1, TRUE, FALSE, YES, NO
Tip: You require asterisks for variables that point to something else.
22
DemoDo follow along
23
Recap
• .h file - summary of methods and variables
• .m file - implementation of methods
• .xib file - drawing and connections
• Properties - things that we are able to control and access (think variables)
• Action methods - functions, usually to run algorithms or code (think functions)
• Converting between different data types
24
Submission
25
Publishing
26
Publishing• Register for $99 iOS Developer Program
(http://developer.apple.com/programs/ios)
26
Publishing• Register for $99 iOS Developer Program
(http://developer.apple.com/programs/ios)
• Test on your device
26
Publishing• Complete steps (setting plist, build and archive)
• http://developer.apple.com/devcenter/ios/index.action
27
Publishing
• Prepare app at iOS Provisioning Portal
28
Publishing
• Upload apps on iTunes Connect
29
Marketing
30
Marketing
• Timing
• Competitors, market stability, events
• Public relations
• Blog posts, reviews, early adopters, contests, press releases
• Serendipity
• Do not use black hat methods (e.g. fake reviews)
31
Maintenance
32
Maintenance
• Regularly send updates
• Each update refreshes the reviews in App Store
• Add new features, in-app purchases
33
Useful Tools
• AppAnnie: Download tracking
• Flurry: Event and audience statistics
• Airbrake: Error tracking
• Parse: Server in the cloud
34
Next Steps
• Check out our classes on pragmaticlab.com
• Sign up for our mailing list
35
36
37