• Save
Developing iOS Apps for Fun and Profit by Phil Nash
Upcoming SlideShare
Loading in...5
×
 

Developing iOS Apps for Fun and Profit by Phil Nash

on

  • 652 views

Is it worth developing for mobile platforms? If so why pick iOS? ...

Is it worth developing for mobile platforms? If so why pick iOS?

What does a developer new to iOS need to know? What are the keys to building a successful app that will actually make money and be fun to write? This talk will walk you through the landscape, from the idiosyncrasies of Objective-C to how to test a mobile app to getting an app on the app store and getting it noticed.

That's a lot to cover in a short time - so come with an open mind and expect to have some fun.

Statistics

Views

Total Views
652
Views on SlideShare
652
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Developing iOS Apps for Fun and Profit by Phil Nash Developing iOS Apps for Fun and Profit by Phil Nash Presentation Transcript

  • iOS Development Fun for Profit and @phil_nash
  • Why?
  • it all started in the 80s... View slide
  • the 90s View slide
  • the 90s
  • Andrew Braybrook
  • 1999
  • 2000
  • 2001
  • 2002
  • 2003
  • 2004
  • 2005
  • 2006
  • 2007
  • 2008
  • Whereare wenow?
  • 1 million 800k 400k 100k 0 0 2009 2010 2011 2012 2013
  • 1. Idea2. Code3. ?4. Profit
  • Make a great app
  • “Good is theenemy of great - Jim Collins
  • “Do one thing anddo it well - Doug McIllroy
  • Don’t disrespect AppleDo engage with communityDon’t use private/ deprecated APIsDo use modern features
  • What do we need?
  • 1. C2. Objective-C3. ?4. C++
  • 1. C2. Objective-C3. Objective-C++4. C++
  • Apple docsCocoa Touch Media Apple samplesCore Services Community blogs Core OS Stackoverflow
  • Why?
  • “ One of the biggest problems with Objective-C is that it is adynamically typed, OO, statically typed, low- grafted over a language level, procedural language - Phil Nash
  • “ One of the greatest strengths of Objective-C is that it is adynamically typed, OO, statically typed, low- grafted over a language level, procedural language - Phil Nash
  • Hedgehog
  • Hedgehog (this) - bobvoid bob( Hedgehog* this ) { ... }
  • bob Hedgehog (self) - bobvoid bob( Hedgehog* self ) { ... }
  • C/C++/Java/C#/ hedgehog.bob(); etcObj-C [hedgehog bob];
  • x[hedgehog bob];
  • y[hedgehog bob: x];
  • [hedgehog bob: x y: y];
  • [circle setCenterAtX : x y : y ];
  • [circle setCenterAtX: x y : y withRadius:r ];
  • [circle setCenterAtX : x y:y withRadius:r ];
  • -(void) setCenterAtX: (float) x y: (float) y withRadius: (float) r{ // ... }
  • --(void) setCenterAtX: (float) x y: (float) y withRadius: (float) r{ // ... }
  • -(void) setCenterAtX: (float) x y: (float) y withRadius: (float) r{ // ... }
  • -(void) setCenterAtX: (float) x y: (float) y withRadius: (float) r{ // ... }
  • -(void) setCenterAtX: (float) x y: (float) y withRadius: (float) r{ // ... }
  • UIView* view = [[UIView alloc] initWithFrame: CGRectMake( 0, 0, 200, 300 )];
  • UIView* view = [[UIView alloc] initWithFrame: [UIView CGRectMake( 0, 0, 200, 300 )];
  • UIView* view = [[UIView alloc] initWithFrame: [[UIView ] CGRectMake( 0, 0, 200, 300 )];
  • UIView* view = [[UIView alloc] initWithFrame: [[UIView )] CGRectMake( 0, 0, 200, 300 )];
  • UIView* view = [[UIView alloc] initWithFrame: CGRectMake( 0, 0, 200, 300 )];
  • AR C ReferenceAutomatic Counting (for the people)
  • @interface{ float x, y, r;}-(void) setCenterAtX: (float) x y: (float) y withRadius: (float) r ;@end
  • @implementation-(void) setCenterAtX: (float) x y: (float) y withRadius: (float) r{ // ...}@end
  • #import “circle.h”@implementation-(void) setCenterAtX: (float) x y: (float) y withRadius: (float) r{ // ...}@end
  • Circle* circle = nil;[circle setCenterAtX :100.0 y : 150.0 withRadius:75.0 ];
  • Circle* circle = nil;[circle setCenterAtX :100.0 y : 150.0 withRadius:75.0 ];
  • FusionReactor* reactor = nil;if( ![reactor isWithinTolerances] ) { [self evacuate100MileZone];}
  • Don’t try this at home
  • Do learn Objective-C Do build great apps Do have fun Do send me some of the profitshttp://www.levelofindirection.com @phil_nash
  • stock images from iStockphoto.com & Shutterstock.com other resources: iDeveloper.tv xamarin.com/monotouch catch-lib.nethttp://www.levelofindirection.com @phil_nash