2018年春节期间,张路用了两周的时间汉化了2018版的App Inventor ,并在ai2.17coding.net进行在线测试,试运行2周后,正式对外发布。
2018版最显著的变化是增加了一套地图组件,如下图所示,其中包含了7个功能组件,可以在地图上添加标记,用手势拖拽、缩放及旋转地图,等等。该地图组件的数据来源于美国的地图服务商OpenStreetMap以及美国地质调查局,在2018年时,国内用户可以顺畅地访问这些地图服务。
为了便于开发者使用这些组件,我快速地翻译了地图组件的官方参考手册,并分7期发表在微信公众号里。
其实个性化的地图应用是很有前景的一类应用,至少是我个人非常感兴趣的应用。此前在编写《开发训练营》时,我利用高德地图提供的webAPI,开发了一个加油2017的应用,但是功能受限,只能生成静态地图。这次官方推出了如此功能丰富的地图组件,真是开发者的福音。可惜好景不长,不知从何时起,国内用户就无法访问这些服务了。我是从近两年间读者反馈中得知这一情况。我曾经与张路讨论过,是否可以利用国内的地图服务,开发一组类似的地图组件,以插件的方式添加到App Inventor中。张路说,开发是可以的,但是需要用户自己去申请开发者权限。这件事情或许可以作为未来的一项任务。
2018年4月2日,2018离线版发布。在制作离线版期间,多次收到用户询问,提问者大多是中小学信息技术老师,他们关心离线版的用户注册、登录功能。为此张路特别为这一版本增加本地注册、一键试用、修改密码等功能,并开发了用户注册的API接口,老师们可以自己写一段脚本,访问该接口,实现用户信息的批量导入、与第三方用户认证系统整合等功能。
离线版包括服务器版和个人版两个版本,与离线版同时发布的还有桌面版AI伴侣(分为32位及64位两个版本)。无论是离线版的App Invnetor,还是桌面版的AI伴侣,它们的主要用户都是中小学信息技术教师。大家知道,国内的大多数中小学不允许学生带手机上学,而且有相当数量的学校机房不允许学生使用互联网,因此,为了开课,老师们不得不在学校机房内自己搭建局域网的AppInvnetor服务器,这就是离线版的功能。在无法用手机测试程序的情况下,官方提供的安卓模拟器运行效率低下,而且连接不稳定,因此,测试环节成了老师们课堂上最头疼的事情,桌面版AI伴侣的出现,为课堂教学的测试环节提供了一种新的可选方案。
为了帮助老师们顺利搭建自己的App Inventor服务器,我先后编写了多篇文章,介绍2018离线版的使用方法。这些文章受到了老师们的欢迎,赢得了许多点赞和打赏。
2018年的另一项重要成果是App Inventor与掌控板的结合。2018年11月,张路收到了谢作如老师寄来的掌控板,随即他们开始探讨掌控板与手机协同工作的解决方案。张路建议以App Inventor的网络数据库(tinyWebDB)组件为媒介,为掌控板开发一个专用的服务模块——tinyWebIO,使得熟悉App Inventor开发的用户可以很容易地开发出自己的安卓应用,实现手机与掌控板之间的通信及控制。后来这个模块预置在掌控板的固件中,谢老师为此特地发表文章《让App inventor和掌控板远程互动起来》(很神奇的是,我并未在文章中添加谢老师文章的链接,但点击文章名称后,会自动打开这篇文章,这或许是微信公众号的新功能?)。
2018年11月30日,我和张路各自发了一个微信朋友圈记录这一事情,在他看来,这是一个项目,而在我看来,他有些贪玩儿。
为了配合他们两位的工作,我也编写了四篇文章,介绍TinyWebIO的使用方法。
AppInventor+掌控板:为硬件编程(1)
AppInventor+掌控板:为硬件编程(2)
App Inventor+掌控板:远程感知与控制
TinyWebIO服务协议详解
时光荏苒,六年过去了,由于杂事繁多,加之我个人对硬件编程的本能抗拒,此后就没有更多地关注掌控板的应用情况。这次编写编程教学第一季系列文章,再次拾起了这段往事,加之前几日与MicroBlocks团队的小朋友们交流,似乎又唤起了对硬件编程的一丝兴趣。
|