2 ポイント 投稿者 GN⁺ 2024-12-04 | 1件のコメント | WhatsAppで共有
  • 最初のコミットから6年を経て、1.0マイルストーンを達成
  • LiveViewの始まりとその理由
    • LiveViewは、JavaScriptなしでサーバーレンダリングアプリケーションを構築するために始まった。
    • リアルタイムのフォーム検証、ショッピングカート数量の更新、リアルタイムストリーミング更新など、複雑な問題をシンプルに解決できる。
    • ElixirとPhoenixは、このアプローチに適している。
  • リアルタイム基盤の利点
    • すべてのユーザーとUIにリアルタイム双方向の基盤を提供し、開発者が機能実装に集中できるようにする。
    • Elixirを通じて、他のプラットフォームでは不可能な機能を実装できる。
  • LiveViewの初期実装
    • Reactのように、状態変更時に自動でUIが更新されるサーバー基盤のUIを実装。
    • Phoenix Channelsを使って数百万の接続をサポートできる。
  • プログラミングモデルの最適化
    • LiveViewの差別化されたエンジンは、テンプレートの動的部分だけを実行し、最小限のデータのみを送信する。
    • 静的部分と動的部分を分離し、効率的な更新を可能にする。
  • 最高水準のレイテンシ
    • LiveViewは、小さなペイロードと状態保持接続を通じて最適な性能を提供する。
    • サーバーメモリ使用量は少ないが、数十万の同時接続をサポートできる。
  • HEExによる再利用可能なコンポーネント
    • HTML検証とコンパイル時の属性チェックを提供する宣言的コンポーネントシステムを導入。
    • コンポーネント呼び出し時に、誤った属性の使用に対してコンパイル時警告を提供する。
  • HEEx構文の簡素化
    • タグ本文内に値を直接挿入できる簡素化構文を導入。
  • インタラクティブなアップロード
    • ファイルアップロード向けの単一抽象化を提供し、クラウドおよびサーバーへの直接アップロードをサポート。
    • アップロード進行状況の反映や高度なファイル操作を簡単に実装できる。
  • ストリームと非同期処理
    • 大規模コレクションを効率的に扱うためのストリームプリミティブを導入。
    • 非同期タスクを簡単に処理し、その結果をレンダリングできる機能を提供する。
  • LiveViewがメインストリームへ
    • LiveViewと.NET Blazorは似た時期に始まり、このプログラミングモデルの採用を後押しした。
    • 他の言語コミュニティでも、このモデルをさまざまな形で採用している。
  • 今後の計画
    • JavaScriptフック統合、Web Components統合の強化、ナビゲーションガード対応などを計画している。

1件のコメント

 
GN⁺ 2024-12-04
Hacker Newsの意見
  • Phoenixの創始者が Elixir/Phoenix/LiveView に関する質問を受け、新しいインストーラーを紹介

    • 新しいインストーラーにより、Elixir と Phoenix プロジェクトを単一コマンドでインストール可能
    • macOS/Linux と Windows 向けのインストールコマンドを提供
    • 公式の Elixir インストーラーを拡張したもの
    • |sh を使わないインストールガイドも提供
  • LiveView は Rails の限界を乗り越える機能で、当初は「channels」機能として始まった

    • LiveView は静的ビューとの統合が難しかったが、時間の経過とともにコード共有が可能になった
    • Phoenix 1.7 は新しいレイアウトと哲学を導入し、Web アプリ開発に革新をもたらした
  • LiveView を使ってスタートアップを構築したが、失敗に終わった

    • React との統合はスムーズで、複雑なライブラリとの接続も問題なかった
    • React で解決していた問題を、LiveView では最初から解決し直す必要があった
  • LiveView を使った本番アプリを複数構築しており、WebSocket 接続は必要だが多くの利点がある

    • コード生成が生産性を高め、Elixir でフロントエンドをレンダリングするのは効率的
    • WebSocket を通じてリアルタイム機能を追加しやすい
    • ビジネスロジックを Contexts に保持することで API 提供が容易になる
  • LiveView を使って Web 開発への情熱を取り戻し、生産性も非常に高い

    • LiveView 学習用の講座を提供しており、より多くの人がこのフレームワークを習得してほしいと願っている
  • 典型的な Web アプリでは、フロントエンドとバックエンドの開発者間の調整コストが最も高い

    • LiveView はこの問題を無視し、フルスタック開発を可能にする
    • 少ない開発者でより多くの機能を提供できる
  • 2019年から LiveView を使っており、開発は楽しかった

    • ElixirConf EU で LiveView が初めて紹介された
  • LiveView 1.0 リリースについての意見をブログに書いた

  • LiveView と JS ベース技術の採用におけるトレードオフについて意見を聞きたい

    • JS の多様なライブラリや AI 技術の採用可能性について議論が必要
  • LiveView は非常に生産的な開発体験を提供するが、不安定な接続時の問題を解決してほしい

    • オフライン対応は難しいが、不安定な接続へのサポートが必要