2012年1月30日月曜日

Titanium Mobile で WebSocket

できねーだろーと思ってたけど、ありました。
いや、まだ動かしてないけど。

http://blog.masuidrive.jp/index.php/2011/12/04/socket-with-titanium/
https://github.com/masuidrive/ti-websocket-client

が、元になってるやつで、

↑を改良したものが、
https://github.com/nowelium/socket.io-titanium
みたい。

WebView 内では WebSocket 使えたかも、とは思ったけど、
TitaniumMobile 自体では、WebSocket っていうプロトコルに対応してないので、
実装したみたいです。てか、MoonGift で記事を見たな。

Beholdr に関して考えると、WebView 上に更新内容が表示されるようになってるから、
本体(Android アプリ 自体)のほうでそれをやる理由もあんまりないのかも知れないけど、
なんか、利点とかあるかなー。うむー。

WebSocket といえば、絡めて使いたくなるのが、StreamAPI。
Twitter の StreamAPI は、ここが詳しかった。というか、わかりやすかった。

http://www.antun.net/tips/api/twitter.html

Facebook、FriendFeed も確か、StreamAPIがあった気がするなー。どうだっけ。


こんな感じにして、

Android 端末は、ユーザ情報とかを持ち運ぶだけにして、
今まで端末でもやっていた更新のデータを持ってきたりとかを、
サーバサイドにやらせりゃあいいのか?も?し?れ?な?い?でもない?
なんか、もう、全くの別なアプリになる気がするんだけど、
まぁ、便利ならいいか。

こうやって図にしてみて、無理が無いから、出来るよな。うん。
まぁ、なんとなく怖いかも、なのは、
RSSと2ちゃんねるは別な方法を使うとして、
タイムライン取得してるWebサービスが14個くらいあるから、
1) 1ユーザにつき14個のループが最大でサーバで発生する事と、
2) ユーザAに渡すべき更新内容がユーザBに渡ってしまわないか
っていうことだなー。

1) は、今Beholdrダウンロードしてる人が全然いないから大丈夫。
2) は、WebSocketを信じようぜ!って感じか。


サーバサイドでIDとかパスワードとかアクセストークンとか保存すれば、
Webアプリ化することも出来るし、
Webアプリとしてユーザアカウントを発行したりすれば、クライアント開発も、凄い楽なんだろうけどなぁ。
そこで、OpenIDなのか。BrowserIDなのか。

なんか、発想が、逆だよな。
普通、Webアプリを作って、それを便利に使える携帯端末用クライアント作るんだろうけど、
携帯端末用クライアントがあるから、Webアプリも作りますっていうのは。
あー。でも、Instagram とか、こんなニュアンスだよね。

色んなサービスがOAuth対応してくれりゃ、アクセストークン保存するだけだから、
気持ちが楽なんだろうけど、ベーシック認証のみのサービスがあるから、なんともねぇ。

WebSocket っていうところから、夢が膨らんだり、萎んだりしたのでした。

0 件のコメント:

コメントを投稿