HN 日本語サマリー

← 一覧へ戻る
プログラミング

Hologramが動作する。Elixirがブラウザで実行される

Hologram works. Elixir runs in the browser (hologram.page)

49 pointsby lawik7 コメント

要約

Hologramプロジェクトは、Elixirをブラウザで実行する技術であり、今年に入ってから4つの機能リリースを経て、標準ライブラリの大部分、リアルタイムレイヤー、JavaScript連携などが実現しました。今後は、ローカルファーストなアプリケーション構築をフレームワークに組み込むことを目指しており、これは既存のどのフルスタックフレームワークも実現していないものです。プロジェクトはスポンサーシップによって支えられており、コミュニティの支援が今後の開発の鍵となります。

全文翻訳

Hologram Works. Sponsor What Comes Next. Hologramは動作します。Elixirは今日、ブラウザで実行されています。今年に入ってから4つの機能リリースがあり、標準ライブラリのほとんどがクライアントサイドで動作し、完全なリアルタイムレイヤー、JavaScript連携、そして最初のアプリケーションが本番稼働しています。 Hologramは初めてですか?私のElixirConf EU 2025での講演が、それが何であり、なぜ存在するのかについての入門となります。 次にくるものは、それらのどれよりも大きいです。ローカルファースト:オフラインでも動作し、接続が回復すると自動的に同期するアプリケーション。これは、3つのライブラリと多くの希望から手作業で組み立てられるのではなく、フレームワークに組み込まれています。どの言語エコシステムにおいても、フルスタックフレームワークでこれを実現しているものはありません。Hologramは、それを実現するのに十分なほど近づいています。 それが構築されるかどうかは、今後数ヶ月にかかっており、企業がそれを支援することを決定するかどうかにかかっています。後でプロジェクトが静かに減速したと現れるよりも、今 plainly に言っておきたいです。 現状と、あなたやあなたが働く会社がどのように支援できるかを説明します。 スポンサーシップが構築したもの 8ヶ月前、私は岐路に立っており、週60時間以上の契約作業とフレームワークの間で時間を割いていると書きました。コミュニティは応えました。Curiosumがメインスポンサーとして参加し、Erlang Ecosystem Foundationが開発マイルストーンのセットに資金を提供し、個々のスポンサーがGitHubに登録しました。 それによって4つの公開機能リリース(v0.7からv0.10)が生まれ、v0.11が現在リリースされています。 v0.7 Elixirの標準ライブラリをブラウザで Elixirの標準ライブラリは、下でErlang関数を呼び出します。そのため、クライアントサイドで実行するには、それらの関数を移植する必要がありました。コミュニティのイニシアチブにより、クライアントサイドのカバレッジは標準ライブラリのごく一部からほぼすべてに拡大しました。49人の貢献者によって150のErlang関数が移植され、そのほとんどがBEAMプロジェクトへの初貢献でした。それを締めくくったリリースは、Hacker Newsのフロントページで107ポイントを獲得しました。 v0.8 JavaScript連携 npmパッケージをインポートし、Web APIを呼び出し、Webコンポーネントを使用し、Elixir TasksとしてJavaScriptのPromiseをawaitします。それに伴ってVS Code拡張機能もリリースされました。 v0.9 Hologramリアルタイム これは当初の範囲をはるかに超えて成長しました。サーバーからトリガーされるアクションとして始まったものは、完全なリアルタイムレイヤーになりました。Pub/Subのファンアウト、Phoenix Channelsのようなものですが、Hologramのために新たに構築され、開発者体験のためにエンドツーエンドで調整されています。 v0.10 イベントとミドルウェア 大幅に拡張されたクライアントサイドイベントシステムとサーバーサイドミドルウェアレイヤー、さらにブラウザでの完全なtry/rescue/catch/elseとコンプリヘンションの同等性を持つクライアントサイドエラーハンドリングが含まれています。 v0.11 正規表現とクライアントエラースタックトレースが現在リリースされています ElixirのPCREベースの正規表現がHologramのクライアントランタイム用にコンパイルされ、=~演算子やその他のRegex関数、さらにサーバーと一致するクライアントサイドのエラーメッセージとスタックトレースにより、デバッグが容易になります。 そして、リリース自体を超えて: 最初のクラスのAIアシスタントサポート - llms.txt、usage_rules互換性、プロジェクトごとのエージェントドキュメントにより、Claude CodeやCursorのようなツールがidiomaticなHologramを書き、LiveViewパターンにフォールバックしないようになります。 数字も仕事と共に動きました: ⭐ 1,400以上のGitHubスター、11月の資金調達キャンペーン以降40%以上増加 📦 11月の資金調達キャンペーン以降、Hexダウンロード数が3倍になり、加速し続けています 📬 350人以上の月刊ニュースレター購読者 👥 ポートイニシアチブの49人の貢献者 エコシステム: 開発ツールやIDEサポートから、それに特化したテストフレームワークまで、他の開発者がHologram上にツールを構築し始めています。 カバレッジ: 18ヶ月にわたる9つのThinking Elixirエピソード、今週公開されるFrancesco CesariniとAllen WymaとのBEAM There Done Thatエピソード、さらにElixir Radar、Elixir Weekly、Awesome Elixirがすべてのリリースを掲載しています。 では、何が変わったのでしょうか? 1月に、Hologramが持続可能な資金調達を見つけたと書きました。その時、そのピースがどのように組み合わさるかを明確にしませんでした。Erlang Ecosystem Foundationのサポートは、定義された成果物である4つの開発マイルストーンの合意されたプログラムとして提供され、オープンエンドな取り決めではありませんでした。3つが納品され、4つ目が現在完了しており、その最後のピースがv0.11でリリースされます。そのプログラムは、設計されたとおりに機能し、その終わりに近づいています。これはFoundationが手を引くということではありません。私たちは第2ラウンドで協力しており、EEFを通じて企業がHologramのために確保したサポートがそれを可能にしています(詳細は後述)。Curiosumは引き続きメインスポンサーであり、個々のスポンサーも健在です。何も失われていません。 変わったのは、今後のロードマップがそれまでのすべてよりも野心的であり、最初のマイルストーン資金調達が、設計されたストレッチをちょうどカバーしていたということです。 誰がこれを支えているのか 👑 José Valim Elixirのクリエイター ポートイニシアチブを推進し、リリースを共有しています 📰 elixir-lang.org José Valim & Wojtek Mach Hologramを取り上げています 🧡 Zach Daniel Ash Framework Creator 継続的なスポンサー Oban Elixirバックグラウンドジョブ 継続的なスポンサー Moss Piglet プライバシー重視のソフトウェア 継続的なスポンサー 🤩 Adam Kirk Jump.ai CTO 公開での支持 最初の本番アプリケーションが出荷され、Hologramを使用している人々からの反応はそれ自体が物語っています: 「本当に素晴らしい作品です。」 「今週、最初のHologramアプリケーションを本番環境に投入しました…開発体験はまさに説明されたとおりでした。」 「Hologramにはたくさんの可能性があります。『Elixir版NextJS』、うまくいけば正しく作られたものです。」 「Hologramは使うのが楽しかったです。本当に特定のLiveViewの機能が必要な場合を除いて、デフォルトでそれを使用しています。」 Hologramの次なる展開 ローカルファースト Hologramは、どのエコシステムにおいても、ローカルファーストが組み込まれた最初のフルスタックフレームワークになるように位置づけられています。デフォルトでオフラインのアプリケーション:接続なしで動作し続け、選択したデータをクライアントに保持し、接続が回復すると自動的に同期します。これは、手作業で配管されたものに依存するのではなく、宣言的な自動同期データレイヤーによって支えられています。誰もこれを組み込んで出荷していません。Railsも、Next.jsも、Phoenixもありません。通常、これは同期エンジン、クライアントストア、競合解決戦略をまとめて、それらすべてを永遠に維持することを意味します。HologramはすでにElixirをブラウザで実行しているので、基盤の最も難しい部分は完了しています。私はElixirConf EU 2026でこれについての講演を行い、それは私の今後のElixirConf USとGoatmireの講演でも中心的なテーマです。 1つのコードベース、2つではない 通常のフルスタックアプリケーションは、ある言語のバックエンド、TypeScriptのフロントエンド、そして両者が維持し続けなければならない契約です。すべての機能が3つすべてに触れ、2つの言語で、誰も完全に監査していないnpm依存関係ツリーの上にあります。LiveViewはElixirチームのほとんどを救いますが、アプリケーションが実際のクライアントサイドロジックを必要とするまで、JSフックとnpmツールがエッジに再び侵入してきます。Hologramはこのギャップを埋めます。1つの言語、1つのコードベース、維持するJavaScriptスタックはありません。 これはJavaScriptエコシステムを諦めることを意味するものではありません。ライブラリ(チャート、マップ、決済ウィジェットなど)が使用する価値がある場合、HologramのJavaScript連携はnpmパッケージをインポートし、Web APIとWebコンポーネントもカバーされている状態で、Elixirから呼び出すことができます。JavaScriptは、それがその価値を証明するときに手を伸ばすものになり、あなたのチームが所有する第2のスタックではなくなります。 それによって節約されることのほとんどは、コードの外に現れます。ある機能がバックエンド開発者、フロントエンド開発者、そしてその間のJSONの形状に合意するための会議を必要としなくなります。1人の担当者が最初から最後までそれを担当できます。設計、バージョン管理、同期を維持する必要のあるAPI契約はなく、2つの側面が乖離したことだけによって存在するバグのクラスもありません。1つのツールチェーン、1つのCIパイプライン、監査する1つの依存関係ツリー。オンボーディングは、学ぶべき1つのスタックであり、2つではありません。 採用の議論は、Elixir開発者が見つけやすいということではありません。それは、あなたがすでに持っている開発者が機能全体を所有できるということであり、あなたのチームの規模が、あなたがどれだけのフロントエンドスペシャリストを雇えるかによって決まるということではありません。2019年よりも2026年の方が、コードを読む人が誰であるかという点で、これはより重要です。分割されたスタックを横断して動作するAIエージェントは、バックエンド、フロントエンド、そしてその間の契約を保持する必要があります。