在第一部分的末尾,我说过,我使用StageXL库替换Dart是GMS。 在这篇文章中,我将讨论原因。
正如我所说,我是一名Web开发人员,是我的日常工作。 对于这项工作,我们通常会创建Web应用程序来替换客户旧的和过时的工作流程。 我们保持简单,通常选择带有Angular JS前端的PHP MVC后端。
- 岗位#X Golem Arena岗位Mortem —要失败还是不失败,这就是问题所在。
- 黑暗森林,在10天内完成的游戏
- Sputter库,用于带有Dart的flutter和html5(1)
- Gamee-前端Hrou II
- Pushy&Pully开发更新#7
即使我每天都在工作中使用它,并且在工作中严重依赖它,但我并不是很喜欢JavaScript。 它有……问题。
JavaScript有一个很小的子集,被认为是“好”。 这让我很困扰。 我知道JavaScript不能仅仅删除“不良”部分,因为它必须保持向后兼容性,但我不必喜欢它。
我也不喜欢在Web开发中唯一适用于所有浏览器的语言是JavaScript。 这与计算机应用程序相反,在计算机应用程序中,可用的语言数量令人难以置信。 C,C ++,Java,C#,Rust,Go,Python,清单不胜枚举。
当然,如果愿意,您可以使用汇编对应用程序进行编程,以获得最接近金属的体验,但是由于有更多选择,您可以随意使用。
我喜欢将JavaScript视为网络的汇编语言。 诚然,它甚至不比汇编编程难,但它是Web所能达到的最接近的金属(至少到目前为止,目前正在进行的工作实际上是在为Web进行汇编)令我很兴奋的WebAssembly)。
就像我不会选择在汇编中创建新的Windows程序一样,我喜欢选择比JavaScript更适合我的风格的东西。 在工作中,我坚持使用JavaScript,但这并不意味着当我自己编程时就必须坚持使用JavaScript。
Dart是几年前宣布的,一见钟情。 它是由Google创建的,可以更好地替代JavaScript。 我个人认为,这是对Oracle的Java威胁的回应。 谷歌在Java上投入了大量资金,看起来Oracle会让他们后悔这一决定。 为了对冲赌注,他们决定启动一些语言项目来解决当前和将来的问题。
我马上就去了Dart,因为他们做了很多事情。 它是为提高速度而设计的。 它具有更强大的字体系统。 它具有模块。 它没有疣。
Google刚开始就制定了宏伟的计划。 Dart将集成到Chrome中,以更快地运行。 Dart将成为网络上的通用语言。 这些计划雄心勃勃,最终站不住脚。 但并非所有都丢失了。
庞大的计划失败了,因为吸收的规模并不大且立即。 但是,这使团队能够将精力重新集中于制作出色的语言。
就我个人而言,出于某些关键原因,Dart确实具有吸引力。 一种是内置的承诺支持。 与Angular合作的任何人都对诺言很熟悉。 Promise使异步编程变得更加容易,Dart内置了它。
对于任何JavaScript项目,您都需要决定如何实现承诺:它们是与Angular之类的框架一起提供的,还是可能包含一个库。 但是,其中有多少个图书馆呢?
Dart使用标准库解决了这个问题。 所有代码都使用相同的标准。 您不必担心不兼容的问题。
然后他们通过异步/等待使承诺超出了预期。 如果您还没有听说过,那就是范式转变。 它使承诺更加容易。 昨天我在工作时写一些代码,哭了一点,因为我想使用异步/等待。
另一个很棒的功能是标准的程序包管理器和任务运行器。 与JavaScript不同,在npm和bower之间以及在grunt和gulp之间会感到费劲,使所有内容以标准方式协同工作是一种新鲜的呼吸。
仅几件事情是杰出的。 该模块系统做得很好,使组装更容易。 另外,JavaScript互操作系统最近也进行了大修,以使其更容易“到达” Dart之外并与JavaScript对话。
对我而言,Dart作为JavaScript的替代品非常有意义。 我知道您有很多选择,您都选择了“从JavaScript编译”路线,但是Dart做到了所有正确的选择。
这篇文章已经足够长了。 在下一个中,我将讨论为什么选择StageXL作为游戏框架,以及计划如何构建和分发手机游戏。
下一页:第3部分:拥抱StageXL