混合JavaScript移动的开发- Apache Cordova vs Capacitor with Ionic vs NativeScript vs React Native

guykilcj  于 2023-03-06  发布在  Ionic
关注(0)|答案(3)|浏览(228)

首先,希望这个问题不要太宽泛。从前端背景开始,我想开始学习一个与JavaScript相关的移动开发框架。**这里是第一个问题,我应该选择Apache Cordova还是Capacitor?**我在Phaser中使用的第一个(HTML5)游戏开发作为一个爱好项目,老实说不是最好的体验。我能感觉到为什么Apache Cordova是Stack Overflow年度报告中最讨厌的技术之一。

    • 接下来是第二个问题,我应该选择Ionic、NativeScript还是React Native?**React是"三巨头"中唯一一个让我感到不舒服的前端框架。我对Angular和Vue.js的体验相当不错,也希望在我的移动应用项目中使用其中的任何一个,因此我有点偏向于Ionic或NativeScript。另一方面,React Native拥有最多的GitHub明星。我想这可能是有原因的。
    • 那么最后一个,我是否可以组合以下任意一项:Apache Cordova/电容器,具有以下任一特性:Ionic/NativeScript/React Native或者有一些东西更容易工作,例如电容器和Ionic的组合?**同一家公司做这件事,因此我认为它应该是相对无缝的组合。
    • 编辑:**

最后一个-从我的移动应用程序的相同代码库,我被迫只使用离子PWA?

    • 编辑2:**

选择React Native + Expo是因为它丰富的生态系统、稳定的版本、流行度和开发工具,尤其是Apache Cordova让我抓狂。

pxy2qtax

pxy2qtax1#

在某种程度上,答案取决于你个人的经验/知识、个人喜好(你如何思考和工作),最后,你的项目可能有任何性能需求。和你一样,我也研究了所有这些框架,并使用了其中的大部分。任何一个最终都会完成工作。然而,我发现的一件事是,像 cordova 这样的框架,运行 Package 在本机应用中的Web视图,当您尝试推送它时,可能会出现一些明显的性能问题。使用实际本机组件并编译为本机代码的框架最终会更具响应性。但是,即使这样,您也会发现它与本机编写的代码不匹配的情况。例如,一年多前,我参与了一个项目,我们从React Native开始。一切都很好,直到我们开始尝试制作一些带有地理定位和用户交互的实时Map动画。那时,我们开始看到滞后和口吃,即使是在全新的设备上。对于那个项目,我们最终咬紧牙关,用纯原生语言重新开始。2我们只是对框架要求太多了。
目前,我正在用NativeScript和Vue开发一个项目。到目前为止,我对它非常着迷。和你一样,我也是VueJS的粉丝,主要是因为我喜欢VueJS和整体数据绑定的处理方式。我确实需要学习一些曲线和范例,但大约一周后,我开始迈出了一大步。也就是说,我还没有真正推动框架与复杂的动画。但它是一个成熟的框架,它是有很好的文件,并有一个活跃的社区(我几乎是立刻就加入了Slack工作区)。而且我非常喜欢它没有关于你是否应该使用/应该使用什么框架的意见。Vanilla JavaScript,React、Angular、Vue...它根本不在乎。
如果你真的很关心如何让其他开发人员熟悉这个项目,那么在未来,肯定会有更多的人熟悉React Native。再说一遍,任何一个称职的开发人员都应该能够毫不费力地开发一个新的框架。如果你正在考虑NativeScript,我建议您看一看Playground中的一些示例并浏览文档。我怀疑它会吸引您或排斥您。话虽如此,我真的对其他的框架没有任何抱怨,只是有些框架比其他框架更适合某些类型的应用。
祝你好运!

vuv7lop3

vuv7lop32#

我也有同样的问题。我的答案是:
1.电容器,毫无疑问。

  1. NativeScript上级其他。纯本机代码,让你的代码共享之间的Angular 网络和移动的。我的选择。
    1.你可以,但那真的取决于情况。对于一般用途(表格),任何都可以。我建议,选择一个,并坚持尽可能多的。
    1.你有本机脚本代码与Angular (工作出色!)和电容器共享。
    我想我之所以选择电容器是因为我的项目的性质:简单的业务从应用程序的网络和移动的与单一代码-〉简单的webview将做。
    PS:***Quasar***是唯一的选择,如果你需要解决所有这些目标。如果你只指网络和移动的,他们中的大多数都可以,真正取决于你的项目需要和偏好。
qhhrdooz

qhhrdooz3#

这是正确的,NativeScript有自己的iOS/Android原生组件。它不是其他框架的 Package 器。Telerik从头开始构建它。它是一个独立的生态系统,目前是6.x版本。所以它已经存在了一段时间,并正在积极开发和维护(这并不保证它不会在某个时候消失)。
对于像PWA这样的东西,离子或Flutter是选项。今天早上我通过StackShare偶然发现了一个新的,叫做Quasar,看起来很有趣但实际上,您可以从用于构建移动的应用程序的相同NativeScript代码库构建PWA(https://www.nativescript.org/blog/how-to-build-a-pwa-an-ios-app-and-an-android-app-from-one-codebase)。所以似乎不缺工具,这很好,因为它给了你基于你喜欢如何工作的选择。

相关问题