見出し画像

プログラミングでチャット機能を作る方法3選

外資系企業でソフトウェアエンジニアをしております、タロイモと言います。今日もよろしくお願いします。

プログラミングの勉強をしていて、チャット機能を作ってみたいという方は多いと思います。

今回は、プログラミングを自分で作る方法1つと、パッケージ(クラウドプラットフォームとも、フレームワークとも言える)で作る方法2つをおすすめポイントと共に紹介します。

※具体的な作り方は説明しませんのでご了承ください。

1. Socket.IO 

自分で作る方法では、WebSocketという規格を利用したSocket.IOがおすすめです。

WebSocketは前回の記事で取り上げましたが、Socket.IOはWebSocketというプロトコルでチャットを簡単に作るためのライブラリです。

癖もなく、
HTMLやJavaScript、Node.jsを一通り使い勉強になるので、初心者の方におすすめです。

おすすめポイント
①WebSocketの仕組みを学ぶことができる。
②HTML、Node.js、JavaScriptなどを一通り使うため勉強になる。
③Node.jsを用いて、WebSocketサーバーの立ち上げを学ぶことができる。


2. Firebase

クラウドサービスを使う方法で有名なのは、GoogleのFirebaseです。

よく1時間で作れるという記事がありますが、その通りでプログラミングを用いるのは少しの部分です。
サーバーレスと言われ、サーバーを作る必要もありません。

Google Cloud Pratform(GCP)のログイン機能やドキュメント型データベースと連携させることもできますので、本格的なアプリを作る場合にも用いることができます。

記事が多くネットに上がってますので、GCPが気になる人やクラウドデプロイを経験してみたい初心者の方にもおすすめです。

おすすめポイント
①サーバーレスで数時間で簡単に作ることができる。
②認証やログイン機能を追加できる。
③GCPのサービスを学ぶことができる。


3. Amplify

こちらはAWSのフレームワークです。

GCPと提供している内容はほとんど変わりませんが、高速に開発するにはAppSyncというサービスを使う必要があります。

AppSyncを使えば簡単にGraphQL(脱RESTAPIのAPIを呼び出す言語)を導入できますので、GraphQLを使ってみたいという方にもおすすめできます。
その他にもAppSyncはオフライン同期機能などを導入できます。

以上の通り、AppSyncを利用すればAmplifyは最強のチャットアプリを作れると思います。
ただAppSyncはかなり癖があると感じました。

ネットの記事も少ないので、自習で取得するのはかなり困難です。

おすすめポイント
①(AppSyncを使うと)数時間で多機能なチャットアプリが作れる。
②(AppSyncを使うと)オフライン同期機能を使うことができる。
③(AppSyncを使うと)GraphGLを導入することができる。

まとめ

個人的にはSocket.IOを用いて勉強してから、クラウドサービスを利用すべきかなと思いました。

なぜなら、クラウドサービスはほとんどプログラミングを行う必要がないのでブラックボックス化しやすく、仕組みが理解できないからです。

余談ですが、
クラウドサービスは絶対にできた方が良いです。
Sierなどが行う大規模開発でSAPやOracleパッケージ開発がされているのと同様に、
スタートアップやメガベンチャーも1から作るというよりはAWSやGCPなどのクラウドサービスを活用して開発を行う流れだからです。

今回もご精読ありがとうございました。


よろしければサポートお願いします! サポートは、サービスの開発・改良や、記事を書く際の素材費とさせていただきます。 少しでも有益な情報発信をしていけるよう努めてまいります。 是非とも応援よろしくお願いします!!!🙇‍♂️