Blocklyは、Googleが開発するブロックベースのビジュアルプログラミング言語と、エディターを提供するオープンソースのクライアント用JavaScriptのライブラリである。

Blocklyでは、ビジュアルブロックを使用してJavaScript、Lua、Dart、Python、 PHPのコードを簡単に生成することができる。

Blocklyは、Apache License 2.0で提供されている。

歴史 2011年の夏にBlocklyの開発が始まった。App Inventor内のOpenBlocksの代替になるものとして、Neil Fraserが、Quynh Neutron、、Mark Friedmanと共に開発を行った。

2012年5月にはではじめて一般公開が行われた。

UI Blocklyのグラフィカルユーザインタフェース(GUI)は、デフォルトでは以下から構成されている。

ツールボックス(利用できるブロックが表示され、そこから選択できる) ワークスペース(ブロックをドラッグ・アンド・ドロップして、並べることができる) ズームアイコン ゴミ箱(ブロックを削除できる)

このエディターは、カスタマイズして使用可能な機能やブロックを制限するために、簡単に変更できるようになっている。

カスタマイズ Blocklyには、一般的な操作をするためのブロックのセットが用意されており、ブロックを追加してカスタマイズすることができる。

新しいブロックは定義とジェネレータを必要とする。定義で、ブロックの動作(ユーザーインタフェース)を説明し、ジェネレータは、コードを実行可能にするために、コードを翻訳している。

定義とジェネレータは、JavaScript、またはブロックファクトリーを使用して、既存のブロックから作成することができる。後者の方が、より簡単にブロックを作成することができる。

ソフトウェア Blocklyは以下のようなソフトウェアに使用されている。

Scratch(教育のためのビジュアルプログラミング環境) App Inventor(Androidでアプリを作成) Code.org(Hour of Codeプログラムで、多くの生徒にプログラミングの入門を教えている) MakeCode(誰でもゲーム、コードデバイス、マインクラフトのMODが作れる、無料のオンラインプラットフォーム) (コーディングと数学を学ぶための、Web上のロボットシミュレーション環境) (教育用のマイクロコントローラを操作) MCreator UIFlow UIFlow2

特徴

Web上で動作し、SVGを使用(Flashなし) クライアントサイドのJavascriptで完結 主要なWebブラウザに対応(Chrome、Firefox、Safari、Opera) 多くのプログラム方法に対応(変数、関数、配列) 最小限の型チェックをサポート カスタムブロックによる拡張が簡単 コードの追跡とデバッグのために、ステップごと実行するモード 100以上の言語に対応 左から・右から読む言語の両方に対応

脚注

外部リンク