Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Rails & iOSApp LT

@Rails勉強会つくば
あおみかん@AknEp
自己紹介
•

Railsアプリ書いたりiOSアプリ書いたり
•

最近退院()しました

•

フリーランスで仕事してます。

おかねください。

•

同人サークル 4th cluster 代表
•

筑波大が舞台のゲーム作ってます

ht...
基礎的なこと
•

アプリとサーバーがHTTP(S)で通信

•

最近のトレンド:
•

RESTfulなURL設計

→Railsでは当たり前だよね!

•

JSONによるAPI

→XMLでも良いけどJSONが楽
STEP1: API設計
•

/api/v1/users.json
•

•

apigee 社の資料(→)が神
•

•

美しいURLを!

http://offers.apigee.com/web-api-design-ebook/

T...
STEP2: 基本仕様の策定
•

ユーザ認証はどうするのか?

•

ユーザ名とパスワードを送って

トークン受け取る方式が良い。 oAuthとか
•
•

•

→ 端末に生パスワードを保存するのは悪
SSLを使えよ!絶対!

クライアント...
STEP3: iOSアプリ開発
•

CocoaPods でライブラリを使いまくる

→ Ruby界隈でいうGemのiOS/OSX環境版

•

APIのaction毎にWrapperクラスのメソッドが

1つあるようにすると綺麗に設計できる
キャッシュについて
•

ネットワークアクセスがないと何も表示されな
いのうざくね?

•

→ キャッシュの管理を自前でやるのは大変…

•

Twitterクライアントとかどうしてるの?

•

→ 内部DBへの挿入
CoreDataへのキャシュ

画面

サーバー

CoreData

(端末内のDB)
iOSの世界
考慮したいこと
•

古いアプリをずっと使うユーザーがいるかも?
•

APIの更新で旧アプリがバグる

•

iOS7で状況は良くなった

•

APIは解析される!

•

→ 中間者攻撃で通信は全部見れる

→ APIはセキュアに設計しま...
Facebook/Twitterログイン
•

WebViewで認証するのはダサい
•

Twitter: iOS5以上で対応

•

Facebook: iOS6以上で対応

•

iOS5のシェアも落ちたので

基本的にOSネイティブでOK...
ライブラリ紹介とか
•

AFNetworking

ネットワークアクセスが簡単に書ける。

Authorizationヘッダの指定も基本仕様に存在

•

RestKit

RestfulなAPIアクセスを超簡単に書けるらしい

(最近知った...
宣伝
•

ベアテイル社 Dr.Wallet

•

MAST休学中の学生が

中心のベンチャー

•

僕はiOSクライアント側
で参画

•

レシートを撮るだけで

家計簿がつくのは快感
蛇足: respond_to ってどうよ

•

同じコントローラでjsonもhtmlも返せる

•

かえって分かりにくいことが多い
•

→僕は使ってないです
Upcoming SlideShare
Loading in …5
×

Rails with iOS App

2,764 views

Published on

Rails勉強会@つくば #1 での発表スライドです。
http://rails-meeting-tsukuba.doorkeeper.jp/events/6518

iOSとiOSアプリの連携について、Railsアプリケーション開発者向けに簡単に解説しました。

Published in: Technology

Rails with iOS App

  1. 1. Rails & iOSApp LT
 @Rails勉強会つくば あおみかん@AknEp
  2. 2. 自己紹介 • Railsアプリ書いたりiOSアプリ書いたり • 最近退院()しました • フリーランスで仕事してます。
 おかねください。 • 同人サークル 4th cluster 代表 • 筑波大が舞台のゲーム作ってます https://www.facebook.com/suzuki.satoshi.1988
  3. 3. 基礎的なこと • アプリとサーバーがHTTP(S)で通信 • 最近のトレンド: • RESTfulなURL設計
 →Railsでは当たり前だよね! • JSONによるAPI
 →XMLでも良いけどJSONが楽
  4. 4. STEP1: API設計 • /api/v1/users.json • • apigee 社の資料(→)が神 • • 美しいURLを! http://offers.apigee.com/web-api-design-ebook/ TwitterとかのAPIを使うと
 様々な作法が分かる
  5. 5. STEP2: 基本仕様の策定 • ユーザ認証はどうするのか? • ユーザ名とパスワードを送って
 トークン受け取る方式が良い。 oAuthとか • • • → 端末に生パスワードを保存するのは悪 SSLを使えよ!絶対! クライアント側の知識があると設計がよくなる
  6. 6. STEP3: iOSアプリ開発 • CocoaPods でライブラリを使いまくる
 → Ruby界隈でいうGemのiOS/OSX環境版 • APIのaction毎にWrapperクラスのメソッドが
 1つあるようにすると綺麗に設計できる
  7. 7. キャッシュについて • ネットワークアクセスがないと何も表示されな いのうざくね? • → キャッシュの管理を自前でやるのは大変… • Twitterクライアントとかどうしてるの? • → 内部DBへの挿入
  8. 8. CoreDataへのキャシュ 画面 サーバー CoreData
 (端末内のDB) iOSの世界
  9. 9. 考慮したいこと • 古いアプリをずっと使うユーザーがいるかも? • APIの更新で旧アプリがバグる • iOS7で状況は良くなった • APIは解析される! • → 中間者攻撃で通信は全部見れる
 → APIはセキュアに設計しましょう
  10. 10. Facebook/Twitterログイン • WebViewで認証するのはダサい • Twitter: iOS5以上で対応 • Facebook: iOS6以上で対応 • iOS5のシェアも落ちたので
 基本的にOSネイティブでOK • トークンを受け取る形式のログインを
 サーバー側であらかじめ策定しておく
  11. 11. ライブラリ紹介とか • AFNetworking
 ネットワークアクセスが簡単に書ける。
 Authorizationヘッダの指定も基本仕様に存在 • RestKit
 RestfulなAPIアクセスを超簡単に書けるらしい
 (最近知ったので使ったことがない…)
  12. 12. 宣伝 • ベアテイル社 Dr.Wallet • MAST休学中の学生が
 中心のベンチャー • 僕はiOSクライアント側 で参画 • レシートを撮るだけで
 家計簿がつくのは快感
  13. 13. 蛇足: respond_to ってどうよ • 同じコントローラでjsonもhtmlも返せる • かえって分かりにくいことが多い • →僕は使ってないです

×