Dan*_*cki 13 cordova ionic-framework nativescript react-native capacitor
首先,希望这个问题不要太宽泛。来自前端背景,我正在考虑开始学习与 JavaScript 相关的移动开发框架之一。这是第一个问题,我应该使用 Apache Cordova 还是 Capacitor?第一个是我用于 Phaser (HTML5) 游戏开发的业余爱好项目,老实说,这不是最好的体验。根据 Stack Overflow 年度报告,我能感觉到为什么 Apache Cordova 是最令人讨厌的技术之一。
然后是第二个问题,我应该使用 Ionic、NativeScript 还是 React Native?React 是“三大”中唯一一个我目前感到不舒服的前端框架。我在 Angular 和 Vue.js 方面的经验相当积极,我也想在我的移动应用程序项目中使用其中的任何一个,因此我有点偏向于 Ionic 或 NativeScript。另一方面,React Native 拥有最多的 GitHub star。我认为这可能是有原因的。
那么最后一个,我可以将以下任何一个组合:Apache Cordova/Capacitor 与以下任何一个:Ionic/NativeScript/React Native 或者有一些更容易工作的东西,例如 Capacitor 和 Ionic 的组合?同一家公司这样做,因此我认为它应该是相对无缝的组合。
编辑:
最后一个 - 为了从我的移动应用程序的相同代码库制作 PWA,我被迫只使用 Ionic?
小智 8
在某种程度上,答案将取决于您自己的个人经验/知识、个人偏好(您的思考和工作方式),最后取决于您项目可能具有的任何性能要求。和您一样,我也研究了所有这些框架并使用了其中的大部分。他们中的任何一个最终都会完成工作。但是,我发现的一件事是,像 Cordova 这样的框架运行包装在本机应用程序中的 Web 视图,当您尝试推送它时,可能会出现一些明显的性能问题。使用实际本地组件并编译为本地代码的框架最终将更具响应性。但是,即便如此,您还是会发现它与本地编写的代码不匹配的情况。例如,一年多前我参与了一个项目,我们开始使用 React Native。一切都很好,直到我们开始尝试使用地理定位和用户交互来制作一些实时地图动画。那时,我们开始看到延迟和卡顿,即使在全新设备上也是如此。对于那个项目,我们最终咬紧牙关,以纯原生的方式重新开始。我们只是对框架要求太多。
目前,我正在开发一个使用 NativeScript 和 Vue 的项目。而且,到目前为止,我对它感到非常头晕。和你一样,我也是 VueJS 的粉丝,主要是因为我喜欢 Vuex 和整体数据绑定的处理方式。肯定有一些学习曲线和范式可以让我了解,但一周左右后我开始大踏步前进。话虽如此,我还没有真正用复杂的动画之类的东西来推动框架。但它是一个成熟的框架,它有很好的文档记录并且有一个活跃的社区(我几乎立即加入了 Slack 工作区)。而且我非常喜欢这样一个事实,即它没有关于您是否应该使用/使用什么框架的意见。Vanilla JavaScript、React、Angular、Vue ......它只是不在乎。
如果您完全担心在项目中增加其他开发人员,那么将来肯定会有更多人熟悉 React Native。再说一次,任何称职的开发人员都应该能够在没有太多困难的情况下开始使用新框架。如果您正在考虑使用 NativeScript,我建议您查看 Playground 中的一些示例并翻阅文档。我怀疑它要么吸引你,要么排斥你。话虽如此,我对其他任何框架都没有任何抱怨。有些比其他应用程序更适合某些类型的应用程序。
祝你好运!
小智 5
没错,NativeScript 有自己的 iOS/Android 原生组件。它不是其他框架的包装。Telerik 从头开始构建它。它是一个独立的生态系统,目前版本为 6.x。因此它已经存在了一段时间,并且正在积极开发和维护(这并不能保证它不会在某个时候消失)。
对于 PWA 之类的东西,可以选择 Ionic 或 Flutter。今天早上我通过 StackShare 偶然发现了一个新的,名为 Quasar,它看起来很有趣(https://quasar.dev/)。但您实际上可以从用于构建移动应用程序的相同 NativeScript 代码库构建 PWA ( https://www.nativescript.org/blog/how-to-build-a-pwa-an-ios-app-and- an-android-app-from-one-codebase)。因此,似乎并不缺少工具,这很好,因为它为您提供了根据您喜欢的工作方式进行选择的选项。
小智 5
我在这里挣扎。我的回答:
我想我正在进入 Capacitor 是因为我的项目的性质:使用单一代码从适用于 Web 和移动的应用程序的简单业务 -> 简单的 webview 就可以了。
PS:如果您需要解决所有这些目标,Quasar是唯一的选择。如果您仅指 Web 和移动设备,那么它们中的大多数都可以使用,并且实际上取决于您的项目需求和偏好。
| 归档时间: |
|
| 查看次数: |
8015 次 |
| 最近记录: |