本文要点
- 尽管WebAssemly还在积极开发当中,并且仍然比较小众,但这项技术本身已经足够成熟,足以用来将诸如桌面平台游戏编辑器之类的复杂应用程序移植到Web上。
- 将桌面平台软件移植到WebAssembly的好处包括:移植的软件可以跨平台交付,可能会吸引更多的目标受众等。
- 与原生桌面应用程序相比,前端框架和工具可简化UI开发并缩短反馈周期。
- Web还带来了新的可能性,例如深层链接以及丰富的UI生态系统的帮助,这些可能会极大改善用户体验。
- 开发人员必须特别注意内存管理、测试和键盘操作,以减少移植过程中出现的问题。
谷歌软件工程师和GDevelop游戏编辑器的创建者Florian Rival,最近在布拉格举办的ReactiveConf 2019大会上发表了演讲。他在演讲中讨论了将一款原生桌面平台游戏编辑器通过WebAssembly移植到浏览器中的经验教训。
InfoQ采访了Rival,询问了他在这一过程中所遇到的技术挑战、从移植中获得的收益,以及开发人员在考虑使用WebAssembly移植桌面应用程序时可以参考的技巧。
InfoQ:首先介绍一下GDevelop吧。它的目标受众是哪些?GDevelop对于自身受众的价值主张是什么?它为游戏创作者解决了哪些痛点?
Florian Rival:GDevelop的理念是让初学者到经验丰富的游戏开发人员都可以创作游戏。GDevelop允许你使用视觉事件(由条件和动作组成)来创建游戏逻辑。你还可以通过组合预定义和可自定义的行为来构建游戏对象。
这样以来就消除了学习编程语言语法和习语这一入门门槛。对于非开发人员来说,这是一种通过直观界面快速上手并开始创作的方法。很多人喜欢沙盒游戏。GDevelop是一个沙盒——但是你用它可以做的事情是无限的。
对于经验丰富的游戏开发人员来说,你将获得一个集成的开发环境,可以使游戏的创建工作非常快速且高效(事件被转换为“真实”代码),并且可扩展。