導入 ハイパーメディアの再生は完全に進んでいる。SPAの支配の数年後、開発者は、HTMLをアプリケーション状態のエンジンとして活用するサーバー駆動アーキテクチャの力を再発見しています。この充電を率いるフレームワーク、HTMXはハイパーメディアに専念しています。代替、Lightviewは、ハイパーメディアだけのパターンにあなたを閉じ込めません。HTMXの焦点を当てたハイパーメディアアアプローチとは異なり、Lightviewは、ハイパーメディアパターンをサポートするマルチパラダイムフレームワークです。 ]、およびJSON表示(JurisJSのように) この記事では、HTMXとLightviewのハイパーメディア機能の技術的な比較を提供し、プロジェクトのための適切なツールを選択するのに役立ちます。 https://github.com/grucloud/bau https://jurisjs.com あなたはこの時点で、「HTMXは開発を簡素化することを望んでいますが、なぜ私は複数のコードパラダイムの複雑さを望むのでしょうか?」あなたは、Lightviewのポイントはあなたに選択肢を与えることではないかもしれません、あなたはハイパーメディアであなたのアプリケーション全体を構築することができます、またはあなたは機能的なプログラミングであなたのアプリケーション全体を構築することができます、またはあなたはJSON表示であなたのアプリケーション全体を構築することができます、またはあなたはすべての3つの組み合わせであなたのアプリケーション全体を構築することができます。 Hypermediaって何? 比較に潜入する前に、ハイパーメディアは、関連するリソースに移動するためのリンクやコントロールを含むコンテンツを指します。伝統的なHTMLは、これをリンクやフォームを通じて提供しますが、現代のハイパーメディアフレームワークは、これらの機能をあらゆる要素に拡張し、より豊かな相互作用を可能にします。あらゆる要素はリンクとして機能し、あらゆる要素はコンテンツを取得したいソースを指定することができます。 . htmz HTMXとLightview:HTMLをハイパーテキストとして完成させる Carson Gross が intercooler.js の後継者として作成した HTMX は、「ハイパーテキストとしての HTML を完全にする」ことを目的とし、標準の HTML 属性を拡張して、AJAX、CSS 移行、WebSockets、およびサーバー送信イベントを直接マークアップします。 この著者、サイモン・ブラックウェルによって作成されたLightviewは、LLMsと協力して、HTMLをハイパーテキストとして完成させるだけでなく、コンテンツのサーバー配信のためのよりポータブルで宣言的なアプローチを提供するように設計されました。 コア哲学 HTMX は Hypermedia-Driven Application (HDA) アーキテクチャを採用し、以下の 2 つの制約に特化しています。 Declarative Syntax: Imperative Scripting の代わりに HTML-embedded attributes を使用する ハイパーメディア応答:サーバーはJSONではなくHTMLで応答します。 このアプローチは、サーバー上の複雑さを維持し、クライアントは単純で宣言的なままです。 主な特徴 : HTMX では、いずれの要素も標準動詞を使用して HTTP リクエストを発行できます。 HTTP Method Support <button hx-delete="/contacts/1" hx-target="#contact-list" hx-confirm="Are you sure?"> Delete Contact </button> : THE 属性は、CSS セレクターを使用して、サーバーの応答を挿入する場所を指定します。 Flexible Targeting hx-target <input type="text" hx-get="/search" hx-trigger="keyup changed delay:500ms" hx-target="#results"> : Custom triggers control when requests fire: 火災のリクエスト時: Event Triggers <div hx-get="/news" hx-trigger="every 30s"> <!-- Auto-refreshing content --> </div> : コンテンツが既存の DOM をどのように置き換えるかに関する複数のオプション: Swap Strategies innerHTML(デフォルト) outerHTML beforebegin, afterbegin, beforeend, afterend はじまり、終わり リリース、なし トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > トップ > ( で、 で、 )を求める国の指標( )の変更点( で、 )およびView Transitions APIとの統合により、ハイパーメディア駆動アプリケーションは、カスタマイズされたJavaScriptなしでSPAのようなスムーズさを達成できます。 CSS Transitions and Animations htmx-swapping htmx-settling htmx-added htmx-request swap:1s settle:1s : HTMX's 既存のリンクやフォームを強化することができます: Progressive Enhancement hx-boost <body hx-boost="true"> <!-- All links and forms now use AJAX --> </body> : リアルタイムのアップデートのネイティブサポート: WebSockets & SSE <div hx-ws="connect:/chatroom"> <div hx-ws="send"> <input name="message"> </div> </div> 依存性 HTMX にはゼロの依存性があり、追加の複雑さを導入することなく既存のアプリケーションにハイパーメディア機能を追加するのに最適です。 Lightview: ハイパーメディアのサポートを備えたマルチパラダイムフレームワーク Lightview には、事前に構築された UI コンポーネントを使用することを選択しない限り、ゼロの依存性があり、複数のプログラミングパラダイムを 1 つのフレームワークで提供することによって異なるアプローチをとります。HTMX に類似するハイパーメディア機能が含まれていますが、それらを独占的に使用することを強要しません。宣言型ハイパーメディアパターン、機能プログラミング、またはデータベースの JSON 定義を使用できます。 幅広いオンライン文書とインタラクティブなREPLを提供し、フレームワークを試す。 サイト 原題: Core Philosophy: The Power of Choice Lightview は設計上柔軟で、ハイパーメディアを指定しない。 代わりに、アプリケーションの特定の部分に適したツールを選択することを可能にします。 たった ハイパーメディア(HTMX スタイル):server ドライブコンテンツとページナビゲーション用に src と href を使用します。 機能(BauJS スタイル):JavaScript テンプレートタグ機能を使用して、複雑で不可欠な論理を作成します。 Data-Driven (JurisJS-style): Config-Driven インターフェイスのための純粋な JSON (vDOM/oDOM) として UI を定義します。 AI-Safe (cDOM) : 実行可能な表現言語 (JPRX) を搭載したサンドボックス JSON 構造を使用して、AI によって生成された安全なユーザー インターフェイスを作成します。 1.ハイパーメディア&インタラクション トップページ > トップページ > トップページ > トップページ > トップページ > トップページ > トップページ > トップページ > トップページ > トップページ > トップページ > トップページ ( で、 強力な能力で拡張された。 src href : Unified Attributes src: コンテンツを回収して要素を埋め込む. It can be an URL (for server-side partials) or a CSS selector (for local partials). href: ユーザのインタラクション(例えば、 <button href="/page.html">)に接続するナビゲーションまたはコンテンツを起動します。 : Lightview は、コンテンツがインストールされる場所についての洗練された制御を提供します。 属性または セット Targeting & Location target location スタンダードロケーション: innerhtml, outerhtml, beforebegin, afterbegin, beforeend, afterend Shadow DOM: Lightview は、Web コンポーネントを一流にサポートしています. あなたは、 場所="shadow" またはターゲットの :shadow フリックス (例えば、 target="#component:shadow") を使用して、コンテンツを直接 shadow ルートに挿入することができます。 & ): HTTP アクションを直接 HTML でカスタマイズする: Advanced Requests ( data-method data-body <!-- DELETE request --> <button href="/api/items/123" data-method="DELETE" target="#log">Delete</button> <!-- POST with body --> <button href="/api/save" data-method="POST" data-body="#form-id">Save</button> : もう一つの強力な Lightview 差異は、現在のドキュメントからコンテンツをソースする能力です。HTMX はサーバーからハイパーメディア部分を取得するように設計されているが、Lightview は、 CSS Selector を含む。 Self-Sourced Partials (CSS Selectors as Source) src これは、「Self-Sourced Partials」を有効にし、コンテンツを一つのコンテンツから引き出すことができます。 隠れたもの これは、ネットワークのオーバーヘッドを削減し、開発者が最初のページロード内で直接「オフライン」部分をバンドルすることができます。 <template> <div> Lightview は、ハイパーメディアがサーバー側の部分を意味する必要はないというアプローチをとり、あなたは完全なハイパーメディア SPA を持つことができます。 <!-- Source content from a local template --> <div src="#tab-1-content"></div> <template id="#tab-1-content"> <h3>Tab 1</h3> <p>This content was sourced from a local template tag!</p> </template> Lightview は、コンテンツをロードするときに特定のアイテム ID に自動スロールすることをサポートします。 あるいは航海を通して URL にハッシュ フラグメントが含まれている場合(例えば、 ), Lightview はコンテンツがロードされるのを自動的に待って、ターゲット要素をビューにスロールします。 Automatic Hash Scrolling src href /docs/api.html#signals Smart Compsets: Scroll position automatically accounts for a fixed navigation bar if defined (via --site-nav-height). スロールポジションは自動的に固定ナビゲーションバーをカウントします。 Shadow DOM サポート: Scrolling は、Shadow Root にロードされたコンテンツにも機能します。 部分的なロード:完全なナビゲーション(href)と部分的なコンテンツ更新(src)の両方で動作します。 ) and Triggers: Lightview provides a powerful "Gating" system to intercept events before they trigger actions. This replaces the need for custom event listeners for common patterns. Lightviewは、アクションを引き起こす前にイベントをキャプチャする強力な「ゲート」システムを提供しています。 Declarative Event Gating ( lv-before 変更者: throttle(ms)および debounce(ms)の内蔵サポート パイプライン:チェーン複数のゲート(例えば、lv-before="click throttle(500) confirm('Are you sure?')))。 Custom Gates: グローバル 関数を定義して、イベントをキャンセルするために false を返すアクション (e.g., validateUser()) を検証します。 2. Reactivity & State Lightview には、即時更新と自動テンプレート解像度を可能にする組み込みの、細かい粒の反応システム (シグナルとステータス) が含まれています。 このシステムは提供する: 自動テンプレート解像度: HTML の ${...} タグは、ステータスが変更されたときに自動的に更新されます。 Named Registration: Signals and states can be registered by name for easy template binding. シグナルとステータスは名前で登録できます。 JSON Schema Control: 標準の JSON Schema を使用して反応状態のデータの整合性を強化します。 Lightview の反応状態と HTMX のサーバー駆動アプローチの詳細な技術比較については、 セクション 国家管理 データドライブ&AIユーザーインターフェイス Lightviewの最も特徴的な機能の1つは、そのサポートです。 (vDOM、oDOM)および (CDOM) Data-as-UI Safe AI-Generation Lightview は JSON として定義された UI を取得し、レンダリングすることができ、これは HTML 文字列よりもバックエンドが作成し、管理するのがしばしば簡単です。 Multiple JSON Formats vDOM:標準仮想DOM構造 oDOM: 「Object DOM」は、簡潔な Config ベースの UI を意味します。 /* vDOM (Explicit) */ [{ "tag": "div", "attributes": { "class": "p-4" }, "children": ["Hello"] }] /* oDOM (Concise) */ { "div": { "class": "p-4", "children": ["Hello"] } } /* cDOM / JPRX (Reactive & Safe) */ { "div": { "children": [ { "span": { "text": "Count: =/myVal" } }, { "button": { "onclick": "=/myVal++", "text": "+" } } ] } } : AI が Raw JavaScript を書くことを許すことは、セキュリティのリスクです。 AI が構造と論理を定義できるサンドボックス JSON 形式 仮想コードを実行しますが、このアーキテクチャでは、 cDOM 構造に組み込まれたセキュアな論理と表現言語として機能し、セキュリティの脆弱性なしに反応性と論理のパワーを提供します。 . Safe AI Generation with cDOM cDOM (Clean/Computed DOM) なし JPRX (JSON Path Reactive eXpressions) eval セキュリティ: eval または arbitrary script execution はありません。 論理:「if」、「loop」、数学などの論理、および安全な表現言語(JPRX)を介して100以上の他の関数をサポートします。 使用ケース:LLMがフライト上でインターフェイスを生成する「GenUI」アプリケーションに最適です。 cDOMを使用して、生成されたJavaScriptのセキュリティ悪夢なしで生成されたUIのダイナミズムを望むとき。 Head-to-Head 比較 Syntax and API Surface : HTMX すべての機能のためのカスタム hx-* 属性 幅広い属性辞書(hx-get、hx-post、hx-target、hx-triggerなど) 一貫したプレフィックスにより、HTMXの機能はすぐに認識できます。 Steeper learning curve due to attribute variety : Lightview 可能な限り、標準の HTML 属性(src、href)を使用します。 Smaller attribute vocabulary HTMLをよく知っている開発者にとっては JavaScript API for Reactive Features または cDOM/JPRX for Safer Reactivity 行動要請 両方のフレームワークは、カスタマイズされた HTTP メソッドとリクエスト ボディをサポートしますが、異なるアプローチがあります。 Dedicated Attributes を使用する: HTMX <form hx-post="/submit" hx-swap="outerHTML"> 使用基準 Configurationの特性: Lightview data- <button href="/api/endpoint" data-method="POST" data-body="#myForm"> Save </button> is highly flexible: Lightview's data-body : Automatically serializes the target (e.g., as , or an input's ). CSS Selector #myForm FormData value JSON: 文字列の JSON パイロードに json:{"id": 1} を使用します。 JavaScript:JavaScript:state.get('user')を使用して、データを直接反応状態から抽出します。 : Use for plain text payloads. Text text:Hello Triggering Events トリガー・シンタクス(Trigger Syntax): HTMX <input hx-get="/search" hx-trigger="keyup changed delay:500ms"> has a similar approach using gating: Lightview lv-before <input oninput="search(this.value)" lv-before="input debounce(500)"> ターゲットとコンテンツポジション 両方のフレームワークは、コンテンツが挿入される場所を柔軟に制御します。 uses そして 属性: HTMX hx-target hx-swap <button hx-get="/content" hx-target="#results" hx-swap="beforeend"> Load More </button> 利用 オプションの位置補足または別途 属性: Lightview target location <!-- Target with suffix --> <button href="/content" target="#results:beforeend"> Load More </button> <!-- Separate location attribute --> <div src="/content" location="beforeend"></div> : Lightview includes as a positioning option for Shadow DOM insertion, while HTMX focuses on standard DOM manipulation. This makes Lightview more suitable for Web Components architecture. Key difference shadow コンテンツソーシング(Server vs. Local) : HTMX サーバー駆動型ハイパーメディア(HDA) ソースは、ハイパーメディア (HTML) 応答を返す URL でなければなりません。 Requires a network request for every partial update : Lightview Multi-source flexibility Sources can be URLs OR CSS selectors コンテンツがローカル <テンプレート> タグまたはその他の DOM 要素から抽出される「Self-Source Partials」を有効にします。 共通のUI フラグメントをバンドリングして、初期のネットワークの落下を減らすことができます。 Transitions and Animations swap phase classes、request state indicators、timing modifiers、view transitions API 統合で、ハイパーメディアアプリケーションがSPAのようなスムーズさを達成することを可能にします。 HTMX 現在は、標準の CSS 移行/アニメーションおよびコンポーネントライフサイクルハックを介して、組み込まれた swap phase abstractions なしで移行を処理しています。 Lightview 国家管理 これが、フレームワークが建築的アプローチで最も顕著に異なる点です。 HTMX:サーバー側の状態 HTMX は純粋にハイパーメディアに焦点を当てています. Client-side state is minimal, typically handled through: : State is maintained in the backend database or session. Server Session 隠されたフォームフィールド: リクエストでステータスを戻って進む。 : Storing simple state in attributes. DOM Attributes data-* Alpine.js 統合:複雑なクライアント側の論理のために、HTMX 開発者はしばしば Alpine.js または類似の軽量ライブラリにアクセスします。 Lightview: Client-Side Reactivity Lightview には、SolidJS からインスピレーションを得た完全な、繊細な反応システムが含まれています. This makes it a multi-paradigm framework that can handle state independently of the server. : HTML が取得された場合 または Lightview は、テンプレート文字列を自動的に解決します。 This allows server-rendered partials to become instantly reactive on the client without hydration scripts. これにより、サーバーの rendered partials は、クライアント上で水分化スクリプトなしで即座に反応するようになります。 Automatic Template Resolution src href ${...} Signals and states can be registered by name so they are available for template resolution globally. シグナルとステータスは名前で登録できますので、彼らは世界的にテンプレート解像度で利用できます。 Named Registration // Registering a reactive signal by name const count = Lightview.signal(0, 'count'); // Registering a deeply reactive state by name const user = Lightview.state({ name: 'Alice', age: 30 }, 'user'); <!-- Loaded content automatically updates when 'user' state changes --> <h1>Welcome, ${state.get('user').name}</h1> : Lightview states can be optionally enforced by JSON schemas, providing data integrity for complex objects: JSON Schema Validation const user = Lightview.state({ name: 'Alice', age: 30 }, 'user', { schema: { type: 'object', properties: { name: { type: 'string' }, age: { type: 'number' } }, required: ['name', 'age'] } }); : Reactive Primitives シグナル(値): 原始値。 state(object): 物体やアレイの深い観察のために。 効果(fn):依存性が変化したときに副作用を実行する。 このアーキテクチャの違いにより、Lightview は完全なアプリケーションフレームワークとなり、HTMX は専用のハイパーメディアの強化ツールとなっています。 Real-Time Updates has first-class support for WebSockets and Server-Sent Events: HTMX <div hx-ext="sse" sse-connect="/updates" sse-swap="message"> 内蔵の WebSocket/SSE サポート (現在のバージョンでは) はありませんが、標準の JavaScript で追加できます。 Lightview セキュリティ 標準的なウェブセキュリティ実践に依存しています: HTMX 同一原産地政策 CSRF token support via hx-headers コンテンツ セキュリティ ポリシー 互換性 デフォルトでセキュリティを含む: Lightview 同じドメインポリシーが自動的に執行される 危険なプロトコルブロック(JavaScript:データ:) カスタマイズ可能なValidation Hooks 進歩的な改善 excels at progressive enhancement: HTMX <!-- Works without JS, enhanced with JS --> <body hx-boost="true"> <a href="/page">Link</a> <form action="/submit" method="post"> 現在、websocketsやサーバーサイドイベントの内蔵サポートが欠けている場合を除き、Lightviewのアプローチは漸進的な向上を可能にしている。 and すべての要素にサポートされているので、そのようなものは必要ありません。 . Lightview href src hx-boost 構成建築 コンポーネント モデルがありませんが、標準の HTML を強化します。 HTMX includes: Lightview 単一ファイルコンポーネント Template components Import/export of variables between components サンドボックス リモートコンポーネント It also provides over for common UI patterns, e.g. で、 で、 で、 , etc. 50 組み込まれた部品 ロード Card チャート ドラえもん 使用ケース いつHTMXを選ぶか : HTMX excels at incrementally enhancing traditional web applications Adding interactivity to server-rendered apps サーバー側のレンダリングにチームが精通している:チームがRails、Django、Laravelなどで満足している場合 Progressive enhancement is critical: HTMX decreases gracefully when JavaScript is disabled. HTMXは、JavaScriptを無効にすると優雅に劣化します。 : Built-in WebSocket/SSE support Real-time features シンプルで予測可能な行動:HTMXの単一目的の焦点は、推論を容易にする LightViewを選ぶとき 複数のパラダイムの柔軟性:機能プログラミング、JSONベースのUI、およびハイパーメディアを1つのコードベースに組み合わせたい場合 Safe AI-generated UI: Using cDOM for secure, sandboxed AI-generated interfaces セキュアなAI生成インターフェイス コンポーネントベースのアーキテクチャ: 構築ステップなしで再利用可能なコンポーネントを望む場合 クライアント側の反応: 繊細な反応更新を必要とするアプリケーション : Built-in support for encapsulation Shadow DOM/Web Components ハイブリッドアプローチ:Mix hypermedia patterns with reactive programming Self-Source Partials: ハイパーメディアパターンを使用したいが、ネットワークリクエストを減らしたり、オフラインで準備可能なセクションを提供するために、DOMからローカルに一部のコンテンツをソースしたい場合 業績考慮事項 両方のフレームワークはパフォーマンスがありますが、さまざまなものを最適化します。 : HTMX Network-Focused Optimization (Reduced Round Trips) サーバーは重いリフトをする。 最小限のクライアント側の処理 歴史とキャッシュ built-in : Lightview Fine-grained reactivity (only updates changed nodes) (更新のみノード変更) 仮想DOMDIFFING OVERHEAD クライアント側の状態でネットワークリクエストを削減できます Dependency Tracking Optimizes Render 開発者体験 学習曲線 : HTMX コンセプトシンプル:HTML + Attributes 幅広い文書と例 大規模なコミュニティと生態系 「ハイパーメディアシステム」ブックは包括的なガイドとして : Lightview Multiple mental models (hypermedia + reactivity + functional) 40以上のコンポーネントと幅広い例を含む包括的なドキュメント Smaller community 複数のプログラミングパラダイムを理解する必要性 デバッグ : HTMX ブラウザ DevTools は自然に動作します。 Excellent logging and events for debugging(デバッグのための素晴らしいログリングとイベント) リクエスト/応答検査 : Lightview 依存追跡はデバッグするのが難しいかもしれません。 Reactive updates may be less obvious. 反応的なアップデートは明らかにならないかもしれません。 開発モードが役立つ 生態系と養子 : HTMX プラグインと拡張機能を持つ成熟したエコシステム すべての主要言語でサーバー側のライブラリのサポート 大規模でアクティブなコミュニティ 多くの企業で生産に使われている 広範なハイパーメディア運動の一部 : Lightview 小さいが成長する生態系 バックエンドフレームワーク(Watchlight) 第三者統合の減少 NEWER TO THE SCENE サイズ HTMX HTMX minified and gzipped is 29KB ライトビュー Lightview は、3 つの別々のファイルとしてロードできます。 // Core: 6KB minimized and gzipped // Supports: tagged functions, signals, vDOM format <script src="lightview.js"></script> // X: 14KB minimized and gzipped // Adds: hypermedia, html template literal support, oDOM support <script src="lightview-x.js"></script> // CDOM: 25KB minimized and gzipped // Adds: cDOM, JPRX (not required for hypermedia) <script src="lightview-cdom.js"></script> HTMXの機能の多くを模するために必要な合計サイズは20KBであり、これはあなたにも多くの他のパワーを提供します。 コード比較:同じ機能を構築 Let's build an active search feature with both frameworks: HTMXバージョン <input type="search" name="q" hx-get="/search" hx-trigger="keyup changed delay:300ms" hx-target="#results" hx-indicator="#spinner"> <img id="spinner" class="htmx-indicator" src="/spinner.gif"> <div id="results"></div> Lightview バージョン <input type="search" id="search-input" name="q" href="/search" oninput="LightviewX.request(this)" lv-before="input debounce(300)" target="#results"> <div id="results"></div> : How it works href="/search": 検索するエンドポイント。 oninput="LightviewX.request(this)": Lightview ハイパーメディア エンジンをすべてのキーストップで起動します. 入力タイプの要素にのみ必要です. クリック処理は、入力しない要素に自動です。 lv-before="input debounce(300)": Declaratively debounces the input by 300ms, replacing the need for complex trigger syntax. つまり、複雑なトリガー文法の必要性を置き換える。 target="#results": 結果 div に HTML または JSON 応答をリダイレクトします。 Integration with Backend Frameworks HTMLを生成できるサーバー側のテクノロジーで動作します。 HTMX どんな JSON または HTML 生成バックエンドでも動作しますが、サーバー側のアーキテクチャを指示しません。 Lightview 移住経路 SPAからHTMXへ HTMX offers a gradual migration path: 既存のフォームやリンクで hx-boost を開始します。 Incrementally add more sophisticated hypermedia interactions SPAルートをハイパーメディアエンドポイントに置き換える SPAからLightviewへ Lightviewはまた、段階的な経路を提供します: Start by turning just a few elments into hypermedia Increasingly add more sophisticated hypermedia interactions より高度なハイパーメディア相互作用を追加する Evolve functional components to tagged functions 機能コンポーネントをタグ化する Incorporate names signals and states シグナルとステータス cDOM/JPRX でダイナミック AI 生成を追加 Conclusion HTMXとLightviewの両方が、説得力のある代替案を示していますが、異なるニーズを満たしています。 : Choose HTMX if you want 純粋なハイパーメディア駆動アーキテクチャ 最低限のクライアント側の複雑性 進歩的な強化 戦闘実証された解決策 強力なコミュニティと生態系 : Choose Lightview if you want 複数のパラダイムの柔軟性(機能、JSON、ハイパーメディア) セキュア AI 生成 UI with cDOM/JPRX 構成ツールなしの構成アーキテクチャ Fine-grained 反応 Shadow DOM/Web Component サポート プログラミングスタイルを選択する自由 Self-sourced local partials via CSS selectors(CSSセレクター) 主な違い: HTMX はレーザーでハイパーメディアに焦点を当てており、非常にうまく行います。 いくつかのパラダイムの間で - それはすべてのためのハイパーメディアを選択することを強制しません。 1 選択肢 HTMXはレーザーフォーカスでハイパーメディアビジョンに忠実であり、Lightviewは柔軟性を採用し、機能プログラミング(BauJSのように)、JSON表示(JurisJSのように)、またはハイパーメディアパターンを使用できるようにします。 資源 HTMX 公式サイト: htmx.org 書籍:「Hypermedia Systems」 at hypermedia.systems Discord: アクティブなコミュニティ・ディスカッション ライトビュー 公式サイト: lightview.dev Article on safe AI UI generation: How to Build an AI Generated Calculator Without Custom JavaScript