Blockly
作者 | Neil Fraser, Quynh Neutron, Ellen Spertus, Mark Friedman |
---|---|
開発元 | Google, MIT |
初版 | 2012年5月 |
最新版 |
Q1 2022 Patch 3
/ 2022年6月8日[1] |
リポジトリ |
github |
プログラミング 言語 | JavaScript |
対応OS | Android, iOS、Windows |
プラットフォーム | Webブラウザ |
サイズ | 150 キロバイト |
対応言語 | 50言語 |
対応言語一覧 英語 | |
種別 | ライブラリ |
ライセンス | Apache License 2.0 |
公式サイト |
developers |
Blocklyは、Googleが開発するブロックベースのビジュアルプログラミング言語と、エディターを提供するオープンソースのクライアント用JavaScriptのライブラリである[2]。
Blocklyでは、ビジュアルブロックを使用してJavaScript、Lua、Dart、Python、 PHPのコードを簡単に生成することができる。
Blocklyは、Apache License 2.0で提供されている。[3]
歴史
[編集]2011年の夏にBlocklyの開発が始まった。App Inventor内のOpenBlocksの代替になるものとして[4]、Neil Fraserが、Quynh Neutron、Ellen Spertus、Mark Friedmanと共に開発を行った。
2012年5月にはMaker Faireではじめて一般公開が行われた。
UI
[編集]Blocklyのグラフィカルユーザインタフェース(GUI)は、デフォルトでは以下から構成されている[5]。
- ツールボックス(利用できるブロックが表示され、そこから選択できる)
- ワークスペース(ブロックをドラッグ・アンド・ドロップして、並べることができる)
- ズームアイコン
- ゴミ箱(ブロックを削除できる)
このエディターは、カスタマイズして使用可能な機能やブロックを制限するために、簡単に変更できるようになっている。
カスタマイズ
[編集]Blocklyには、一般的な操作をするためのブロックのセットが用意されており、ブロックを追加してカスタマイズすることができる。
新しいブロックは定義とジェネレータを必要とする。定義で、ブロックの動作(ユーザーインタフェース)を説明し、ジェネレータは、コードを実行可能にするために、コードを翻訳している。
定義とジェネレータは、JavaScript、またはブロックファクトリーを使用して、既存のブロックから作成することができる。後者の方が、より簡単にブロックを作成することができる。
ソフトウェア
[編集]Blocklyは以下のようなソフトウェアに使用されている。
- Scratch(教育のためのビジュアルプログラミング環境)[6]
- App Inventor(Androidでアプリを作成)[7]
- Code.org(Hour of Codeプログラムで、多くの生徒にプログラミングの入門を教えている)[8]
- MakeCode(誰でもゲーム、コードデバイス、マインクラフトのMODが作れる、無料のオンラインプラットフォーム)[9][10]
- RoboBlockly(コーディングと数学を学ぶための、Web上のロボットシミュレーション環境)
- PICAXE(教育用のマイクロコントローラを操作)[11]
- MCreator
特徴
[編集]- Web上で動作し、SVGを使用(Flashなし)
- クライアントサイドのJavascriptで完結
- 主要なWebブラウザに対応(Chrome、Firefox、Safari、Opera)
- 多くのプログラム方法に対応(変数、関数、配列)
- 最小限の型チェックをサポート
- カスタムブロックによる拡張が簡単
- コードの追跡とデバッグのために、ステップごと実行するモード[12]
- 100以上の言語に対応[13]
- 左から・右から読む言語の両方に対応[14]
脚注
[編集]- ^ “Release Q1 2022 Patch 3 · google/Blockly”. GitHub. 2023年4月4日閲覧。
- ^ “Blockly”. Google for Developers. 2023年10月11日閲覧。
- ^ Metz, Cade. “Google Blockly Lets You Hack With No Keyboard” (英語). Wired. ISSN 1059-1028 2024年2月2日閲覧。
- ^ “Is Blockly related to the programming language Logo?”. groups.google.com. 2024年2月2日閲覧。
- ^ “Google Blockly - A Graphical Language with a Difference”. www.i-programmer.info. 2024年2月2日閲覧。
- ^ “Scratch 3.0's new programming blocks, built on Blockly” (英語). 2024年2月2日閲覧。
- ^ “MIT's App Inventor”. ai2.appinventor.mit.edu. 2024年2月2日閲覧。
- ^ “Help Translate”. Code.org. 2024年2月2日閲覧。
- ^ “Microsoft MakeCode Computer Science Education” (英語). Microsoft MakeCode. 2024年2月2日閲覧。
- ^ “Microsoft MakeCode” (英語). Microsoft Research. 2024年2月2日閲覧。
- ^ “Blockly for PICAXE - Software - PICAXE”. picaxe.com. 2024年2月2日閲覧。
- ^ “JS Interpreter”. google.github.io. 2024年2月2日閲覧。
- ^ “メッセージ群別の翻訳状況 - translatewiki.net”. translatewiki.net. 2024年2月2日閲覧。
- ^ “RTL”. google.github.io. 2024年2月2日閲覧。