Closed. This question needs to be more
focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过
editing this post专注于一个问题。
上个月关闭。
我非常需要您的帮助,在此先感谢大家。
因此,我使用Java和spring框架mybatis开发了此Web应用程序
与mysql数据库和javascript,jquery,html5,css +许多不同的库和API。
而且我需要将其转换为一个应用程序(与webapp完全相同的功能以及一些本机电话操作,例如推送警报)。
同时需要android和ios,而且时间紧迫,因此我正在寻找最有效的方法,但是我对移动设备(除移动Web之外)的编程完全陌生。
该Web应用程序已于大约2年前启动,因此我们已经拥有大量数据和用户,并且该应用程序必须与现有系统(数据库和材料)互连。
似乎在这种情况下,混合应用就是这种方式,我发现有太多不同的类型和方式,我感到很困惑。
反应本地人? Ionic,PhoneGap,Cordova以及所有这些东西似乎都有各自的优点/缺点,但很难决定哪一个最适合我的情况。
我们将不胜感激整个过程中的任何建议,想法或建议,我将为您一生为这个在恶劣条件下工作的可怜的Web开发人员的慷慨而祈祷。
谢谢。
首先让我纠正一下
React Native不是混合的。它使用的是本机UI,请考虑您是用JS而不是Java或Swift编写的,它会生成本机UI。它在webview中不起作用。
另一个是html,带有javascript,您可以调用javascript监听器,而js监听器则可以调用本地Java等。ui元素仍然是HTML,并且可以在webview中使用。
如果您的api定义正确,并且您熟悉angular.io(也输入脚本)
那么您可以选择离子型。
Cordova是使用Cordova的API的主要平台,离子或电话间隙框架。
优点/缺点是根据我的移动体验得出的我自己的观点。
反应的优点
使用Native UI响应Native。因此它具有高性能
React Native基于JavaScript编写的ReactJs。
React的缺点
它是如此灵活,没有预先定义的结构
即使说使用基本javascript比打字脚本更容易,使用React开发也不是我的安全区域。
您不能直接使用现有的html。您需要将所有这些都转换为ui组件
对于ios和android,您将被迫使用其他平台基础功能(例如:到达摄像头等)
定位元素很困难(样式用法与css不同,熟悉但有所不同)
离子(或基于音隙或其他cordova的)的优点
您可以轻松使用现有的HTML
您可以使用角度的力量。
目录结构定义明确,并且易于使用的组件
您可以使用自己的CSS,轻松实现梦想;)
离子的缺点
由于它不是本机,因此会出现性能问题
TypeScript很好,我喜欢它,但是您需要了解它(基本的js知识可能还不够,您需要进行练习)
框架更新很麻烦(例如:ionic 3-> 4很难找到2-3:D的正确库)
如果我是你,我会用离子4做到这一点。