Citibank

43
Demystifying iOS App Development Sidwyn Koh Founder, The Pragmatic Lab While waiting, grab the files here: http://pragmaticlab.com/citibank 1

Transcript of Citibank

Page 1: Citibank

Demystifying iOS App Development

Sidwyn KohFounder, The Pragmatic Lab

While waiting, grab the files here: http://pragmaticlab.com/citibank

1

Page 2: Citibank

Presentation

• 50 minutes long

• 10 minutes Q&A

• Save your questions for the end!

2

Page 3: Citibank

Overview

• Introduction

• App Development Process

• Fundamentals of Programming

• Coding Environment

• Creating Your First App

• Q&A

3

Page 4: Citibank

Introduction

• 6 years as a programmer

• 4 years of iOS experience

• 2 years as a businessman

4

Page 5: Citibank

Portfolio

5

Page 6: Citibank

Portfolio

SeesmicRoomorama

featured on the App Store

Definition Home Team News

Stacker FreshLook Xmas iCards NUS High

5

Page 7: Citibank

6

Page 8: Citibank

Design Mobile Web

PhotoshopIllustratorIndesign

FireworksPremiere Pro

iOSAndroid

HTML / CSSJavascript

Ruby on RailsJoomla / Wordpress

Social Media

6

Page 9: Citibank

Read more at: http://pragmaticlab.com/blog/feature

7

Page 10: Citibank

App Development Process

Conception

Research

Development

Submission

Marketing

Maintenance

8

Page 11: Citibank

Conception

9

Page 12: Citibank

Why Make an App?

10

Page 13: Citibank

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

Page 14: Citibank

Conception

Picture taken from http://blog.gaborcselle.com/2012_11_01_archive.html

Observe

Understand

Innovate

Idea

11

Page 15: Citibank

Research

12

Page 16: Citibank

Research

• Scour the App Store

• Be keyword-specific

• Install the top 3 apps

13

Page 17: Citibank

Dictionary!

14

Page 18: Citibank

Dictionary.com Dictionary.

15

Page 19: Citibank

16

Page 20: Citibank

Development

17

Page 21: Citibank

Prerequisites

> OS X 10.6 > Xcode 4.2

18

Page 22: Citibank

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

Page 23: Citibank

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

Page 24: Citibank

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

Page 25: Citibank

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

Page 26: Citibank

DemoDo follow along

23

Page 27: Citibank

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

Page 28: Citibank

Submission

25

Page 29: Citibank

Publishing

26

Page 30: Citibank

Publishing• Register for $99 iOS Developer Program

(http://developer.apple.com/programs/ios)

26

Page 31: Citibank

Publishing• Register for $99 iOS Developer Program

(http://developer.apple.com/programs/ios)

• Test on your device

26

Page 32: Citibank

Publishing• Complete steps (setting plist, build and archive)

• http://developer.apple.com/devcenter/ios/index.action

27

Page 33: Citibank

Publishing

• Prepare app at iOS Provisioning Portal

28

Page 34: Citibank

Publishing

• Upload apps on iTunes Connect

29

Page 35: Citibank

Marketing

30

Page 36: Citibank

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

Page 37: Citibank

Maintenance

32

Page 38: Citibank

Maintenance

• Regularly send updates

• Each update refreshes the reviews in App Store

• Add new features, in-app purchases

33

Page 39: Citibank

Useful Tools

• AppAnnie: Download tracking

• Flurry: Event and audience statistics

• Airbrake: Error tracking

• Parse: Server in the cloud

34

Page 40: Citibank

Next Steps

• Check out our classes on pragmaticlab.com

• Sign up for our mailing list

35

Page 41: Citibank

36

Page 42: Citibank

37

Page 43: Citibank

Thank [email protected]

Stay up-to-date with our courses: http://pragmaticlab.com/mailing-list

37