indoiphone, gadgets dummies at InCOmpoww..this is a nice presentation about iPhone, web coding into mobile apps i will embed to my blog http://www.indoiphone.com4 years ago
iPhone Coding For Web DevelopersPresentation Transcript
iPhone
coding
for web
developers
Matt Biddulph
www.hackdiary.com
From websites
to mobile apps
www.twitter.com
m.twitter.com
Twitterifc, Tweetie and Twitterfon
www.facebook.com
m.facebook.com
native iPhone app
Joe Hewitt on the
native Facebook app
“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
“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
Phonegap
Building native internet apps
Internet app basics
Internet app basics
HTTP
JSON or XML
Regular Expressions
Local storage
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/
XML
Mac OS X has NSXMLDocument
for DOM parsing.
The iPhone only has NSXML for
SAX parsing. This is hard.
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
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)
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
Regular Expressions
Again, the iPhone’s string handling
has no regular expression builtins.
But it ships with the ICU library
that does.
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/
Regular Expressions
As usual with Objective C, the
method names are rather verbose.
split: componentsSeparatedByRegex
gsub: stringByReplacingOccurrencesOfRegex
backrefs: matchEnumeratorWithRegex
Local Storage
SQLite is the iPhone’s default
database management library.
This is a good thing.
Local Storage
Yet again, it’s a C library that isn’t
integrated with Cocoa.
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 ...”];
http://code.google.com/p/flycode/source/browse/trunk/fmdb
A few words about
event-driven code
The user is in control
UI responsiveness and
rendering is a priority
Fallacies of
networked
computing
Fallacies of
networked
computing
The network is reliable.
Latency is zero.
Bandwidth is infinite.
The world is asynchronous
But threads are hard
Understand
delegation
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/
Regards
http://www.stratbeans.com
http://www.slideshare.net/sameernigam 4 years ago