タグ

JavaScriptとHotwireに関するYassLabのブックマーク (15)

  • Railsを快適に開発するための最新フロントエンドツールキット(翻訳)|TechRacho by BPS株式会社

    概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Keeping Rails cool: the modern frontend toolkit—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2024/12/10 原著者: Irina Nazarova(CEO)、Travis Turner(技術編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日語ブログ: 合同会社イービルマーシャンズ - Qiita はじめに Evil Martiansは、Railsでのスタートアップ支援や構築を行っており、RubyRailsがチームの生産性と競争力の強化につながることも熟知してい

    Railsを快適に開発するための最新フロントエンドツールキット(翻訳)|TechRacho by BPS株式会社
    YassLab
    YassLab 2025/03/07
    "Hotwireの生産性を落とさないためには必要な場所でいつでもHotwireをエレガントに取り外せる能力が必要 / Turbo Mountを使う事で自分達が選んだフロントエンドフレームワークを非常に細かなコンポーネントレベルで導入できる"
  • 素Turbo

    このエントリは、SmartHR Advent Calendar 2023 の1日目です。 Turbo、使っていますか? Rails7から追加された新しいフロント用フレームワークで、思った以上にくすぐったい動きをして僕は結構好きです。今年のKaigi on RailsでもTurboに関するいくつかのセッションが発表され、その注目度が伺えます。しかしその注目度とは裏腹に、あまり周囲に使っている人を見かけません。まあたしかに業務に使うにはちょっと物足りないかなぁという気持ちもわからない事も無いのもありますし、また同時に現代ではReactVueなどが主流になりすぎて使う気が起きないという理由もわかります。 とはいえ、使ってみないと海の物とも山の物ともつかぬままです。なので、とりあえずTurboを使ってみるのはいかがでしょうか? なんなら、TurboはRailsなしでも動きますし、とりあえず体験し

    素Turbo
    YassLab
    YassLab 2024/11/22
    "Turbo8などでは、新たにSteramにmorphというアクションが加わり、より表現が豊かになるなど、今後に期待できる技術 / 新しいアプリをとにかくユーザーが使いやすいように素早く作りたいとき、Turboは素晴らしい選択肢になる"
  • ちょっと複雑なサイドバーをHotwireで簡単に作りたい - クックパッド開発者ブログ

    こんにちは、レシピ事業部プロダクト開発グループの渡邉(@taso0096)です。 クックパッドは最近、One Experienceというプロジェクトによって日版とグローバル版のシステムが統合されました。 どちらのシステムもRailsで実装されているという点は同じですが、統合先となったグローバル版ではHotwireが使われていました*1。そのため、One Experience関連の開発ではHotwireが積極的に活用されています。記事ではそんなHotwireの多くの機能が使われたデスクトップ版のサイドバーについてご紹介します。 デスクトップ版で表示されるサイドバー ちょっと複雑なサイドバー One Experienceに伴い、グローバル版にもともと存在したUIのまま移行するのではなく、いくつか画面構成の変更を入れる事になりました。特にデスクトップ版においては、自分のコンテンツにより素早く

    ちょっと複雑なサイドバーをHotwireで簡単に作りたい - クックパッド開発者ブログ
    YassLab
    YassLab 2024/11/14
    “JavaScriptをほとんど書かずに主要な機能の実装ができた / JavaScriptは好きですが、Railsを書く上でHotwireはかなり良くできた仕組み / 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を使った開発などがかなりやりやすくなった / 多くの新しい技術が使われているので初めは抵抗あるかも / 全体像を理解して必要に応じて使っていく"
  • Hotwire for Frontend devs

    HotwireNext.jsをちゃんと見て比較しよう#サイトでは、React/Next.jsに詳しいフロントエンドエンジニアを対象に、実際に動くコードと実際に動くデモを体感しながら HotwireReact/Next.jsを比較します。 各技術でのUIの作り方を伝えるだけでなく、さまざまな状況での動きを確認していただくために、仕組みや限界も紹介します。そのため、かなり細部の議論もしています。 HotwireでもNext.jsと同等か、それ以上のUI/UXが実現できます。「Hotwireは簡単だけど、React/Next.jsの方が優れたUI/UXが作れる」というのは、かなり特殊なものでない限りは誤解ですHotwireはバックエンド非依存です。Rails, Laravel, Django, Go, Nodeでも関係なく動きます。実際、サイトのHotwireコードはNext.js AP

    YassLab
    YassLab 2024/07/21
    “バックエンドに非依存で、Rails, Laravel, Django, Expressでも関係なく動きます/ 本サイトでは実際に動作するサイトでUXを比較し、またソースコードを確認しながら、HotwireとReact/Next.jsを比較”
  • 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がらみの恐ろしい話が原因でプロダクトが失敗したという話を数え切れないほど耳にしています。現実世界ではコスパがすべてである”
  • Rails7 + ViewComponent + Hotwireでのコンポーネント指向なフロントエンド開発を試してみた

    はじめに 記事では環境構築について取り扱いません。 詳細につきましてはリポジトリを参照してください。 Railsフロントエンド開発でつらいところ Railsフロントエンド開発する場合に、よく使う部品はPartialなどで共通化しますよね? 小規模であればPartialだけで十分なのですが、コードベースが成長したり、複雑なユースケースを満たすようになると以下のような課題が生まれてきます。 1. データフローを把握しづらい PartialはControllerで定義したインスタンス変数を参照できるため、以下のようにデータフローが複雑になりがちです。 Partialに値を受け渡すときにlocalsでの受け渡しを必須にすれば解消できますが、曖昧な方針でPartialを実装しているとカオスになります。 2. JavaScriptとViewの依存関係が曖昧で保守しづらい View単位でJavaS

    Rails7 + ViewComponent + Hotwireでのコンポーネント指向なフロントエンド開発を試してみた
    YassLab
    YassLab 2024/04/27
    "JavaScriptの動作をテストするための方法も用意されており、コンポーネント単位でのユニットテストを少ないコストで実装できる / ViewComponentのプレビュー機能とcapybaraのsystem specを組み合わせることで、簡単に実装できます"
  • Hotwireとは何なのか?

    はじめに HotwireはBasecampが発表した、モダンなWebアプリケーションを作るための新しいアプローチです。名前もHTML OVER THE WIREから来ているように、HotwireではHTMLをサーバーから送ります。「それ普通のWebアプリケーションでは?」と思う方もいるかもしれませんが、SPA + APIサーバでJSONが使われるのに対し、SPAと同様の体験をHTMLを中心に置いて作るアプローチであることを示す表現です。 僕個人は、最初は「ふ〜ん」という感じだったんですが turbo-railsを読みつつHotwireのデモアプリをPhoenixに移植してみたり WebSocketではないTurbo Streamsのsourceを作ってみて遊んだり と、ある程度触ってみて良さが理解できてきたので、Hotwireを使うと何が嬉しいのか、Hotwireの各要素の紹介を記事として

    Hotwireとは何なのか?
    YassLab
    YassLab 2023/11/22
    "SPA + APIサーバでJSONが使われるのに対し、SPAと同様の体験をHTMLを中心に置いて作るアプローチであることを示す表現 / 触ってみて感じた一番のメリットは、ユーザにとっても、開発の進め方もProgressive Enhancementにできること"
  • Hotwire.io · Hotwire.io

    The JavaScript Ecosystem for Server-rendered Web-Applications Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. Faster. Smarter. Breathe life into your server-rendered applications by progressively enhancing them into full SPA-like applications. Hotwire's JavaScript sprinkles add just the right touch

    Hotwire.io · Hotwire.io
    YassLab
    YassLab 2023/10/26
    "Hotwire.io is a "a community-driven documentation and resource hub designed to promote the Hotwire ecosystem". It also includes information on tooling, helper libraries, use-cases, and more. Everything is open source - so if you can make an improvement please open a PR."
  • Rails 7 + Hotwireで実用的なSPAを作ってみた - Studyplus Engineering Blog

    こんにちは、サーバーグループの市川です。モバイルクライアントグループに所属していましたが、バックエンドの開発を担当することが多くなったので、サーバーグループ異動にしました。 最近、Studyplusブックというサービスをリリースしました。Studyplusアプリ内で、200冊以上の参考書が読み放題で使えるサービスです。 このサービスの開発にあたって、社内向けの管理画面を新規に構築したのですが、Rails 7から標準でインストールされるHotwireを利用することにしました。 今回はHotwireを実際に利用する上で、どういったUIを作ればいいか試作しましたので、その話を書きます。 作った画面 書いたソースコード 使った技術 解説 Turboを理解する Turbo Frameでフレーム分割する 追加フォーム (Turbo Frame) 追加処理 (Turbo Stream) 編集フォームと更

    Rails 7 + Hotwireで実用的なSPAを作ってみた - Studyplus Engineering Blog
    YassLab
    YassLab 2023/10/12
    “今回Stimulusは使わず、Turboのみで実現 / Hotwireは、JavaScriptをあまり使用せずに、HTMLベースで機能を実現するアプローチ / CSSフレームワークにはTailwind CSS / tailwindcss-rails gemを使うことで、Node.jsなしで導入できるため採用”
  • 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 で書いてる"
  • Remove TypeScript by afcapel · Pull Request #971 · hotwired/turbo

    👍 145 vtamara, gmichokostas, klevo, MarcosNASA, noclat, markahesketh, pfeiffer, montalvomiguelo, chakrihacker, nitrnitr, and 135 more reacted with thumbs up emoji 👎 772 sukei, adrianthedev, rik, yourivdlans, marcelolx, elvinaspredkelis, jutonz, gtokman, vfonic, grncdr, and 762 more reacted with thumbs down emoji 😄 52 joshgillies, abc3, hanayashiki, hayesr, dannote, avindra, wowczarczyk, songkey

    Remove TypeScript by afcapel · Pull Request #971 · hotwired/turbo
    YassLab
    YassLab 2023/09/08
    “Fully recognize that TypeScript offers some people some advantages / All the love and appreciation to contributors who would prefer TypeScript. This is one of those debates where arguments aren't likely to move anyone's fundamental position, so I won't attempt to do that.”
  • What is the difference between Turbo and Stimulus, and what exactly is Hotwire?

    YassLab
    YassLab 2023/07/14
    "This is pretty cool, because all of a sudden, without adding any JavaScript of your own (though Turbo itself is a combination of JavaScript and server side Rails code), your Rails app, which even “past you” from 10 years ago would be able to grok, now looks and feels like a “modern” SPA."
  • Railsの技: "プログレッシブエンハンスメント"でHotwire的思考を身につける(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Thinking in Hotwire: Progressive Enhancement | Boring Rails: Skip the bullshit and ship fast 原文公開日: 2022/08/16 原著者: Matt Swanson サイト: Boring Rails語タイトルは内容に即したものにしました。 Turboについては以下の記事もどうぞ。 参考: でもわかるHotwire入門 Turbo編 Hotwireを始める方法や個別のパーツの利用法を学べるチュートリアルはたくさんあります。しかし私は「Hotwireで考える」コツを会得するのにしばらく時間がかかりました。 Hotwireそのものは「HTML-over-the-wire」という包括的なコンセプトに過ぎず、以下のような部品をいつどのように

    Railsの技: "プログレッシブエンハンスメント"でHotwire的思考を身につける(翻訳)|TechRacho by BPS株式会社
    YassLab
    YassLab 2022/09/12
    "Hotwireはプログレッシブエンハンスメントという考え方に基づいています。欲しい結果を得るには使うツールをできるだけ少なくしておく / 下のレイヤになるほど機能が強力になりますが、トレードオフとして複雑さが増す"
  • 1