iPhone on Rails

Post on 18-Dec-2014

1.310 views 1 download

description

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

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>