iPhone on Rails
-
Upload
trotter-cashion -
Category
Technology
-
view
1.310 -
download
1
description
Transcript of iPhone on Rails
iPhone on Rails
Buzzwords Are Fun!
Trotter Cashion, PhillyOnRails, 2008
What We’re Covering
• Theory
• Web
• Native
<theory>
Gotta make some plans!
My Assumptions
• You’re a programmer
• You like to make money
• People know these two things about you
• You also like to “do things right” (People may not know this one)
Typical Conversation
• Them - “I’ve got this great idea for an iPhone app!”
• You - “orly?”
• Them - “Yea! It’ll let you see tv listings!”
• You - “Umm... I think you have a website idea”
Your desire to make money is now in direct conflict with your desire to do things right
Your Ammo
• You know what *should* be native
• You kick ass at web stuff
The Big 4
• Photos
• Voice
• Graphics
• Location
The Little 5
• Multi-touch
• Accelerometer
• Persistence
• Networking
• Speed
Web Stuff
• Easy
• You know it already
• Broader overall market
Native Stuff
• Wicked cool
• Hard
• Highly energized *paying* market
Common UI Thinking
• Table navigation is king
• Simple gestures and touches win
Ideal Rails App
• RESTful
• Clean code
</theory>
It’s web time!
<web>
All the fluffy stuff
iUI Is Your Friend
• Created by Joe Hewitt with help
• http://code.google.com/p/iui/
• Javascript and CSS
• DSL for iPhone UI development
Demo Time!
Showing off the iUI goodness
Doesn’t Apple Have Something?
Dashcode
• Heavier
• Looks native
• MVC architecture
• Pretty badass
Demo Time!
Showing off Dashcode
</web>
That shit was Easy!
<native>
Getting Into The Yucky Stuff
Goodbye Cruel Internet
Your Native App is nothing (or a really fun game) if it doesn’t interact with others!
How the Natives Live
• XCode
• Interface Builder
• Compiling
• Unit testing (I like google’s toolbox)
Major Differences
• You must garbage collect
• There’s a lot more typing
• The frameworks are *huge* and cover *everything*
• No irb :-(
Your Best Friend
The Navigation Controller
Your Other Friends
• NSURLRequest
• NSURLConnection
• NSHTTPURLResponse
• Touchcode - http://code.google.com/p/touchcode/
Demo Time!
Going Native!
</native>
Hot Links
• http://developer.apple.com/iphone
• http://www.sitepen.com/blog/2008/07/10/touching-and-gesturing-on-the-iphone/