Microsoftは今月初め、.NET CoreのJupyter Notebooksサポートの公開プレビューを発表した。このリリースは、.NET Core用のインタラクティブなドキュメントジェネレータである、Try .NETプロジェクトの一環だ。
Jupyter Notebookは、説明文とライブ実行可能なスニペットを含んだオンラインドキュメントを生成するWebアプリケーションである。.NET CoreにJupyterサポートが追加されることにより、C#およびF#で記述されたコードを含むノートブックの生成が可能になる。同社シニアプログラムマネージャのMaria Naggaga氏によれば、
最初にリリースされる機能セットには、ノートブックの経験のある技術者に関するものだけではなく、経験のないユーザも新たに試してみたくなるような、便利なツールセットが提供されています。
初回リリースでの.NETノートブックは、テーブル形式による情報の表示やチャート描画(Xplot.Plotlyを使用)など、異なる形式でのプログラム出力をサポートしている。スニペットにNuGetパッケージをロードすることも可能である。これは特に、ビッグデータやマシンラーニングの開発者がJupyter Notebooksを使用するモチベーションになるはずだ。
NuGetをサポートすることで、モデルトレーニングのテストや学習、データのプロットといった、マシンラーニングシナリオに関わる資料をML.NETで使用することが可能になる。ビッグデータのユースケースは.NET for Apache Sparkでカバーされており、ノートブック内でApache Sparkクエリを記述したり、エンドツーエンドのビッグデータシナリオを開発したりすることができる。Jupyter Notebooks内でML.NETとApache Spoarkを使用する方法についての詳細は、それぞれこちらとこちらに紹介されている。
JupyterとTry .NETはコンセプト的には近いが、後者は.NETエコシステムとのより強いインテグレーションを提供している。.NETでのJupyterのサポートと並行して、既存コードに統合されたインタラクティブなドキュメントを生成可能な.NET CoreのグローバルツールとしてのTry .NETも提供が続けられる。ソースコードファイル内の特定領域の参照には、拡張されたマークダウンが使用される。コードブロック内に単にコードサンプルを書き下す方法と違うのは、他のコードファイル内に定義した領域も参照可能であることだ。グローバルツールは.NET Coreテンプレートとも連動することが可能だが、現時点ではC#のみのサポートである。
.NET Jupyter Notebooksの実行には、Jupyterと.NET Core 3.0 SDKのインストールが必要だ。ゼロインストールエクスペリエンスとして、Binderを使用したノートブックの生成と共有も可能である。.NET Jupyter Notebooksを導入するための、より詳細な説明がこちらにある。