0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ajax通信とActionCableの違いに関して

Last updated at Posted at 2021-04-09

Ajax通信(非同期通信)とAction Cableの違いがわからなかったので確認しました。初心者の自分がわかり易いように記載させていただきますのでご了承くださいませ。

そもそも**(同期)通信**とは

リクエスト毎にブラウザが読み込みされる通信方法なので、環境次第でなかなかページが表示されないことがあったりもします。

一方、非同期通信は、

リクエストのたびにブラウザを読み込むのではなく、一部のみ更新される通信方法です。

私が利用しているものではGoogle mapLINEなども非同期通信とのこと。

細かい仕組みは置いといて、webページをスムーズに利用ができるシステムってことですね。

本題です、

私が学習の中で先に習ったのは、JavaScriptを使った非同期通信のAjax

リクエストがルーティングによりコントローラーへ送られてレスポンスを返す流れの前にJavaScriptが間に入ることで、データの一部のみをスムーズにやりとり(かつ、HTMLを変更したり)してくれるものでした。

その後の学習で出てきたのが、通常のRails同様の記述とJavaScriptでスムーズな更新ができるAction Cable

チャネルというサーバー側の仕組みを使うのですが、こちらもサーバーとクライアントの間にJavaScriptを含むチャネルのファイルを用意することで、処理を実行してくれます。

両者に違いはあるのか?

結論どちらでも同じ処理は可能だそうです!
主観ではありますが、Ajaxは処理の中で一部データのやりとりが必要な際の通信手段としてのイメージで、Action Cable(Websocket通信)はチャットなどリアルタイムでのやりとりを前提としたシステムを作る際に使うと良いのかなと感じました。

参考リンク

【Rails6.0】ActionCableを使用したライブチャットアプリを実装する手順を解説

非同期通信の仕組みについて

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?