citibank

Post on 22-May-2015

353 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Thank you!sidwyn@pragmaticlab.com

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

37

top related