我是一名 React 开发人员,偶然发现了这项新技术。在网站上,我发现了一些有趣的东西。有人能澄清一下 Royale 与其他应用程序框架(如 React、Angular 或 Vue)的不同之处吗?
3 回答
@Yalamber 建议 Apache Royale 使用 ActionScript,并暗示与 React 和其他人不同,它没有 JavaScript 框架。事实上,当您在 Apache Royale 中开发时,您使用 ActionScript 和 MXML 编写代码,并且可以合并现有的 JavaScript 库。但是当您准备好编译代码时,它会编译为 JavaScript 并作为 JavaScript 运行。
就我而言,使用 Royale 有两个好处:首先是开发过程(对我来说,无论如何)比许多 JS 框架更清晰、更容易导航。其次,我有很多遗留的 AS 和 MXML 代码和编码模式,我可以在 Royale 中重复使用这些代码,只需进行相对较小的更改。
Apache Royale 中使用的语言是 MXML 和 ActionScript 3 - 因此比普通的 JavaScript 更加结构化。如果您正在查看 Vue.js 和 Angular(我对 React 不太熟悉)之类的东西,那么您正在使用模板创建组件,然后在 JavaScript/TypeScript 中添加功能。在 Royale 中,您可以在 ActionScript(和/或 MXML)中创建组件,并且功能是用 ActionScript 编写的。
AS3 是一种相对强类型的语言,尽管它基于 ECMAScript。你会得到更多的结构(特别是比 JavaScript!),所以它可以更健壮,额外的类型检查和语法检查意味着你可以更早地消除一些潜在的问题。
Royale 基于 Adobe 在创建 Flex 框架(针对 Flash Player)方面的早期工作——Adobe 开源 Flex 和工具链,因此现在这些已更新,以便 MXML/AS3 代码可以编译为 SWF Flash Player 或普通浏览器的 JavaScript。因此,您使用 MXML/AS3 编写代码并生成无需 Flash Player 即可运行的 JavaScript 代码。
因此,整体方法比新的框架要成熟得多——特别是 MXML/AS3 是在企业 Web 应用程序中大量使用的成熟语言。Royale 也很灵活,因为它可以适应其他组件库,即您可以为按钮、数据网格等采用“内置”组件,或者您可以包装现有的 JavaScript 组件以便它们可以在内部使用皇家。
最后 - 如果您有一个现有的 Flex 应用程序,那么如果您要更新它以在没有 Flash Player 的情况下工作,那么这是一个非常好的技术选择!我们现在已经在 POC 项目中使用过它几次,它肯定比完全重写 Flex 应用程序更快/更容易。
Apache Royale 看起来像是一个为多个平台构建应用程序的工具,更像是颤振、反应式、离子/phonegap、电子等,并且似乎使用了 Action 脚本。React、Angular、Vue 是用于创建 Web/移动应用程序的 JavaScript 框架。