C# (2) Small Basic Online の公開

開発に入る前に、新しい Small Basic Online (SBO) の現状についてお知らせしておきます。
元々の Small Basic Desktop (SBD) には発行 (Publish) という機能があり、プログラムを共有することができます。これはインポート (Import) して Small Basic Desktop 上で実行することもできますが、ブラウザ上で実行することもできます。例えば、プログラムID MNV389-5 はソロバンのプログラムですが、Internet Explorer (IE) と Silverlight というプラグインで実行することができます。
ところがこの Silverlight はかつて Chrome や Safari などでもサポートされていたのですが、HTML5 の出現などにより徐々にサポートする環境がなくなり、Edge では最初からサポートされず、IE でも 2021年10月12日までのサポート予定となっています。このためブラウザ上で実行する環境を新たに構築する必要がありました。
そこで昨年 Small Basic ウェブサイトが新しくなったタイミングで SBO が [Start Coding Online] ボタンから呼び出せるようになりました。これは TypeScript をベースとしたシステムで、その後オープンソースソフトウェアとしてソースが公開されることになったのですが、途中で C# をベースとしたシステムに刷新されることになりました。下図が新しく公開された SBO のエディターの画面です。
Superbasicv2
現時点ではプレビュー版として公開されていますが、いずれ現在の [Start Coding Online] のリンク先として正式にリリースされる予定です。
そして今この新しい C# ベースの SBO は公式ブログでもアナウンスされているとおり、以下の2点での協力が求められています。
・バグや問題点のレポート(公開中の GitHub の Issues に登録します)
・現在公開されている SBO 0.91 (TypeScript ベース) との違いのレポート(同上)
今後の開発方針としては、まず SBO 0.91 レベルまで作り上げて SBO 1.0 として公開し、SBD 1.2 レベルに近づけたものを SBO 2.0 として公開する予定です。これまでも予定変更があったので、あくまでも現時点の予定です。
ざっくり、以上のような状況です。ポイントは SBO はオープンソースソフトウェアとして開発されるということです。いずれ SBD のベースにもなっていくようです。したがって、この連載ではオープンソースソフトウェアにどう取り組むかということを、体験しながら伝えていくようにしたいと思います。
この連載の読者としては高校生以上を対象としたいと思います。オープンソースソフトウェアの開発では英語を使うことが多いですし、GitHub のアカウントを作成しないと記事の内容を試せないということもあるのでそうしました。一応の目安としてください。
さて、SBO プロジェクトに興味がある方はまず上記のとおり、プレビュー版を使って問題点をレポートしてみませんか。私は以下の問題点をレポートして全て対応してもらいました。
・#9 楕円のサイズが長方形のサイズの2倍になる
・#10 ソースファイルの©を[Open]で読み込むと©に化ける
・#33 楕円位置が半径の半分だけ右下にずれる
・#34 Text.GetSubText が指定より短いサブ文字列を返す
・#35 Text.GetSubText の引数によってはプログラムが停止する
・#36 Controls.SetTextBoxText でテキストを設定できない
まだ多くの問題点を抱えているような感触です。今は現在の版を作成した オマー・トーフィック (Omar Tawfik) さんがほとんど一人で修正しています。リポジトリの contributors のタブを見るともう一人、学生の alxnull さんの修正も取り入れられています。Issues #10 のコメントによると alxnull さんは Small Basic でプログラミングを覚えた方で、この SBO のプロジェクトにエキサイトしているとのことでした。
私もまずは問題点のレポートで貢献し、いずれコードの修正にも貢献していきたいと思います。
(つづく)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。