分享

《App Inventor开发实战》后记

 老巫婆图书馆 2021-11-25

时隔五年再次使用 App Inventor 编写这些或熟悉或全新的应用,感觉自己对程序又有了新 的认识。这里借新书出版的机会,与大家分享一下新感悟。 

编写一个应用,如同创造一个世界

根据中国古代神话,先有盘古开天辟地,后有女娲造人,这样才有了世间的万物,包括作为万物之灵长的人类。那么编写应用如何创造世界呢?在应用的世界里,开发者创造的不是天地人,而是时间、空间和数据,以及数据在时间、空间中的变化。 

这样的说法似乎有些抽象,具体来说,在创建一个应用之前,开发者需要考虑三件事:一是空间因素——这个应用的外观是什么样的,即用户界面如何设计;二是时间因素——用户对应用的操作顺序是怎样的,即应用的使用流程;三是数据的组织及呈现方式,即数据的结构以及数据在用户界面上的展示。只有当这些因素确定下来之后,开发者才开始考虑程序的编写方法, 只不过,程序是由概念组成的抽象世界,而开发者是这个世界的创造者。 

“无名,万物之始;有名,万物之母”

一切创造性思维活动都必须从给事物命名开始。命名贯穿于开发过程的始终,从项目、屏幕、组件、素材文件到变量及过程,都需要命名。所谓“名不正,言不顺”,命名会影响开发者的思维。好的命名让思维变得犀利而顺畅,而词不达意的命名会让思维陷入泥沼。因此,命名绝不仅仅是编程习惯的问题,它在一定程度上塑造了开发者的思维能力。 

思维能力包括两个方面:一方面是克服抽象追求具体,即如何面对众多相似的事物,精准地识别独特的个体;另一方面是摆脱具体寻求抽象,即面对众多相似的事物,准确地提炼其共同特征。这种精准识别与准确提炼的能力,就体现在命名之中。本书案例中的每一个命名都经过了反复的推敲,力图确保程序具有良好的可读性。作为读者,你或许没有留意这些命名,或许认为这些命名理所当然,但是,待到有朝一日你亲自开发一款应用时,相信你会有切身体会。

创建应用就是构建开发者自身的知识体系

创建应用,既是创建一个外在的作品,也是在构建开发者自身的知识体系。本书的写作就是一个鲜活的例证。

“节气钟”是笔者酝酿多年的一个应用,迟迟没有动手的原因有很多,其中最主要的原因是笔者对农历及节气数据的恐惧,那些不知所云的十六进制数让人望而生畏。这次,为了给读者一个明确的交代,也为了实现自己多年的开发夙愿,笔者搜集了网络上关于这些数据的相关论述,并将数据与真实的万年历进行比对,最终揭开了隐藏在数据背后的秘密。对这些数据的认识,也为笔者的思维打开了一扇新的窗。 

不过,困难还不止于此。关于节气,起初笔者误以为 24 个节气在时间上等分一个太阳年,但开发过程中发现,在节气日那一天,节气针无法精确地指向节气日。经过阅读相关文章,笔者才意识到 24 个节气是等分空间——地球的公转轨道,而不是等分时间——一个太阳年。这样的知识,如果不是亲自开发这款应用,恐怕会永远成为笔者知识体系中的盲点。因此,毫不夸张地说,开发应用的过程也是开发者构筑自身知识体系的过程。 

笔者在旧版的后记中曾经说过,创建应用、编写图书这类活动最大的受益人往往是笔者自己,新版完成之后,这种感受有增无减。希望本书的读者在未来的某一日也能够通过创作自己的作品对此有所体会。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多