iPhone Coding For Web Developers

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

4 comments

Comments 1 - 4 of 4 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

38 Favorites & 1 Group

iPhone Coding For Web Developers - Presentation Transcript

  1. iPhone coding for web developers Matt Biddulph www.hackdiary.com
  2. From websites to mobile apps
  3. www.twitter.com
  4. m.twitter.com
  5. Twitterifc, Tweetie and Twitterfon
  6. www.facebook.com
  7. m.facebook.com
  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. http://code.google.com/p/google-toolbox-for-mac/ or TTURLRequest from Joe Hewitt http://joehewitt.com/post/the-three20-project/
  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); http://cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html
  19. JSON Objective C coders make liberal use of mix-ins. Ruby coders fondly call this ‘monkeypatching’. #import \"NSString+SBJSON.h\" [@\"{\\\"1\\\":2}\" 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. http://regexkit.sourceforge.net/RegexKitLite/
  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:@\"...\"]; [db open]; [db executeUpdate:@”SELECT ...”]; http://code.google.com/p/flycode/source/browse/trunk/fmdb
  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 www.hackdiary.com Flickr photo heroes: http://www.flickr.com/photos/scobleizer/1215753803/ http://www.flickr.com/photos/envision/3085397880/ http://www.flickr.com/photos/frinky/3236718934/ http://www.flickr.com/photos/nickbilton/2861938380/ http://www.flickr.com/photos/donsolo/2855854548/ http://www.flickr.com/photos/en321/209425860/ http://www.flickr.com/photos/mastrobiggo/2424561037/

+ mattbmattb, 7 months ago

custom

7694 views, 38 favs, 22 embeds more stats

A perspective on iPhone development from a server-s more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 7694
    • 6982 on SlideShare
    • 712 from embeds
  • Comments 4
  • Favorites 38
  • Downloads 328
Most viewed embeds
  • 473 views on http://www.hackdiary.com
  • 133 views on http://www.mobil.se
  • 46 views on http://www.ufukkilic.net
  • 20 views on http://aye-it.blogspot.com
  • 11 views on http://mobilewebexperience.com

more

All embeds
  • 473 views on http://www.hackdiary.com
  • 133 views on http://www.mobil.se
  • 46 views on http://www.ufukkilic.net
  • 20 views on http://aye-it.blogspot.com
  • 11 views on http://mobilewebexperience.com
  • 7 views on http://otype.de
  • 4 views on http://www.indoiphone.com
  • 3 views on http://turing.kryptonitesys.com
  • 2 views on http://seungwoonlee.wordpress.com
  • 1 views on http://dns.kryptonite.com
  • 1 views on http://209.85.229.132
  • 1 views on http://localhost:3000
  • 1 views on http://www.semanticaweb.info
  • 1 views on http://www.slideshare.net
  • 1 views on file://
  • 1 views on http://www.parkinsonplaza.nl
  • 1 views on http://latifevealper.blogspot.com
  • 1 views on https://eat.tees.ac.uk
  • 1 views on https://mycourses.mdc.edu
  • 1 views on http://atif.unaldi.org
  • 1 views on http://migurski.net
  • 1 views on http://marketingpeople.ru

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories

Groups / Events