2020年MIT App Inventor项目开发总结
原文作者:埃文.巴顿(AppInventor项目首席软件工程师)
原文日期:2021年1月12日
在过去的一年里,我们向App Inventor开源代码库共进行了199次提交,其中包含来自MIT团队之外27位贡献者的88次提交,一共发布了13个版本,AI伴侣也更新了7次。
这里我们要特别感谢BeksOmega,作为一个高产的外部贡献者,他今年贡献了28项成果。同时还要感谢@elatoskinas、@mark-friedman以及@fturbak,他们在GSOC 2020活动期间参与了指导工作。
一、与安卓系统有关的功能改进
2020年对App Inventor的几项重大改进包括,在块语言中增加了一个新的数据类型——字典类型(键值对——译者注),并支持将JSON及XML格式的数据解析为字典;在设计视图中增加了组件的复制粘贴功能,这样可以快速添加组件,且添加的组件具有相同的属性值;在地图类组件中,增加了一个导航组件。
2020年夏天,我们针对AndroidSDK29(Pie),对App Inventor进行了改进,以便使其开发的应用能够适应谷歌商店的要求。同时,我们又针对运行在Chromebooks上的版本进行了改进,增加了连接Chromebooks选项,当用户在Chromebooks上开发应用时,会自动启动伴侣应用,并与开发中的项目进行连接,实现对项目的预览。
为了适应新的开发环境,我们针对触摸屏(如平板电脑)改进了App Inventor的编辑器,当人们在Android或iOS设备上进行开发时,可以采用分屏模式,以便可同时查看浏览器和AI伴侣(此项功能仍处于测试阶段)。
去年我们还发布了新的展厅模块。展厅模块最早发布于2014年,但仅限于在ai2.appinventor.mit.edu上使用。新的展厅模块可以在多个App Inventor实例中使用,除了ai2.appinventor.mit.edu外,还可以在ai2-test.appinventor.mit.edu及code.appinventor.mit.edu中使用。新的展厅模块具有多人协作功能(类似于Scratch),教师可以用它来接受学生提交的作品,便于进行教学管理。
在功能扩展方面,我们发布了人工智能插件,该插件基于TensorFlow.js,可用于对象识别,以及训练自定义的视觉或听觉类,也可以用于姿势识别。我们还发布了插件模板库,开发者可以基于这些模板创建自己的插件,不必一切从头开始,从而提高了开发效率。
二、关于GSOC(Google Summer of Code——谷歌代码之夏)
2020年有6个学生参与了GSOC中与App Inventor相关的活动,他们参与的项目如下:
Android App Bundles – 该技术用于将应用以Bundle形式发布到谷歌应用商店。
Platform Style Preview – 在设计视图中,基于不同的平台给出不同的预览样式。
Dropdown Blocks – 选项下拉列表块,用于保存素材文件名、屏幕名称等常量值,通过限定选项,来避免输入错误。
Tab Arrangement – 分页布局组件,用于对用户界面组件进行分页管理。
Menus – 自定义菜单组件,由侧边栏及浮动按钮组成。
Visible Component Extensions –允许开发可视类型插件(原来只允许开发非可视插件)。