iPhone on Rails

30
iPhone on Rails Buzzwords Are Fun! Trotter Cashion, PhillyOnRails, 2008

description

A presentation I gave to #phillyrb on Dec 10th, 2008.

Transcript of iPhone on Rails

Page 1: iPhone on Rails

iPhone on Rails

Buzzwords Are Fun!

Trotter Cashion, PhillyOnRails, 2008

Page 2: iPhone on Rails

What We’re Covering

• Theory

• Web

• Native

Page 3: iPhone on Rails

<theory>

Gotta make some plans!

Page 4: iPhone on Rails

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)

Page 5: iPhone on Rails

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”

Page 6: iPhone on Rails

Your desire to make money is now in direct conflict with your desire to do things right

Page 7: iPhone on Rails

Your Ammo

• You know what *should* be native

• You kick ass at web stuff

Page 8: iPhone on Rails

The Big 4

• Photos

• Voice

• Graphics

• Location

Page 9: iPhone on Rails

The Little 5

• Multi-touch

• Accelerometer

• Persistence

• Networking

• Speed

Page 10: iPhone on Rails

Web Stuff

• Easy

• You know it already

• Broader overall market

Page 11: iPhone on Rails

Native Stuff

• Wicked cool

• Hard

• Highly energized *paying* market

Page 12: iPhone on Rails

Common UI Thinking

• Table navigation is king

• Simple gestures and touches win

Page 13: iPhone on Rails

Ideal Rails App

• RESTful

• Clean code

Page 14: iPhone on Rails

</theory>

It’s web time!

Page 15: iPhone on Rails

<web>

All the fluffy stuff

Page 16: iPhone on Rails

iUI Is Your Friend

• Created by Joe Hewitt with help

• http://code.google.com/p/iui/

• Javascript and CSS

• DSL for iPhone UI development

Page 17: iPhone on Rails

Demo Time!

Showing off the iUI goodness

Page 18: iPhone on Rails

Doesn’t Apple Have Something?

Page 19: iPhone on Rails

Dashcode

• Heavier

• Looks native

• MVC architecture

• Pretty badass

Page 20: iPhone on Rails

Demo Time!

Showing off Dashcode

Page 21: iPhone on Rails

</web>

That shit was Easy!

Page 22: iPhone on Rails

<native>

Getting Into The Yucky Stuff

Page 23: iPhone on Rails

Goodbye Cruel Internet

Your Native App is nothing (or a really fun game) if it doesn’t interact with others!

Page 24: iPhone on Rails

How the Natives Live

• XCode

• Interface Builder

• Compiling

• Unit testing (I like google’s toolbox)

Page 25: iPhone on Rails

Major Differences

• You must garbage collect

• There’s a lot more typing

• The frameworks are *huge* and cover *everything*

• No irb :-(

Page 26: iPhone on Rails

Your Best Friend

The Navigation Controller

Page 27: iPhone on Rails

Your Other Friends

• NSURLRequest

• NSURLConnection

• NSHTTPURLResponse

• Touchcode - http://code.google.com/p/touchcode/

Page 28: iPhone on Rails

Demo Time!

Going Native!

Page 29: iPhone on Rails

</native>