どういう知識があれば作れるのでしょう?
たとえば思いつくのは(1)~(3)みたいなものですが、
Objective-C や Cocoa Touch についての知識がほとんどないので、
こういうことが実現可能なのか?・・・というところから分かりません。
(1) スクレイピング用のライブラリ(RubyでいうWatirとかMechanizeとかHpricotとかみたいな)が
あって、Objective-Cから、ブラウザにあたるオブジェクトを操作するとか?
⇒ そういうライブラリがあるならそのライブラリ名が知りたいです。
(2) UIWebViewを非表示で動かして、ページ遷移をし、
表示したページをパースしてUITableViewに書き出しなおすとか?
⇒ でもHTMLとかDOMオブジェクトを取りだすメソッドとか見当たらないような・・
(3) NSURLConnection を使って非同期な感じでHTTP通信する。
⇒ これが現実的な気がするけど、ログインしたあとのセッションとかどうやって保持するんだろう?
こんな感じで、質問自体が迷走していて恐縮ですが、
おれわかるよーってかた、アドバイスお願いします!
(3)です。
>セッションとかどうやって保持するんだろう
クッキーで実装してあるので、HTTP通信だけで可能です。
http://www.studyinghttp.net/cookies
HTTPヘッダーに埋め込まれてるだけです。
(3)です。
>セッションとかどうやって保持するんだろう
クッキーで実装してあるので、HTTP通信だけで可能です。
http://www.studyinghttp.net/cookies
HTTPヘッダーに埋め込まれてるだけです。
あ、ヘッダーとか設定できるようになっているんですね、
、、ってそりゃそうか。
この方向で調べてみます。
助かります。ありがとうございます。
mixiビューアについてはよく判りませんが、おそらく実態はSDKに実装されているUIWebViewを使って後は、ブラウザでSafari互換のHTML5で画面を実装しているのではないかと思います。多分、iPad向けに提供されている欧米の大手通信社や新聞社のアプリもこの手法で作られているのではないかと思います。
別にWebアプリでも実装可能なわけですが、専用アプリ形式にした方が、後々で有料化もできますし、SafariのHMTML5のカンバスを使えば比較的高度なグラフィックス操作ができる上に、ブラウザ間の互換性に悩む必要性もありません。また、専用アプリだとjavascirptをコピーされて真似される心配もありません。
UIWebViewの実装だけなら、Objective-Cに詳しくなくてもコンピューター言語の知識があればサンプルコードを頼りにアプリ化は可能でしょう。後はSafariのJavascript/HTML5をベースにしたWebアプリの開発なので、宣言型言語には馴染みのないスクリプトレベルのWebプログラマーでも比較的高度なアプリは開発可能です。
iOS SDKは無償ダウンロードが可能ですので、サンプルコーディングが掲載されている教則本を買えば、おそらくあなたレベルの知識があれば考えているものは開発可能かと思いますよ。
回答ありがとうございます。
HTMLを整形しなおすサイトを作っておいて、
そこにアクセスするというイメージですかね。
面白いですね。
しかし質問文にハッキリ書いてなかったのがいけないですが
新着日記をUITableViewで表示したり、
ブラウザのUIではなくiPhoneのUIで画面操作を
したいなーというイメージだったので、
「2」の方の回答の方向で進めようとしてます。
ちょっと勉強が進んで次のような感じをイメージしてます。
(1) 別スレッドでNSURLConnectionで接続
(2) HTMLを何かの方法でパース
(3) SQLiteでローカルにデータを残す(Core Dataが便利そう)
(4) あとはそれをUITableViewとUINavigationControllerとか使って
軽快かつ自分の使いやすいように操作
(5) 書き込みはNSURLConnection使ってPOST
あ、ヘッダーとか設定できるようになっているんですね、
、、ってそりゃそうか。
この方向で調べてみます。
助かります。ありがとうございます。