ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

リアルタイム通信に。WebSocketサービスまとめ

f:id:mbaasdevrel:20200513163512p:plain

アプリとサーバ間でリアルタイム通信を実装したい場合、WebSocketを使うのが基本でしょう。WebSocketを使うことで、クライアントからサーバはもちろん、サーバからクライアントへメッセージを送信できるようになります。テキストデータを送信するので、基本的にはチャットなどのテキスト送信に利用されるでしょう。

今回はWebSocketサービスを提供するサービスを紹介します。

Achex

f:id:mbaasdevrel:20200513163411p:plain

Achexは昔からあるWebSocketサービスですが、料金の説明などがなく、商用レベルで使うのは若干怖いかも知れません。無料で使えるようなので、WebSocketを学ぶ際に開発用途で試してみるのはよさそうです。

Achex

Amazon API Gateway

f:id:mbaasdevrel:20200513163428p:plain

Amazon API GatewayはWebSocketに対応しています。APIゲートウェイなので、その後に外部のサービスやAWSの各種サービスを呼び出す形になります。Lambdaと組み合わせることでサーバレスでスケーラブルなWebSocketサーバを構築できます。

Amazon API Gateway(規模に応じた API の作成、維持、保護)| AWS

Pusher Channels

f:id:mbaasdevrel:20200513163447p:plain

Pusherも昔からよく知られているリアルタイム通信管理サービスです。無料で500接続まで利用できます。1万接続で499ドル/月と、若干高い印象があります。その代わりに安定性や、使いやすいSDKが提供されているのが利点です。

Pusher Channels | Build Realtime Features Anywhere

Websocket.IN

f:id:mbaasdevrel:20200513163517p:plain

無料から利用でき、さらに月10ドルでメッセージ数無制限で利用できます。チャンネル数は制限されるようなので、無制限にチャットルームが作れる訳ではなさそうです。

Websocket.IN - The Open And Free Websocket Server For All

Scaledrone

f:id:mbaasdevrel:20200513163512p:plain

20接続まで無料、5000接続でも月99ドルで利用できます。ルーム数は無制限です。React NativeやJavaScript、Javaなど数多くのプログラミング言語に対応したSDKを提供しています。

Scaledrone Realtime Messaging Service

stream Chat API

f:id:mbaasdevrel:20200513163505p:plain

チャット機能に特化したAPI、SDKを提供しています。メッセージの送信、画像送信、チャットへのリアクションといった一般的なチャット機能で必要そうな機能は網羅されています。

Chat API & Messaging SDK - Chat Platform and In-App Messaging Service

まとめ

WebSocketを使うことでチャット機能をアプリ内に実装できます。他にも対戦ゲームなど、データをリアルタイムに同期させたい場合にも使えるでしょう。ゲームをさらに楽しくするために使ってみてください。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。