天天看點

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

點選檢視第二章 點選檢視第三章

Blockly創意趣味程式設計

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

周慶國 崔向平 郅 朋 編著

01

Blockly概述

● 學習目标

了解Blockly的概念、程式設計方式。

掌握線上版和離線版Blockly的使用。

掌握Blockly各個子產品的功能。

● 知識圖譜

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

在本章中,我們将學習什麼是Blockly及其程式設計方式、線上版與離線版的Blockly的使用方式以及各個子產品的功能。學習完本章的内容後,我們将對Blockly有一個整體的了解。

1.1 什麼是Blockly

Blockly是一種可視化程式設計工具,也是衆多可視化編輯工具的鼻祖。2012年6月,Google釋出了完全可視化的程式設計語言Google Blockly。Blockly代碼塊由類似于積木的圖形對象構成。使用者通過拖動滑鼠,就可以将這些“?代碼積木?”拼接起來,創造出簡單的功能,然後将一個個簡單功能組合起來,最終建構出一個程式。相較于傳統字元型的程式設計語言,Blockly語言無須大家考慮指令行模式下複雜的文法規則,學習成本更低,趣味性更強。

1.一種基于網頁的可視化程式

Google Blockly是基于網頁的可視化程式設計工具庫,使用者可以以離線或者線上的方式,在Windows、Linux和Android等平台上使用Blockly進行程式設計操作。

2.多種開發語言環境庫

Blockly基于圖形化程式設計設計,可以導出JavaScript、Python、PHP、Lua、Dart等多種語言。在Blockly中有一個類似語言轉換器的工具箱,可以将圖形化程式設計語言轉換成多種程式設計語言代碼,有助于使用者通過圖形化程式設計方式了解多種程式語言。

3.開源的自定義程式設計環境

Blockly是開源的程式設計工具,使用者可以根據自己的需求對Blockly工具箱進行自定義設計。同時,Blockly開發工具能将使用者自定義的塊添加至工具箱,并在工作區工廠完成對代碼的封裝,如圖1-1所示。

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

1.2 Blockly程式設計環境

Blockly有線上版和離線版兩個版本,在浏覽器的位址欄輸入

https://developers.google.cn/blockly/

,通路Blockly官網,即可體驗Blockly線上程式設計,如圖1-2所示。

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

離線版的Blockly無須安裝,隻需要在解壓檔案後,進入Demos并打開index.html檔案,選擇相應的選項即可體驗。在Linux系統中,可下載下傳TAR Ball,在終端解壓檔案即可;在Windows系統中,則下載下傳ZIP File并解壓即可。下載下傳位址如下:

Github Blockly位址:

https://github.com/google/blockly

TAR Ball位址:

https://github.com/google/blockly/tarball/master

ZIP File位址:

https://github.com/google/blockly/zipball/master

如圖1-3所示即為Blockly離線版Demos。

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

1.3 Blockly子產品功能

Blockly總共分為8個子產品,學習了新的函數或者指令後,就可以使用這些子產品進行練習。所有的Blockly子產品都存放在線上程式設計界面左側的清單中,如圖1-4所示。

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

使用時遵循正确的文法并進行适當的缺口對接就能實作預定功能。是以,通過對子產品進行适當的組織就能輕松地實作新的想法和創意,如表1-1所示。

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01
帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01
帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

1.4 小試牛刀—遊戲:拼圖

學習完上述内容,相信大家對Blockly已經有了初步的認識。接下來我們通過一個遊戲來進一步掌握這種類似積木拼接的程式設計模式,遊戲位址如下:

http://cooc-china.github.io/pages/blockly-games/zh-hans/puzzle.html?lang=zh-hans

遊戲規則:

① 每種動物都有自己的特征。拖動子產品将動物與其特征進行比對,并為每一種動物選擇合适的腿數,如圖1-5所示。

② 單擊“檢查答案”按鈕檢查是否正确完成拼圖,比對正确後,遊戲結束,順利通關,如圖1-6所示。

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01
帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

1.5 本章練習

1.進入Blockly官網,熟悉Blockly,并使用線上版Blockly輸入“HelloBlockly”。

2.在本地配置離線版Blockly,并完成Plane遊戲的練習。

1.6 課外拓展

計算機語言

計算機語言是指人與計算機之間“交流溝通”的語言,它是人與計算機之間通信的媒介。目前計算機語言的種類非常多,根據其功能和特性可大緻分為機器語言、彙編語言、進階語言三大類。衆所周知,二進制是計算機語言的基礎,而這種計算機能夠識别的二進制語言就稱為機器語言。如果要和計算機之間進行資訊傳遞,就需要寫一長串由0和1組成的指令序列,告訴計算機下一步該做什麼、怎麼做,由此可見使用機器語言是十分不便的。為了減輕這種使用上的不便,彙編語言誕生了。彙編語言是用自然語言中的一些簡單的單詞或符号來替代一些操作的二進制指令序列,如SUB代表減法,ADD代表加法。由于計算機不能識别這些符号,是以在執行彙編語言之前需要先将其編譯成計算機能夠識别的機器語言。雖然彙編語言在機器語言的基礎上做了一些人性化的改進,但是它的每一條指令隻能完成一個非常簡單的操作,這就導緻彙程式設計式依然非常複雜,不利于學習和開發。于是,在彙編語言的基礎上,又誕生了進階語言,也就是我們現在常用的開發語言,如C、C++、Python、Java等,與機器語言、彙編語言相比,進階語言更接近于自然語言,大大簡化了底層的操作指令,降低了程式設計者的入門門檻。

TIOBE是開發語言排行榜,它會根據目前業内程式開發語言的流行程度每月更新一次(如圖1-7所示)。通過這些指數,不僅可以幫助開發者根據趨勢制定合理的學習路線,而且可以幫助企業及時進行招聘、開發等方面戰略部署與調整。此外,通過長期的資料對比,該指數還對世界範圍内開發語言的走勢具有重要參考意義。

帶你讀《Blockly創意趣味程式設計》之一:Blockly概述01

繼續閱讀