Hotwireによる最新Webアプリケーション
4701 ワード
なぜhotwireを使用しますか?
レールのビューは、時々高速であり、完全に動作することができますが、いくつかの他の回は、すべての種類の問題を引き起こすことができます.たとえば、最も一般的な状況の一つは、アプリケーションが遅く見えることができる多くのパーティションをレンダリングすることです.これは特にプログラマがRailsのビューに関連したアンチパターンに注意しない場合に起こり得る.
また、JavaScriptを動的にブラウザ全体を更新することなく、コンテンツを更新するための代替として使用されている.しかし、それは多くのプログラマに愛されている解決策ではない.「なぜ私はRubyとRailsの幸福のバブルを残したいのか?」(R、subramaniamso、2021).
これが理由です
Hotwireは多くのJSコードを書く必要なしによりインタラクティブで現代の応答システムを開発するために接続を提供するJavaScriptライブラリを使用します.そして、最も重要なこと:速度や応答性のいずれかを犠牲にせずに、従来の単一のページアプリケーションに関連付けられます.
Hotwireには3つのコンポーネントがあります
設定する
あなたの宝石ファイルにhotwire Rails宝石を加えてください.この宝石は、ターボと刺激のためのセットアップを含みます;また、redisが含まれます.
bundle install
を走らせますrails hotwire:install
を走らせますyarn install
を走らせますturbolinks
からapp/javascript/packs/application.js
に関連するすべてを削除します.app/views/layouts/application.html.erb
で手動でdata-turbolinks-track
に関連した線をdata-turbo-track
に変更します.ハウツーとスタイル
# app/models/tags.rb
class Tag < ApplicationRecord
belongs_to :tag_type
validates :name, presence: true, uniqueness: true
after_create_commit { broadcast_prepend_to "tags" }
after_update_commit { broadcast_replace_to "tags" }
after_destroy_commit { broadcast_remove_to "tags" }
end
theturbo_stream_from
を追加します.この例では"tag "のモデルで使用したのと同じ定義でなければなりません.# app/views/tags/_tag.html.erb
<%= turbo_frame_tag dom_id(tag) do %>
<i class="tiny material-icons">local_offer </i> #{tag.name}
<% end %>
turbo_frame
を作成します.# app/views/tags/index.html.erb
<h5 class="center-align">Tags</h5>
<%= turbo_stream_from "tags" %>
<%= turbo_frame_tag "tags" do %>
<%= render @tags %>
<% end %>
<%= turbo_frame_tag "tag_form" do %>
<%= render "form", tag: @tag %>
<% end %>
ラッピング
クライアント側の対話のための刺激のピンチでHotwireとRailsの組み合わせは、それを開発するための強力なオプションで、スケーラブルで使いやすいWebアプリケーションの両方の開発者とユーザー.全体的に、あなたは、この優れた解決にフィットするデザインを考慮する必要があります.
See the original post on MagmaLabs Technical Blog:
Reference
この問題について(Hotwireによる最新Webアプリケーション), 我々は、より多くの情報をここで見つけました
https://dev.to/jennlva/modern-web-applications-with-hotwire-36lj
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Hotwireによる最新Webアプリケーション), 我々は、より多くの情報をここで見つけました https://dev.to/jennlva/modern-web-applications-with-hotwire-36ljテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol