Blockly

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以上の言語に対応
 左から・右から読む言語の両方に対応

 脚注 

 外部リンク 



Category:Googleのソフトウェア
Category:ビジュアルプログラミング言語
Category:JavaScriptでプログラムされた自由ソフトウェア