App Inventor是一款開發安卓應用的可視化編程工具,它提供了一種可拼接、圖形化的語言塊,使得編寫程序如同拼裝積木一樣簡單易學。雖然App Inventor具備了常規編程語言所應具有的基本語言要素,但由于其簡單易用,仍然被認為是適合初學者入門的語言。
本書以MIT App Inventor編程工具為基礎,采用“開發筆記”的敘述方式,通過一個經典的俄羅斯方塊游戲的開發,以進化的方式向讀者演繹編程的過程,不僅使讀者尤其是初學者能夠掌握軟件編程的基本知識,同時也能充分了解、體驗和領悟軟件開發的基本思路與方法。
探索的動力來自對所學內容的興趣,這是古今中外之共識。正如愛因斯坦所說: 一頭貪婪的獅子,如果被人們強迫不斷進食,也會失去對食物貪婪的本性。學習本應源于天性,而不是強迫地灌輸。但是,當我們環顧目前教育的現狀,卻深感沮喪與悲哀: 學生太累,壓力太大,以至于使他們失去了對周圍探索的興趣。在很多學生的眼中,已經看不到對學習的渴望,他們無法享受學習帶來的樂趣。
在傳統的教育方式下,通常由教師設計各種實驗讓學生進行驗證,這種方式與科學發現的過程相違背。那種從概念、公式、定理以及脫離實際的抽象符號中學習的過程,極易導致學生機械地記憶科學知識,不利于培養學生的科學興趣、科學精神、科學技能,以及運用科學知識解決實際問題的能力,不能滿足學生自身發展的需要和社會發展對創新人才的需求。
美國教育家杜威指出: 成年人的認識成果是兒童學習的終點。兒童學習的起點是經驗,“學與做相結合的教育將會取代傳授他人學問的被動的教育”。如何開發學生潛在的創造力,使他們對世界充滿好奇心,充滿探索的愿望,是每一位教師都應該思考的問題,也是教育可以獲得成功的關鍵。令人感到欣慰的是,新技術的發展使這一切成為可能。如今,我們正處在科技日新月異的時代,新產品、新技術不僅改變我們的生活,而且讓我們的視野與前人迥然不同。我們可以有更多的途徑接觸新的信息、新的材料,同時在工作中也易于獲得新的工具和方法,這正是當今時代有別于其他時代的特征。
當今時代,學生獲得新知識的來源已經不再局限于書本,他們每天面對大量的信息,這些信息可以來自網絡,也可以來自生活的各個方面,如手機、iPad、智能玩具等。新材料、新工具和新技術已經滲透到學生的生活中,這也為教育提供了新的機遇與挑戰。
將新的材料、工具和方法介紹給學生,不僅可以改變傳統的教育內容與教育方式,而且將為學生提供一個實現創新夢想的舞臺,教師在教學中可以更好地觀察和了解學生的愛好、個性特點,更好地引導他們,更深入地挖掘他們的潛力,使他們具有更為廣闊的視野、能力和責任。
本套叢書的作者大多是來自著名大學、著名中學的教師和教育產品的科研人員,他們在多年的實踐中積累了豐富的經驗,并在教學中形成了相關的課程,共同的理想讓我們走到了一起,“讓學生獲得最好的教育”是我們共同的愿望。本套叢書可以作為各校選修課程或必修課程的教材,同時也希望借此為學生提供一些科技創新的材料、工具和方法,讓學生通過本套叢書獲得對科技的興趣,產生創新與發明的動力。
叢書編委會2013年10月8日序 App Inventor開發探底——俄羅斯方塊開發筆記〖2〗〖2〗 〖1〗
在20歲之前,我讀書從來不讀前言,視前言為聾子的耳朵——配搭兒;30歲之前,在讀書時,我曾經硬著頭皮去讀前言,試圖搞清楚前言里面到底有什么,但很難從頭到尾地讀完;到了30歲以后,我開始慢慢理解前言的作用,為了強迫自己讀完前言,我采用朗讀的方式,在開始讀一本書之前,把前言從頭到尾大聲地讀出來,家人曾經為此取笑我;到了40歲之后,我開始很自覺地在讀一本書的正文之前,先閱讀前言。在我將近50歲的時候,我要為自己的第一本書寫前言了,因此很忐忑讀者會不會跳過前言,尤其是年輕的讀者,會不會像我當年一樣,對其視而不見。
12年前,我剛剛開始學習編程,我問我的先生,如何能夠成為一個編程高手。他說,完整地做過一個項目,就能練成高手。在接下來的時間里,我先后完整地做過若干個項目,包括一個銷售管理工具,一個物流企業的業務管理系統,若干個游戲、教學以及古籍閱讀應用等,先后使用過VB、Delphi、AS3、JavaScript等語言,最近又開始用App Inventor來寫游戲。時至今日,我問自己:我是高手嗎?如果說是,會讓自己內心備感空虛;如果說不是,這么多年來豈不是虛度了年華?其實高手不過是虛名而已,12年的代碼生涯不算長,但依然有經驗可供分享。
編程算是一門手藝,既然是手藝,那必然是熟能生巧,做過的項目越多,遇到的問題、麻煩就越多,鍛煉的機會也就越多,手藝人的技巧也就越發嫻熟,這是真的。經過無數次的編寫代碼、測試、糾錯,無數次的“山重水復”而后又“柳暗花明”,我們的大腦里儲備了大量的錦囊,于是難題和麻煩會變得越來越不堪一擊。
編程語言不是這門手藝的根本,它只是一個工具,使用工具的人才具有無限的創造力,最難能可貴的是你的創造沖動!你可能是一位家長、一位教師,希望為孩子或學生制作一個背單詞的軟件,或者一個易錯題的題庫,讓使用者能夠輕松愉快地學習;你可能是一個銷售員,要管理你的客戶信息、日程安排以及項目進展情況,你不想把這么多重要的信息分別保存在不同的地方;或者你是一位家庭主婦,希望將家庭的收入支出管理得井井有條,別人開發的賬本管理軟件用起來總是不順手……這些其實都是我曾經有過的沖動。為此,有了前面提到過的各種項目,也有了本書。
說到App Inventor,它的目標定位是編程的初學者,或用于制作原型產品的專業人員。雖然在App Inventor發明人參與編寫的教材《App Inventor—Create Your Own Android Apps》,中文譯本為《App Inventor編程實例及指南》,發布在www.17coding.net以及百度閱讀上。中,指明它也可以用于開發完整的應用,但很難找到一款用它開發的完整應用,為此,我想試試看,它究竟能否用來開發真正的產品。想到了就做,于是有了本書的作品——俄羅斯方塊游戲。
多說無益,要記住,珍惜自己的創造沖動,想到了就做!
金從軍,在新浪微博及博客上自稱“老巫婆”,Adobe公司認證工程師和培訓師;曾從事大學教師、渠道總監、程序員、開發項目經理等工作;喜愛游戲與編程;2014年創辦17coding.net網站,開展與App Inventor相關教學及技術咨詢工作。