Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Place graphs are the new social graphs
Download to read offline and view in fullscreen.


iPhone Coding For Web Developers

Download to read offline

A perspective on iPhone development from a server-side developer with very little GUI background.

Given at in London on 26 March 2009.

iPhone Coding For Web Developers

  1. iPhone coding for web developers Matt Biddulph
  2. From websites to mobile apps
  5. Twitterifc, Tweetie and Twitterfon
  8. native iPhone app
  9. Joe Hewitt on the native Facebook app
  10. “People must have assumed that all I had to do was plug Facebook's data into Apple's ready-to-use UI components and hit the GO button. Joe Hewitt on the native Facebook app
  11. “I wish it had been that easy, but unfortunately many of the components I needed were missing from the iPhone SDK, even though they existed in Apple's own apps.” Joe Hewitt on the native Facebook app
  12. Phonegap
  13. Building native internet apps
  14. Internet app basics
  15. Internet app basics HTTP JSON or XML Regular Expressions Local storage
  16. HTTP NSURLRequest is fiddly. I use GTMHTTPFetcher from Google Toolbox for Mac. or TTURLRequest from Joe Hewitt
  17. XML Mac OS X has NSXMLDocument for DOM parsing. The iPhone only has NSXML for SAX parsing. This is hard.
  18. XML iPhone ships with libxml2. It is good, fast and has a nasty C API. Convenience wrapper functions make it much easier: NSArray *PerformXMLXPathQuery(NSData *document, NSString *query);
  19. JSON Objective C coders make liberal use of mix-ins. Ruby coders fondly call this ‘monkeypatching’. #import quot;NSString+SBJSON.hquot; [@quot;{quot;1quot;:2}quot; JSONValue]; (returns an NSDictionary)
  20. Regular Expressions Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems. —usually attributed to jwz in comp.lang.emacs
  21. Regular Expressions Again, the iPhone’s string handling has no regular expression builtins. But it ships with the ICU library that does.
  22. Regular Expressions RegexKitLite extends NSString with methods that bridge to ICU. This gives you UTF-safe functions with small memory overhead and caching.
  23. Regular Expressions As usual with Objective C, the method names are rather verbose. split: componentsSeparatedByRegex gsub: stringByReplacingOccurrencesOfRegex backrefs: matchEnumeratorWithRegex
  24. Local Storage SQLite is the iPhone’s default database management library. This is a good thing.
  25. Local Storage Yet again, it’s a C library that isn’t integrated with Cocoa.
  26. Local Storage FMDB is an Objective C wrapper modeled on Java’s JDBC. It’s sensible. FMDatabase* db = [FMDatabase databaseWithPath:@quot;...quot;]; [db open]; [db executeUpdate:@”SELECT ...”];
  27. A few words about event-driven code
  28. The user is in control
  29. UI responsiveness and rendering is a priority
  30. Fallacies of networked computing
  31. Fallacies of networked computing The network is reliable. Latency is zero. Bandwidth is infinite.
  32. The world is asynchronous But threads are hard
  33. Understand delegation
  34. thank you Matt Biddulph Flickr photo heroes:
  • prayan_infotech

    Mar. 9, 2017
  • dragon515

    Jan. 11, 2015
  • Ssrdjan

    Aug. 30, 2013
  • PerumalManivannan

    Aug. 1, 2013
  • sirithink

    Jul. 5, 2012
  • rimbaux

    Jun. 28, 2011
  • walker44

    Mar. 29, 2011
  • alanism

    Feb. 24, 2011
  • tianya

    Nov. 22, 2010
  • csesat

    Aug. 16, 2010
  • evvvvve

    May. 24, 2010
  • abdul

    Apr. 19, 2010
  • inamiy

    Mar. 11, 2010
  • duglmac

    Mar. 8, 2010
  • arielwaldman

    Sep. 27, 2009
  • trumpetinteractive

    Sep. 22, 2009
  • tobybarnes

    Jun. 25, 2009
  • barryf

    May. 31, 2009
  • gterez

    May. 26, 2009
  • mbadelsigloxxi

    May. 12, 2009

A perspective on iPhone development from a server-side developer with very little GUI background. Given at in London on 26 March 2009.


Total views


On Slideshare


From embeds


Number of embeds