Your SlideShare is downloading. ×
iPhone Coding For Web Developers
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

iPhone Coding For Web Developers


Published on

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

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

Given at in London on 26 March 2009.

Published in: Technology, News & Politics

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. iPhone coding for web developers Matt Biddulph
  • 2. From websites to mobile apps
  • 3.
  • 4.
  • 5. Twitterifc, Tweetie and Twitterfon
  • 6.
  • 7.
  • 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: