質問: iPhoneアプリでLINEのような、双方向通信を可能としたチャットアプリを企画しているのですが いまいち、開発にあたっての流れがうまく理解出来ていません。と、いいますものの 双方向通信と言いますと、websocketや、node.js、socket.ioが一番に頭に浮かんでくるのですが それを、どうやって使用して開発するのかやそもそも、iPhoneアプリにnode.jsやsocket.ioが 使用できるのかなど、根本的な部分が理解できていません。 ですので、双方向通信可能としたiPhoneアプリを開発するに関して なにか、アドバイスや調べる際のキーワードなどを頂ければと思います また、参考サイトや書籍も教えて頂ければと思います。 それでは、宜しくお願い致します。
回答: 質問者さんの浮かんだ「websocketや、node.js、socket.io」は、「ブラウザ内で双方向通信するため」の構造です。今回あなたが制作したいアプリのUIを**全てswiftで組みたい**というのであれば、これらを利用することは向いていません(強引にやったら出来なくはないですが)。 WebSocketというのは**Socket通信と呼ばれる技術をブラウザ上で可能にした技術**です。 swift単体でやるのであれば、元であるSocket通信という形を取ることになりますが、クライアントの実装も、サーバサイドの実装もかなりハードルが高いです。 ブラウザ上で行うのであれば、swiftはほとんど関係なくなり、iPhone上のSafariなり、Mac上のSafariなりなんなりでページにアクセスすることで、それぞれ同じ挙動をしてくれるものが作られます。 Socket通信はいまのあなたが単独で自分でやるにはヘビーすぎるので、UIWebViewとWebSocketの組み合わせでやることをおすすめします。 ### 追記 どうやら私の知識不足だったようで、クライアントコード上でWebSocketと接続可能なライブラリはいまはいくつかあるようです。なので、SwiftとNode.js+Socket.IOによる双方向通信は実装可能ということになります。