3 ポイント 投稿者 GN⁺ 2025-01-07 | 1件のコメント | WhatsAppで共有
  • htmxは元々、jQueryベースでHTML属性だけで動的機能を提供していた intercooler.js から始まった
  • jQueryが多くのWebサイトで長く使われてきた理由として、導入の簡単さ、一貫したAPI、自由な部分的使用が挙げられる

htmxは新しいjQuery

  • htmxもjQuery同様、長く使える安定したライブラリを目指している
  • 「100年間持続するWebサービス」という目標を掲げ、大きな変化なしでも有用で持続可能になるよう設計されている
  • 機能としての安定性
    • htmxの主要更新ポリシーは、APIと実装の安定性を維持すること
    • 既存バージョンから新バージョンへアップグレードしたとき、動作がそのまま保証されるよう「既存ユーザー」を中心にしたアプローチをとる
  • 新機能を機能として追加しない
    • htmxのコアに新しい機能をむやみに追加することを避けている
    • 必要な場合は、ブラウザがサポートする新しいAPIや拡張(extensions)で解決し、コアはシンプルさを保つ
  • 四半期ごとのリリース
    • 四半期単位(約3か月ごと)で新しいリリースを提供する予定
    • アップグレードを強制することはせず、1.xバージョンを問題なく使っているならそのまま維持してよい

Hypermediaの推進

  • htmxの核心目標は、Webアプリケーション全体のトータルソリューションではなくハイパーメディア制御を一般化すること
  • そのためには、htmx外部のテンプレートエンジン、バックエンド、データベースなどとの統合方法を改善する必要がある
  • htmxに新機能を追加しなくても、周辺ツールがハイパーメディアエコシステムを豊かにすることで結果的にhtmxの活用度が高まる
  • 補足ツールをサポートする
    • htmxはHTML属性だけで一部の機能を提供する一方、バックエンドやDB選択などは全面的にユーザーに任される
    • 多様なバックエンドと互換できるよう設計され、ハイパーメディア中心の開発パターンを支援する
    • 部分ページ置換を簡単にする「テンプレートフラグメント」概念を強調し、テンプレートエンジンエコシステムの発展に貢献する
    • いまでは複数のテンプレートエンジンでフラグメント機能を提供する事例が多くなっている
    • まだハイパーメディアベースのWebアプリケーション作成体験を高める方法がまだまだある
    • htmxはコア機能よりも周辺のツール・技術の発展を促し、エコシステム全体の成長に注力している
  • 執筆、調査、標準化
    • htmxは自前の機能拡張より、ハイパーメディア全体のアイデアを普及・発展させる予定
    • Triptychプロジェクト などを通じて、HTML標準にhtmxのアイデアが反映されるように努める
      • 最終的には、Webプラットフォーム自体がhtmxと同様の機能を標準でサポートすることを期待
    • 今日書いたhtmxコードも継続的に互換され続けるとみられるが、いつかはライブラリなしでも同様のUIパターンを実装できる世界を期待している

Intercoolerは正しかった

  • intercooler.js時代から大きな変化を避け、壊さない「stewardship(運用)」方式で維持してきた
  • htmxもこの哲学を受け継ぎ、**「堅牢で信頼できるツール」**として長く生き残ることを目指している

1件のコメント

 
GN⁺ 2025-01-07
Hacker Newsコメント
  • HTMX から Hotwire への移植を完了した経験を共有し、HTMX のアイデア自体は良いが実装が不十分だと評価した。バグが多く、Web やブラウザーの機能と十分に互換しないこと、そしてドキュメントが不足していることを指摘している。Turbo と Stimulus に移植した後は、より安定し理解しやすいコードベースを得た。
  • 安定性を重視する流れには賛同し、脆い抽象化の上に構築すると将来的にバグが発生しやすくなると指摘している。小規模なプロジェクトでは問題にならないが、有用性が実証されると大規模なプロジェクトへ発展する可能性がある。
  • Django と HTMX を使ったアプリケーション開発の経験を共有している。React や Vue を好む一方、HTMX はバックエンド開発者向けに適している可能性があると説明している。HTMX は最新のフロントエンドライブラリほどテストしやすくないと評価する。
  • HTMX のアクセシビリティに懸念を示し、スクリーンリーダーとの互換性を担保できることを望んでいる。ARIA 属性を正しく使えているかより、実際のユーザー体験を重視するという。
  • HTMX は特定の JavaScript 作業をエレガントな抽象化で処理し、開発者の作業負荷を減らしたことに感謝している。複雑さを扱ううえで良い教訓を与えてくれたと評価。
  • HTMX を大規模ソフトウェア開発企業に導入することに取り組んでおり、メンタリングでは思考実験として使っているとしている。これにより、SPA が本当に必要なのかを改めて考えさせられる。
  • 「新しい機能がないことが機能である」という意見に賛同し、ソフトウェアを頻繁に更新する必要がない点を高く評価している。
  • HTMX の機能が HTML 標準に統合されることを期待し、Triptych プロジェクトを通じてそれを推進しているとしている。ブラウザーにデフォルトで含まれることを望んでいる。