Blockly 和 Scratch 介紹

Blockly

Blockly是一款由google開發(fā)的基于web的開源可視化編程編輯器,它的設(shè)計(jì)是為了解決編程的可視化在教育領(lǐng)域的應(yīng)用問題。同類編輯器還有Microsoft MakeCode镶殷、Scratch Blocks、Droplet龄坪、Snap等焙格。其中MakeCode是微軟開發(fā)基于開源項(xiàng)目PXT的編輯器瓮床,Micro:bit就是MakeCode的用戶之一芜茵。

特點(diǎn)

- 可導(dǎo)出叙量、多語言,Blockly可編譯輸出多種語言九串,包括JavaScript绞佩、Python、PHP猪钮、Dart品山。

- 可拓展,你可以很輕易地自定義block烤低。

- 強(qiáng)大的能力肘交,使用Blockly可以制作復(fù)雜的程序。

- 國際化扑馁,Blockly支持40+門語言涯呻。

- 客戶端化,不依賴遠(yuǎn)端或第三方資源檐蚜。

Scratch

Blockly僅提供編程可視化的Foundation魄懂,ToolBox較簡(jiǎn)單沿侈,主要由主要變量闯第、流程控制、數(shù)學(xué)計(jì)算缀拭、列表結(jié)構(gòu)組成咳短。

那么Scratch能做什么填帽?

先看看Scratch的ToolBox提供了什么:

- Move 移動(dòng)

- Display 外觀

- Audio 聲音

- Event (框架)事件

- SysEvent 系統(tǒng)事件

- Control 流程控制

- Math 數(shù)學(xué)計(jì)算

- Variables 自定義變量

- Custom Block 自定義積木

另外,Scratch還提供有圖像咙好、音頻導(dǎo)入和編輯功能篡腌,以及實(shí)時(shí)預(yù)覽界面。所以勾效,Scratch可以理解為一款基于可視化積木編程的簡(jiǎn)單的游戲編輯器嘹悼。

?Scratch功能強(qiáng)大,一應(yīng)俱全层宫,同時(shí)開源杨伙,通過二次開發(fā) Scratch-GUI可快速構(gòu)建自己的Scratch應(yīng)用或集成到已有項(xiàng)目中。

Scratch Blocks 是基于Blockly開發(fā)的一個(gè)圖形化js庫萌腿。

Scratch VM 是一個(gè)運(yùn)行 Scratch Blocks 代碼塊的引擎庫限匣。

Scratch Audio 是用來解析聲音、播放聲音的庫毁菱。

Scratch Link 通過 WebSocket 使 Scratch 硬件擴(kuò)展可以和硬件設(shè)備通訊米死。

scratch-gui

安裝

git clone https://github.com/LLK/scratch-gui.git --depth=1

cd scratch-gui

npm install

構(gòu)建運(yùn)行

BUILD_MODE=dist npm run build

npm start

open "http://localhost:8601/" 或 start chrome http://localhost:8601/

技術(shù)棧

- react + redux

- webpack(打包工具)

src目錄結(jié)構(gòu)

- components: 所有基礎(chǔ)react組件,包括相對(duì)應(yīng)的jsx贮庞、css以及依賴的svg資源

>? jsx是react提供的文件格式峦筒,在js文件特性的基礎(chǔ)上支持html標(biāo)簽的寫法。舉個(gè)栗子:

export default class JsxComponent extends React.Component {

? ? constructor(props) {

? ? ? ? super(props);

? ? }

? ? render() {

? ? ? ? return (

? ? ? ? ? ? <div className = {classname} >

? ? ? ? );

? ? }

}

- containers: 高級(jí)組件窗慎,封裝基礎(chǔ)組件(component)的容器勘天,并負(fù)責(zé)處理部分業(yè)務(wù)邏輯

- css: 全局樣式配置

- lib: 依賴庫,包括全局資源assets捉邢,js工具庫脯丝,以及高級(jí)組件hoc(組件包裹器)

> hoc 全稱 a higher-order component ,本質(zhì)是一個(gè)方法伏伐,用來包裹(或者叫修飾)react組件宠进。舉個(gè)栗子:

export default CompHoc = function (WrappedComponent, localesOnly) {

? ? return class CompStateWrapper extends React.Component {

? ? ? ? render() {

? ? ? ? ? ? return (

? ? ? ? ? ? ? ? <WrappedComponent

? ? ? ? ? ? ? ? ? ? {...componentProps}

? ? ? ? ? ? ? ? />

? ? ? ? ? ? );

? ? ? ? };

? ? }

}

- playground: 示例,有block-only(僅積木)藐翎、player(舞臺(tái))材蹬、render-gui(完整)三種示例

- reducers: 所有reducer以及initial state

- index.js: 打包入口

總結(jié)

? ? 這篇文章大多內(nèi)容摘錄自官方文檔,旨在記錄和督促自己吝镣,更進(jìn)一步得學(xué)習(xí)堤器。加油,打工人末贾!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末闸溃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辉川,老刑警劉巖表蝙,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乓旗,居然都是意外死亡府蛇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門屿愚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汇跨,“玉大人,你說我怎么就攤上這事妆距∪欧ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵毅厚,是天一觀的道長塞颁。 經(jīng)常有香客問我,道長吸耿,這世上最難降的妖魔是什么祠锣? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮咽安,結(jié)果婚禮上伴网,老公的妹妹穿的比我還像新娘。我一直安慰自己妆棒,他們只是感情好澡腾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著糕珊,像睡著了一般动分。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上红选,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天澜公,我揣著相機(jī)與錄音,去河邊找鬼喇肋。 笑死坟乾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蝶防。 我是一名探鬼主播甚侣,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼间学!你這毒婦竟也來了殷费?” 一聲冷哼從身側(cè)響起印荔,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宗兼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氮采,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殷绍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹊漠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片主到。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖躯概,靈堂內(nèi)的尸體忽然破棺而出登钥,到底是詐尸還是另有隱情,我是刑警寧澤娶靡,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布牧牢,位于F島的核電站,受9級(jí)特大地震影響姿锭,放射性物質(zhì)發(fā)生泄漏塔鳍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一呻此、第九天 我趴在偏房一處隱蔽的房頂上張望轮纫。 院中可真熱鬧,春花似錦焚鲜、人聲如沸掌唾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糯彬。三九已至,卻和暖如春葱她,著一層夾襖步出監(jiān)牢的瞬間情连,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來泰國打工览效, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留却舀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓锤灿,卻偏偏與公主長得像挽拔,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子但校,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容