Observable Frameworkの新しいアイデア
- Observable Frameworkは静的サイトジェネレーターで、MarkdownとJavaScriptを混在させて高速に読み込まれるインタラクティブなページへコンパイルする。
- ファイルをリアルタイムで編集・保存し、ブラウザーで即座に変更を確認できるホットリロードサーバーを提供する。
- 作業が完了したら静的ファイルに変換してサーバーへデプロイするか、Observableの共有プラットフォームへ直接デプロイできる。
Markdown内のJavaScript
- Markdown内で
js タグが付いたコードブロックは、ユーザーのブラウザーでJavaScriptとして実行される。
now という特別な変数は、エポック以降の現在時刻をミリ秒単位で提供し、継続的に更新される。
- Observable FrameworkはMarkdownとJavaScriptを1つのテキスト文書に統合し、インタラクティブな文書を生成する。
すべては依然としてリアクティブ
- Observable FrameworkはObservable Notebookのリアクティブ性を維持しており、依存するほかのセルが変更されると自動的に更新される。
- フォーム入力と組み合わせて作業するときに特に有用で、文書へリアルタイムのインタラクティビティを簡単に追加できる。
使うコードだけを含める
- Observable Frameworkは開発モードで遅延読み込みを実装し、使用するコードだけをロードする。
- アプリケーションをビルドしてデプロイするときは、参照されたライブラリコードだけをjsDelivr CDNから自動的に読み込む。
ビルド時のデータキャッシュ
- Frameworkはデータローダーメカニズムを通じて、ビルド時にダッシュボード用データを生成し、静的ファイルとしてバンドルする。
- データローダーは任意のプログラミング言語で書けるスクリプトで、ビルド時に実行されて出力をファイルとして保存する。
Observable Notebookとの比較
- Observable FrameworkはObservable Notebookのアイデアとコードを再利用しているが、単一のテキストファイルで構成され、すべてオープンソースである。
- 標準的なJavaScriptを使用し、よりシンプルなファイル形式でGitにチェックインできる。
戦略の変化
- Observable Frameworkは、Observable社がより開発者ツール領域へ傾斜している戦略的変化を示している。
- Observable FrameworkはObservable Notebookの技術への敬意を保ちながら、プラットフォームの独占的な性格や無料アカウントの制限によって利用が制約されていた問題を解決する。
GN⁺の意見
- Observable Frameworkはデータ可視化とダッシュボード構築のための新しいツールであり、開発者により良いコラボレーションと効率性を提供できる可能性を持つ。
- このプラットフォームは、データに基づく意思決定を支援するインタラクティブな文書やダッシュボードを簡単に作成できるようにし、データサイエンティストと開発者の両方に有用であるだろう。
- しかし、Observable Frameworkの成功は、開発者コミュニティでの採用と既存ツールとの統合の程度に大きく依存するだろう。
- 類似の機能を提供するほかのプロジェクトとしてはJupyter NotebookやR Shinyがあり、これらとの比較を通じてObservable Frameworkの長所と短所をよりよく理解できる。
- Observable Frameworkを導入する際には、既存のデータパイプラインとの互換性、パフォーマンス最適化、そしてコミュニティサポートといった要素を考慮する必要がある。
1件のコメント
Hacker Newsの意見
Observable Frameworkは、マイク・ボストック(Mike Bostock)のシネマティック・ユニバースにおける「アベンジャーズ/エンドゲーム」にたとえられている。
Observable Frameworkの問題点として、d3のサンプルリソースとしての役割が挙げられている。
Observable FrameworkはGitHub Sitesに簡単に公開できると言及されている。
Observableノートブックを使って最初のプロジェクトを完成させた経験が共有されている。
Observable Frameworkについての肯定的な経験が共有されている。
JupyterノートブックからObservableへ移るべきか、という質問が提起されている。
コードブロック内に
jsコンテンツヒントがあると、ユーザーのブラウザですぐに実行されることが説明されている。js echoヒントを使う必要がある。ObservableはClickHouseのREST APIとうまく統合でき、データベースをリアルタイムでクエリする例が興味深いと言及されている。
ブラウザ上でFrameworkをすばやく試して操作できるように、NodeとPython環境が自動で設定されたCodespace devcontainersを用意したと述べられている。
ObservableがJavaScriptしかサポートしないことで、ユーザーベースを制限しているという意見が示されている。