前言

在20岁之前,我读书从来不读前言,视前言为聋子的耳朵——配搭儿;在30岁之前,在读书时,我曾经硬着头皮去读前言,试图搞清楚前言里面到底有什么,但很难从头到尾地读完;到了30岁以后,我开始慢慢理解前言的作用,为了强迫自己读完前言,我采用朗读的方式,在开始读一本书之前,把前言从头到尾大声地读出来,家人曾经为此取笑我;到了40岁之后,我开始很自觉地在读一本书的正文之前,先阅读前言。在我将近50岁的时候,我要为自己的第一本书写前言了,因此很忐忑读者会不会跳过前言,尤其是年轻的读者,会不会像我当年一样,对其视而不见。

十二年前,我刚刚开始学习编程,我问我的先生,如何能够成为一个编程高手,他说,完整地做过一个项目,就能炼成高手。在接下来的时间里,我先后完整地做过若干个项目,包括一个销售管理工具、一个物流企业的业务管理系统,若干个游戏、教学以及信息管理等类型的应用,先后使用过VB、delphi、AS3、JavaScript等语言,最近开始接触App Inventor,并试图用它来写安卓应用。时至今日,我问自己:我是高手吗?如果说是,会让自己内心倍感空虚;如果说不是,这么多年下来岂不是虚度了年华?其实高手不过是虚名而已,十二年的代码生涯不算长,但依然有经验可供分享。

编程算是一门手艺,既然是手艺,那必然是熟能生巧,做过的项目越多,遇到的问题、麻烦也越多,锻炼的机会就越多,手艺人的技巧也就越发娴熟,这是真的。经过无数次的编写代码、测试、纠错,无数次地山重水复而后又柳暗花明,我们的大脑里储备了大量的锦囊,于是难题和麻烦会变得越来越不堪一击。

编程语言不是这门手艺的根本,它只是一个工具,使用工具的人才具有无限的创造力,最难能可贵的是你的创造冲动!你可能是一位家长、一位老师,希望为孩子或学生制作一个背单词的软件,或者一个易错题的题库,让学生能够轻松愉快地学习;你可能是一个销售员,要管理你的客户信息、日程安排以及项目进展情况,你不想把这么多重要的信息分别保存在不同的地方;或者你是一位家庭主妇,希望将家庭的收入支出管得井井有条,别人开发的账本管理软件用起来总是不顺手......这些其实都是我曾经有过的冲动,有些冲动已经付诸实现,就是前面提到过的各种项目和应用,以及本书中完成的作品,有些冲动还一直藏在我的心底,期待有朝一日能够变成现实。

说到App Inventor,它的目标定位是编程的初学者,或制作原型产品的专业人员,虽然在App Inventor发明人参与编写的教材中,指明它也可以用于开发完整的应用,但很难找到一款用它开发的完整的应用,为此,我想试试看,它究竟能否用来开发完整的产品。想到了就做,于是有了本书的作品——俄罗斯方块游戏。多说无益,要记住,珍惜自己的创造冲动,想到了就做!