Scratchとは?
- 8歳から16歳向けにデザインされたプログラムを勉強する教育向け利用につくらている。
- オンラインで作成することができる(ブラウザーがあれば始められる)
- つくったプログラムを公開することができ、他の人がつくったプログラムも利用できる
- Google作のblocklyベースのUIで、マウスだけでプログラミングができる
- 拡張ブロックを作ることで、ドローンやロボットなども制御できる
とにかく、操作性、機能面、拡張性、など、かなりのスグレモノで、プロジェクトによってはScratchで実装した方がらくなのでは?とおもわせるほどツールとしてのクオリティーが高いです。
開発者目線から気になる技術内容
内部はNode.js、画面はReactで実装、ES2015(constなど)には対応、webpackでコンパイル、npmパッケージを導入可能。(参照:Scratch 3.0でオリジナルブロックをつくろう:https://qiita.com/Hiroyuki_OSAKI/items/a46e1c881d3aed4661f7)
Scratchブロック
Scratch Blocksは、GoogleのBlocklyの技術をベースに構築され、垂直(テキストベース)と水平(アイコンベース)の両方の形式に対応する、プログラミング・ブロック構築用フレームワーク
(GoogleのBlockly:https://developers.google.com/blockly/)
かなりいけてる技術の集合体でつくられるとおもわれます。
なんでScratchを
OSSのイベントプレゼン資料をみていたときに、笑いを取るページで、渋谷女子高生がなんでもScratchで作っちゃう的な、記事を見たのが、自分が知るきっかけでした。
気になったので、自分のまわりにいる、小中学生に聞いてみたら
Switchと同じぐらいの感覚で、これつかってゲーム作って遊んでました。
ためしにうちの小学1年生の子にScratchJrをタブレットで与えたら、夢中になってあそんでました。
- 感覚だけでプログラミングができてしまう、UI、UXのすばらしさ
- アイデアを実現できる、機能と、すぐれた拡張性
子供だけでなく大人も夢中になれるすぐれたツールだとおもいます。
有益な拡張ブロックつくって組み合わせることでAPIコントローラにつかったり
ビデオセンサーなどを利用した接客アプリとか
アイデアが刺激されますね。。。
仕事柄、
- 子供にプログラミング習わせたいけどどう思う?
- 始めるなら早いほうがよい?
など相談されることがあるのですが、お金かけてスクールに行かなくても、
Scratchで遊ばせておけば、天才プログラマーが育ってしまうのではと。。。。