Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
このコーナーで以前よりお伝えしてきた通り、RINEARNでは現在、 アプリケーション組み込み用途のコンパクトなスクリプトエンジン「 Vnano 」を、オープンソースで開発しています。その公式サイトが8月7日オープンしました。 今回は、その概要をお知らせします。
VCSSL公式サイト内のサブディレクトリ階層に、日本語版と英語版で同時開設
Vnano は、言語仕様上は、同様にRINEARNが開発している簡易計算・可視化用のスクリプト言語「 VCSSL 」のサブセットです。 従って Vnano の公式サイトも、VCSSLの公式サイト内のサブディレクトリ階層に開設しました。
また、RINEARNでは2017-2018年サイト再編以降、段階的に運営サイトの英語対応を進めています。 そこで今回のVnanoの公式サイトも、日本語版と英語版を同時開設しました。
日本語/英語それぞれにおける、Vnano 公式サイトのトップページは以下の通りです:
- Vnano公式サイト 日本語版トップページ
- https://www.vcssl.org/ja-jp/vnano/
- Vnano公式サイト 英語版トップページ
- https://www.vcssl.org/en-us/vnano/
後に述べるチュートリアルやAPI仕様書は、既に日本語と英語の両方で参照可能になっています。
ただ、API仕様書についてはまだソースコード内のドキュメンテーションコメントの英語対応が追い付いていない箇所もあり、 クラスによってはところどころ日本語が混じっているものがあります。 チュートリアルについては、既に日本語/英語でほぼ同等の内容を用意できています。
3 ステップですぐに試せるビルド済み版の提供も
これまでは、使い方を記載したドキュメントがリポジトリのREADMEしか無かった事もあり、 Vnano を試しに少し動かしてみるだけでも、スクリプトエンジンをソースコードからビルドする必要がありました。
一方、今回の上記 Vnano 公式サイトのトップページでは、 ビルド済みのスクリプトエンジンをすぐにダウンロードできるボタンも設置しています。
それに併せて、以下の3ステップで Vnano を実際に手元で動かせる簡易トライアルも掲載しています:
- 1. Vnanoのスクリプトエンジンをダウンロード
- 2. Vnanoを使用するJavaのサンプルコードをコピー&ペースト
- 3. コンパイル&実行(コマンドライン 2行)
» 詳細はこちら: https://www.vcssl.org/ja-jp/vnano/#trial
これにより、従来よりもずっと手短にVnanoを試しに動作させてみる事ができます。
なお、本格的な利用には、やはりアプリケーション開発に用いるのと同じバージョンのJDKでスクリプトエンジンをビルドした方が、バージョン依存性やパフォーマンスなどの観点では優位性が見込めます。
ソースコードリポジトリのREADMEを土台に再編集したチュートリアル
Vnano では、ソースコードリポジトリのREADME※において、以前からチュートリアル的な内容を掲載していました。 (※ 2019年8月7日現在。内容が増大してきているため、今後、別名ファイルに移してREADMEは単純化する可能性もあります。)
ただ、現在のRINEARNでのリポジトリの運営方針は、あくまでも情報の「 公開 」よりも「 管理 」に重点を置いて色々と割り切っている面が強く、READMEもあまり初見での見やすさなどを重視した形にはなっていない状態です。 例えば、日本語と英語の文章が段落ごとに交互に混ざりつつ、内容も全てが1ファイル内に(やや長大に)列挙的に記述されています。 これは、その方が書き手にとっての編集が楽であったり、各言語ごとの内容が徐々に乖離していくのを防ぐためといった、管理効率を重視した意図によるものです。 その反面、ドキュメントとして必ずしも参照しやすい形にはなっていません。
そこでVnano公式サイトでは、リポジトリのREADMEをベースとして各言語ごとに分割し、さらにほどほどの量で複数ページに分割した上で、少し内容に再編集を加えたものを 「 チュートリアル 」として提供しています:
- Vnano チュートリアル 日本語版
- https://www.vcssl.org/ja-jp/doc/vnano/
- Vnano チュートリアル 英語版
- https://www.vcssl.org/en-us/doc/vnano/
Webサイトはそもそもが情報の「 公開 」を目的としたものであるため、再編集や構成の際もその点を意識しており、リポジトリのREADMEよりも情報を参照しやすい形になっています。
ただ、完全にWebベースに移行してしまうと、やはり各言語ごと内容の乖離や、旧バージョン用を含む情報管理、および編集の手間などの点で、いくらかデメリットが生じてしまいます。 そこで、少なくとも上記チュートリアルについては、今後もリポジトリのREADME(または今後名称変更した別ファイル)を原稿のようなものとして第一に更新し、 そこからWebページに(ある程度の離散的な間隔で)反映するといった形で運営していく予定です。
スクリプトエンジンの構成クラス群のAPI仕様書も公開
加えて、Vnano 公式サイトの開設にあわせて、Vnanoのスクリプトエンジンを構成するクラス群のAPI仕様書も、以下の通りWeb上での掲載を開始しました:
- Vnano スクリプトエンジン APIリファレンス(仕様書) 日本語版
- https://www.vcssl.org/ja-jp/dev/code/main-jimpl/api/org/vcssl/nano/
- Vnano スクリプトエンジン APIリファレンス(仕様書) 英語版
- https://www.vcssl.org/en-us/dev/code/main-jimpl/api/org/vcssl/nano/
このAPI仕様書は、スクリプトエンジンのソースコード内に記載されたドキュメンテーションコメントから、Javadoc を用いて生成したものです。 Vnano のリポジトリ内には、その生成めのスクリプトとして generatedocs(.sh/.bat) が同梱されています。 ただ、この生成スクリプトで生成したAPI仕様書では、デフォルトでは日本語/英語の両方が表示されます。 日本語や英語のみを表示するには、CSS ファイルを編集して .lang-ja{ display: none; } などと追記し、目的外の言語を非表示指定する必要があります。
これは、Javadocの仕様内で日本語/英語のコンテンツを切り分けるのは意外と容易ではなく、 現状ではとりあえずの暫定的な方法として、 ドキュメンテーションコメント内の記述を span/div タグで囲みつつ、 class 指定で lang-ja (日本語用) と lang-en (英語用) のように言語情報をマークアップし、 その後にCSSで目的言語外の記述を非表示にする事で対応しているためです。 スクリプト側で言語選択のステップを入れて自動的にCSSに追記するようにしてもよいのですが、 ソース編集時には同時表示したい事もあったり、その他いくつかの理由などから、現状ではデフォルトは行わないようになっています。
一方、上記の公式サイト内のAPI仕様書では、日本語/英語のみを表示するように設定済みのものを掲載しています。 そのため、master ブランチにも反映されていないような最新または暫定的のコードの仕様書を生成したい場合を除いては、 手動生成するよりも、公式サイト内のAPI仕様書の方が手軽に参照できます。
API仕様書ページの例:
https://www.vcssl.org/ja-jp/dev/code/main-jimpl/api/org/vcssl/nano/compiler/AstNode.html
なお、ドキュメンテーションコメントを多言語対応した事の結果、ソースコード内でのコメントから目視でAPI仕様を読むのは、それなりにうっとうしい形になってしまっています。 ただ、そもそもドキュメンテーションコメントは必ずしもコード内コメントとしての可読性がベストな形ではなく、 どちらを優先するかによって、どうしてもある程度は他方にトレードオフのようなものが生じてしまうため、 Vnano ではAPIレベルの仕様はWebブラウザで閲覧する方針に割り切っています。 今回の公式サイト内でのAPI仕様書公開にあわせて、各クラスのソースコードの冒頭にも、そのクラスのAPI仕様書のURLを記載するよう追記しています(未対応のものも残っています)。
◇
以上の通りです。RINEARNでは今後もVnanoの正式リリースに向けた準備を進め、順次このコーナーにてお知らせしていく予定です。
リニアングラフ3DのVCSSL用APIにカメラ制御関数を追加、回転アニメーションツールも同梱
2019年10月09日 -
RINEARNでは10月9日にソフトウェアの最新版をリリースしました。VCSSLのAPI関数の追加や、リニアングラフ3Dのアニメーションツールの追加など行っています。その概要をお知らせします。
小型関数電卓 RINPn(旧称リニアンプロセッサー nano)の公式ページを開設
2019年10月02日 -
現在オープンソースで開発中の、「シンプル&コンパクト」を目指した小型プログラマブル関数電卓ソフト「 RINPn 」の公式ページが、RINEARNサイト内にオープンしました。その概要をお知らせします。
Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
2019年08月07日 -
オープンソースのアプリケーション組み込み用スクリプトエンジン「 Vnano 」の公式サイトを開設しました。チュートリアルや、スクリプトエンジンのAPI仕様書などが参照できます。その概要をお知らせします。
リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応
2019年07月17日 -
リニアングラフ3D/2Dでは、7月17日公開の最新版より、連番ファイルを連続的に読み込みながらアニメーション描画するプログラムを同梱し、メニューから標準で使用可能になりました。その概要をお知らせします。
Vnanoのスクリプトエンジンアーキテクチャ解説2: コンパイラ
2019年07月03日 -
オープンソースで開発中のスクリプトエンジン「 Vnano 」のアーキテクチャを解説する連載の第2回です。今回は、スクリプトを中間コードへと変換する、コンパイラ部分の内部をクローズアップして解説します。
Vnanoのスクリプトエンジンアーキテクチャ解説1: 全体像
2019年05月28日 -
RINEARNでは現在、 アプリケーション組み込み用スクリプトエンジン「 Vnano 」を、オープンソースで開発中です。今回は、このスクリプトエンジンのアーキテクチャ面を掘り下げて解説します。複数回の連載予定です。
リニアンプロセッサー nano の先行開発版やソースコードリポジトリを公開
2019年04月16日 -
オープンソースで開発中の小型プログラム関数電卓ソフト、「 リニアンプロセッサー nano 」の先行開発版やソースコードリポジトリを公開しました。概要と使用方法、ビルド方法などについて解説します。
各ソフトウェアの最新版を一括でリリース、OpenJDKのJava実行環境(JRE)に対応
2019年03月06日 -
RINEARNでは3月6日に、主要なソフトウェアの最新版を一括でリリースしました。今回のアップデートには、以前お知らせした、OpenJDKで生成したJREへの対応が含まれています。その概要等をお知らせします。
次回のVCSSL 3.4.10において、関数1個の挙動に非互換な修正が適用されます
2019年02月12日 -
VCSSLの次回の正式リリース版3.4.10において、これまでドキュメントと実際の挙動が異なっていた描画系の関数1個に、非互換な修正が適用されます。その詳細と、使用コードでの対応方法について解説します。
RINEARNのソフトウェア向けにOpenJDKで生成したJava実行環境(JRE)の提供を開始
2019年02月06日 -
Javaのリリースモデル変更への対応として、OpenJDKのjlinkツールを用いて、RINEARNのソフトウェア実行用に生成したJava実行環境(JRE)の提供を開始しました。その詳細と、今後の方針について解説します。
シンプル&コンパクトなプログラム関数電卓! 「 リニアンプロセッサー nano 」の概要
2019年01月26日 -
RINEARNでは現在、プログラム関数電卓ソフト「 リニアンプロセッサー 」の派生版として、シンプル&コンパクトな方向性を目指した「 リニアンプロセッサー nano 」を開発中です。その概要をご紹介します。