タグ

SPAとHotwireに関するYassLabのブックマーク (12)

  • フロントエンド分割やめました

    こちらは株式会社ココナラ Advent Calendar 2025 19日目の記事です。 こんにちは。ココナラ法律相談で開発を担当している高崎です。 以前、こちらの記事でRailsのモノリスから管理画面をReactへ段階的に移行する取り組みについて書きました。 結論から言うと、現在のチームフェーズと事業優先度を鑑み、この「フロントエンド分割(リプレイス)」という方針を中断し、Rails(ERB)主体の開発体制に戻す決断をしました。 今回は、なぜ一度始めたリプレイスを中断するに至ったのか。その背景にある「事業優先の力学」と「合意形成の難しさ」について、自戒を込めて振り返りたいと思います。 理想的なスタートと、現実の壁 当初の計画は、いわゆる 「ストラングラー・フィグパターン」 のようなアプローチでした。 巨大なレガシーシステム(モノリス)を一度に作り直すのではなく、「新しいシステムを少しずつ

    フロントエンド分割やめました
    YassLab
    YassLab 2025/12/19
    "「Railsの生産性」と「モダンなUX」の"いいとこ取り"を目指し、Hotwireなどを活用したアプローチを模索 / フルSPAほどの複雑さは不要だが、従来のERBよりもリッチな体験を提供したい / Hotwireは、まさにその現実解になり得る"
  • ChatGPT - SPA 複雑さの懸念

    YassLab
    YassLab 2025/09/25
    “しかし私たちは、チームがそのようなトレードオフを分析することなく、ビジネス上の要件が正当化しない場面でもデフォルトで SPA の複雑さを受け入れてしまっている状況をよく目にします。”
  • SPA by default | Technology Radar | Thoughtworks

    YassLab
    YassLab 2025/09/25
    “we don't see teams making that trade-off analysis, blindly accepting the complexity of SPAs by default even when the business needs don't justify it. ... / We believe that many websites will benefit from the simplicity of server-side logic, and we're encouraged by techniques like Hotwire”
  • Hotwire for Frontend devs

    フィードバックがないページの例 # 下記のビデオは2024年8月に記録したNewsPicks社のウェブサイトです。Next.jsのSSRとGraphQLを使って作成されているようです。しかしUX上の大きな問題があります。 下記ビデオをご覧になっていただくとわかりますが、ボタンをクリックしても全くフィードバックがなく、1秒後ぐらいにやっと画面が切り替わります。ユーザは自分がちゃんとクリックしたかどうかに自信が持てず、不安になります。またサイト全体がモッサリしている感覚があります。 これは決してNewsPicks社だけが悪いわけではなく、AJAX/fetchによる非同期通信を使ってウェブページを更新するすべてのサイトに共通する課題です。強いていうと、Next.jsが解決策を提供していなかったのが原因と言えると思います。 同じことはTurbo FramesやTurbo Streamsを使っている

    YassLab
    YassLab 2024/08/14
    "ボタンをクリックしても全くフィードバックがなく、1秒後ぐらいにやっと画面が切り替わります。ユーザは自分がちゃんとクリックしたかどうかに自信が持てず、不安になります。またサイト全体がモッサリしている感覚"
  • Rails 7のHotwireを簡単に理解する

    GMOアドマーケティングの吉岡です。 今回の記事ではRails 7で追加されたHotwireという技術について、何が良いのか?どんなことができるのか?を話したいと思います。 Hotwireとは? 大量のJavaScriptを使わずに、モダンなWebアプリケーションを作るためのアプローチ JSONではなくHTMLベース サーバーサイドでHTMLを生成し、WebSocketでWebブラウザへ送信 構成する主な要素 Turbo Stimulus Hotwireを使うと何が良いのか? Rails6以前の環境 最新バージョンのjs(ES6)を使いたい →主要なブラウザが対応していないため、ブラウザで動作するES5にトランスパイルする必要がある そのために必要なパッケージとその役割 node.js ES6のjsをサーバー側で解釈するために必要 ES6のjsをES5にトランスパイルするため、node.j

    Rails 7のHotwireを簡単に理解する
    YassLab
    YassLab 2024/07/31
    "Hotwireを使うことで、依存関係の問題改善やjsのコード削減、SPAやWebsocketを使った開発などがかなりやりやすくなった / 多くの新しい技術が使われているので初めは抵抗あるかも / 全体像を理解して必要に応じて使っていく"
  • Rails: HotwireとSPAを比較するなら実装コストの違いに注意(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The popover drama 原文公開日: 2024/06/02 原著者: Jorge Manrubia 日語タイトルは内容に即したものにしました。 インターネット接続が遅い環境でHEYカレンダーのポップオーバーの読み込みが遅くなる様子が以下でツイートされたことがきっかけで、ポップオーバーのドラマが幕を開けました。その後、無慈悲で辛辣な書き込みやプロの荒らしの出現など、最もSNSらしい形で議論がヒートアップしました。 If you want to know why an app *needs* JavaScript on the client and can’t just do it all on the server, just look at Hey or any other Hotwrite app pic.twit

    Rails: HotwireとSPAを比較するなら実装コストの違いに注意(翻訳)|TechRacho by BPS株式会社
    YassLab
    YassLab 2024/07/17
    “SPAは潜在的に優れた応答性を提供しますが、途方もなく高コストです。ここ数年、SPAがらみの恐ろしい話が原因でプロダクトが失敗したという話を数え切れないほど耳にしています。現実世界ではコスパがすべてである”
  • Hotwire的な設計を追求して「Web紙芝居」に行き着いた話 by Yasuko Ohba (nay3) - Kaigi on Rails 2023

    私は昨年3月以降、Rails7Hotwireを活用して複数のアプリケーションを開発してきました。Hotwireは、SPAのような動きをRailsだけで実現できる良い道具だと思っています。開発体制やコードをコンパクトに保てる利点があります。 ただ、SPAではなくHotwireでやろうと決めるためには、Hotwireでどこまでできるのか? Hotwireでできないことはあるのか? が気になってくる点でしょう。この点について、今では私は以下のように感じています。 やりたいことは大体なんでも Hotwire で実現できる 最終的に実現できる機能の差よりも、どういう考え方で作るかにSPAとHotwireの大きな違いがある SPAとHotwireでは、アプリを構成するための物の考え方が大きく異なります。Hotwireを縦横無尽に使い倒すためには、Hotwire的な考え方で作る必要があるのです。この、

    Hotwire的な設計を追求して「Web紙芝居」に行き着いた話 by Yasuko Ohba (nay3) - Kaigi on Rails 2023
    YassLab
    YassLab 2023/09/27
    "SPAとHotwireでは、アプリを構成するための物の考え方が大きく異なります / 縦横無尽に使い倒すためには、Hotwire的な考え方で作る必要がある / この、Hotwire的な考え方=設計指針に私は「Web紙芝居」という名前をつけました"
  • Railsの現在地 / Rails以外からTurbo(Hotwire)を使う|kiha

    Railsの現在地DHHらは、ビジネスモデルが確定していないレベルの初期のスタートアップにおいて、複雑なSPAでのページレンダリングを採用したWebシステムを構築することはオーバーエンジニアリングでは? というところに、強い課題意識を持っているように見える。フロントエンド、サーバサイド問わず複雑なアーキテクチャにしすぎると生産性悪くない?というわけだ。あのTwitter社ですら儲かるか儲からないかわからないレベルの黎明期にはその思想に賛同してかRailsを採用していた。 近年DHHらは、RailsベースのGmailっぽいプロダクトをリリースしていて、新進気鋭のフレームワークであるHotwire(Turbo)を積んだRails 7でGmailの「あの操作性」を実現できるレベルに進化させた。ReactVue.jsなどのライブラリを使わずとも実現できることを示した。 Turboの概観Turbo

    Railsの現在地 / Rails以外からTurbo(Hotwire)を使う|kiha
    YassLab
    YassLab 2023/09/10
    "TurboはRailsの思想を継承し、スモールスタート -> ビッググロースのスタートアップ向けのFWに進化させた / プロダクトやビジネスモデルが先で、適切な技術を適切なレベルで使おう / 現代のWeb技術に対するDHHなりの提案"
  • Remove TypeScript - laiso

    経緯 world.hey.com DHHが「オタクくん見てる〜? 今からうちのレポジトリからTypeScriptを剥しま〜す」と宣言したことにより、Web開発者界隈でTypeScriptの是非自体の話になり騒ぎになった*1*2。 github.com その後、野次馬がたくさん集ってきてrevertプルリクエストを立てる人やTypeScript公式リポジトリから全ソースコードを消すプルリクエストを出す*3ようなキッズムーブをする人も出てきた world.hey.com 実際の変更 8617行のTypeScriptJavaScript化された。(Sloc 便利) ❯ scc src/ ─────────────────────────────────────────────────────────────────────────────── Language Files Lines Blan

    Remove TypeScript - laiso
    YassLab
    YassLab 2023/09/08
    "誰に影響があるのか: Turbo のコントリビューター / Turbo のインターフェイスをコードから直接呼び出すようなことはない / アプリ側ではひき続き TypeScript で書くことができる / Laravel 版があるけど彼等も JavaScript で書いてる"
  • Tips詰め合わせ|猫でもわかるHotwire入門 Turbo編

    Tips詰め合わせ|猫でもわかるHotwire入門 Turbo編
    YassLab
    YassLab 2023/08/05
    "#早すぎる最適化 はやめる: Hotwireの素晴らしい点の1つとして、既存のRailsアプリに対して後付けで段階的にSPA風の挙動を追加できる / 既存のRailsアプリのコードを少し修正するだけで、SPAのメリットを享受できるようになる"
  • Hotwireの感想 - laiso

    Hotwire https://hotwire.dev/ Turboを中心としたウェブアプリケーションのアーキテクチャの要素技術やコンセプトをPRするための名称 Hotwireというライブラリがあるわけではない 役割としてはMicro FrontendsとかReactのlearn once, write anywhereなどに似ている アプリケーション実装言語非依存だけど現状Railsアプリケーションしか実用できる基盤がない Hotwireの思想 アプリケーション開発者の生産性を上げることを目的にしていること サーバーサイド言語でフロントエンドを実装したいアレではなかった プログレッシブ(段階的に利用可能)であること 必要な技術だけを使い無駄なことをしないことで効率化する Hotwireが列挙する技術は1つづつ有効にできる クライアントサイドでViewを差分更新する現在の主流のシングルペー

    Hotwireの感想 - laiso
    YassLab
    YassLab 2023/07/29
    “Hotwireの思想: プログレッシブ (段階的に利用可能) であること / 必要な技術だけを使い無駄なことをしない / 最小のRailsアプリケーションを開発して、少しづつシングルページアプリケーション化を取り入れていく”
  • 実践ViewComponent(1): 現代的なRailsフロントエンド構築の心得(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: ViewComponent in the Wild I: building modern Rails frontends—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2022/10/12 原著者: Alexander Baygeldin(バックエンドエンジニア)、Travis Turner(テック編集者) サイト: Evil Martians -- ニューヨークなどに拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日語ブログ: 合同会社イービルマーシャンズ - Qiita 日語タイトルは内容に即したものにしました。図はすべて元記事からの引用です。 また、"Algebraic effects"や

    実践ViewComponent(1): 現代的なRailsフロントエンド構築の心得(翻訳)|TechRacho by BPS株式会社
    YassLab
    YassLab 2023/02/28
    “ViewComponentの効果は絶大でありながら、コアとなるアイデアは信じられないほどシンプルです。すなわち、1個のビューコンポーネントは、ERBやSlimなどのテンプレートに関連付けられた単なるRubyオブジェクトなのです”
  • 1