ラベル REST の投稿を表示しています。 すべての投稿を表示
ラベル REST の投稿を表示しています。 すべての投稿を表示

2015年3月28日土曜日

gitHubでなにか公開したかったから、UIWebViewとiOSの連携を考えなおしてみた

iOSとWebViewとの連携の仕方は
- shouldstartloadwithrequestでフックして、カスタムスキーマを動かす
- UIWebViewでjavascriptdでオブジェクトを制御して連携する
等ぐらいは知っていた。
でもこのやり方がどうしても馴染めなかった。

きっと自分はwebサーバと一緒の時間が長かったというのもあるのだけれども、
普通にajaxをなげて、サーバがデータを返すようにiOSが情報を返してくれるものが欲しかった。

といったものを
3年前ぐらいに考えて放っておいたものを
githubでなにか公開したいという理由で作ってみました。


動作フローは以下のとおりです
1, ajax等でex) http://xxxx.xxxx.xx:7777/test/ssss.jsonでアクセス
  htmlは普通のサーバとのやりとりのように書くことができます。
2, NSURLProtocolが、登録しているURIでロジックオブジェクトへハンドリング
3, ロジックオブジェクトが処理をし返却するデータを準備
  iOS側のロジックもhtmlのDOMとか気にしなくてよくなります。
4, まるで通信した結果のように、JSONとしてデータを受け取る

もしかしたら、
一回、iOS側のロジックをとおして、サーバに通信することで、セキュリティ向上できるかもしれません。

こんなことやるより、直接やる方が効率がよさそうですが、
馴染んでいる方法を選択するのも一つという

プロトタイプとして
https://github.com/withstandist/hagoita
においてあります。

できれば、このやり方で一回アプリを出してみたいと思います。








2010年4月15日木曜日

REST

Representational State Transferの略。

■統一インターフェイス
Methodが統一されて使用されていること、
getPageとか勝手な命名のMethodでなく
GET、POST、PUT、DELETE、HEAD...のような
決まっているものを使用すること。

■各Methodの役割
GET : リソースの取得
POST : 子リソースの作成
PUT : リソースの作成、リソースの更新
DELETE : リソースの削除

※PUTとDELETは冪等性が必要。(複数回実行してもリソースに対する結果が変わらない。
※大雑把にいえばリソースとは、URIであらわされ取得されるもの。