基于cocos引擎的多语言开发平台的研究与设计文献综述

 2022-10-19 19:14:24
  1. 文献综述(或调研报告):

随着信息化时代的发展,各种各样人性化的工具出现,为开发人员的程序开发带来了更多的便利,可视化编程这一概念也越来越流行。Sketchpad(又名机器人绘图员)是由Ivan Sutherland于1963年在博士论文中撰写的革命性计算机程序,它能让人与计算机通过图形迅速地进行交流,而不是必须键入文本化的状态[1]。这是对于可视化编程语言的第一个探索。

目前从网络上可搜集到的可视化编程语言有八十多种,而从九十年代起,就开始出现可视化编程环境的开发,它们被广泛地应用于编程教学领域。例如,Google开发的scratch,采用视觉化积木组合式程序设计概念,通过拖曳﹑组合各类积木的方式,来取代直接编写程序代码,直接用鼠标以点选﹑拖曳各类积木的方式将指令移到程序脚本区[2];Code.org推出了AppLab,将JavaScript语句封装在图形块中,一个块代表一句JavaScript语句,用户可以使用块并自行填入数据来形成逻辑,或者切换为文本编辑模式,直接自己输入语句,这帮助了学生、妇女和代表性不足的少数群体学习JavaScript编程,并且可以真正接触到JavaScript语法;CodeMonkey是一款适用于8-15岁青少年的编程入门基础课程,它会模拟一个场景,让用户使用“step”“turn”“left”“right”等词汇,指导游戏中猴子的行为,完成给定的任务,尽管在这里用户使用的是文本化的编辑方式,但是此处的文本等同于scratch中封装了特定功能的图形块,只是以指定的短语表示,编辑器会将用户写的一段文本翻译成程序能读懂的脚本语言。此外,在教育其他学科方面,也有使用可视化编程环境的例子,科英布拉大学尝试使用scratch用于教学科学课程[3],而Milo,,一个完全为数据科学教育设计的可视化编程环境,将用户创建的块生成等效的JavaScript源代码,在浏览器中运行,帮助非计算机科学的用户理解机器学习的概念[4]。此外,基于可视化编程的特性,有人已经尝试将其与硬件结合,例如目前有基于单片机与scratch的互动动画平台[5].可以说,可视化编程主要应用于编程教学领域,同时也向其他科目的教学发展,并且不仅局限于软件,已经开始与硬件结合。

这些平台大部分使用图形化的块语言,使用图形块造成的问题有:图形块占据的空间较多,如果逻辑复杂,将会使用非常多的空间,难以维护和修改;平台的功能越多,提供的图形块的种类、数量就越多,查找起来会变得不方便;图形块之间的连接会有限制(如A类的块后面只能接B类的块),但是从图形上难以发觉这种限制。如果使用文本化的语句来替代块的话,就需要用户记忆语句,虽然比记忆编程语言的语法简单,但是也需要不少的记忆量,而且很容易出错。

就开发商业化项目的可视化编程软件来说,目前没有广泛使用的软件。以前曾有的ARS、雅奇MIS、Tersus[7]等软件在现在看来已经十分落伍,随着编程工具的发展,编程愈加简便,相比之下这些软件操作起来十分耗费时间,且不能满足现在越来越丰富的画面的绘制需求。

目前而言,常规的开发流程仍旧是“项目设计——美工——程序编写——测试”[8],这一流程需要多人协作与沟通,在一些程序简单、页面丰富的开发中,会耗费过多的时间。所以,对于逻辑不是那么复杂且画面较多的开发项目来说,如果有一款工具,可以让美术设计师在设计完图样后,自行进行简单的开发,且保证代码不会出错,无疑会节省下许多沟通与开发的成本。这就是基于Cocos引擎的多语言开发平台存在的目的。

该平台运用了可视化编程的概念,将源代码封装在图形块中,用户(美术设计师等)只需组合图形块就能完成所需的功能,并且在由Cocos引擎渲染的界面中观察效果。其中,图形块的使用使得单个的图形块可以对应于多种脚本语言,只要预先用多种语言写好单个图形块的逻辑,就能把多个图形块的组合翻译成多种语言,便捷地获得多种语言的脚本,满足Cocos引擎对Lua和JavaScript语言的要求,也有利于需要时更换不同语言的引擎。

平台使用的Cocos引擎以“层”为单位进行规划,可划分为“显示层”、“控制层”、“游戏层”和“其它层”,运行时会随着循环一次次判断是否触发事件[9]。在此关注的是反应性的系统,系统专注于处理事件流,会识别指定的事件并做出反应[10]。

为了更好地使块工作区与Cocos引擎渲染的预览框进行数据交互,我们使用Vue-cli来进行编辑器界面的编写。Vue 的响应为双向绑定数据,实时反映数据的真实变化,并映射到数据源上,避免了前端页面开发中 DOM 选择器繁杂的操作,也不需要执行所有数据的循环监测[11],简化了 Web 前端开发流程,降低了开发难度,提高了前端开发效率,缩短了开发成本和周期[12]。Vue使用MVVM框架,抽象出独立地数据层,用Model(模型)管理着应用程序的数据,可以在Model中定义数据修改和操作的业务逻辑[13]。此外,Vue功能强大,除了脚手架本身的功能,还有一个丰富的官方插件集合,集成了前端生态中最好的处理,使得很多处理在前端就完成,减少HTTP请求、优化HTML和CSS[14]。

在对各种可视化编程环境的探索中,可以发现,大部分都是用于教育领域——帮助学习编程或者是弱化语法、编程语言在学习某内容的作用,目前主流是编程教育方面,但也开始扩展到其他领域的教学。随着越来越便利的编程软件的出现以及编程的普遍化,相信可视化编程将来会在更多领域起到作用。

就当下而言,不可忽视的是,尽管scratch等教育软件也提供了在网页上发布自己的游戏、故事的功能,但是他们往往是以网页的形式运行于浏览器端,并且是非商业化非盈利性的,主要是用于交流分享。此外,这些软件提供的图形块的功能以及图片等素材是有局限的,毕竟他们面向的用户是学习编程入门的青少年儿童。所以,本课题专注于研究可以用于开发商业化项目的可视化编程开发环境,提供一个基于Cocos引擎的多语言桌面开发平台,减少网页端带来的延迟,优化性能[15]。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。