我一直在研究 PhoneGap,现在陷入僵局,需要一些建议。我知道PhoneGap本质上将html5、css、JS网站“转换”为“应用程序”以进行分发,这引出了我的问题:
为什么不能简单地在 Activity 中使用 webview 来做同样的事情并保持应用程序原生?
PhoneGap 的优势在于它提供的 API 使您的 HTML/javascript 能够与手机交互(例如相机、加速度计、媒体等)
这些 API 在多种设备(iOS、Android、WinPhone、Blackberry 等)上都是标准的。因此,您可以编写一组 HTML/javascript 并部署到多个平台。
如果您只是创建了一个 WebView,您将没有 PhoneGap API,您需要在您感兴趣的每个平台上构建容器。
好问题我也搜索过我,因为我们采用了 Phonegap 解决方案,我认为这对我们来说是错误的方式。
长话短说:如果您编写了一个具有 Web 开发人员技能的 UI,而不是需要了解本地语言并且它可以编译并准备好进行测试,那么这是非常正确的。Web 开发人员的需求更高=> 开发人员价格更便宜。
当客户想要一个里程碑 1的伟大创意时,它会向一些公司、自由职业者询问开发价格和时间。如果是带有 Phonegap 的非常基本的应用程序版本,您将拥有更少的开发成本(如果您的 Web 开发技能与平台开发技能相同,则关闭),WebView 排在第二位,最后一个是本机的。
客户对使用 Phonegap 的应用程序结果感到满意,并希望获得更多投资者,因此它将进行演示,他们要求更多功能。
在里程碑 2中,您将添加一些功能。有些是简单的命令行安装,你明白了,有些不是。也许你会不走运,因为你想要 2 个现有插件和一些附加功能的组合。结论将是:你必须开发一个插件. 此时已经是一个非常大的审讯标志了:Phonegap + Phonegap 插件或 WebView。如果您需要 5 个现有插件并且您有一些修改,那么仍然是 Phonegap。但是,如果您只需要 1 个插件,只需要您自己的,那么 Web 视图是正确的方法。还有一些情况使 Phonegap 结构无用。如果您开发 Web 文件和本机代码,Phonegap 下的版本控制系统也存在问题:有些在每次构建时都在重新生成,有些则没有。还是原生平台比较贵。现在开发了所需的功能。客户将为投资者制作演示,其中将通过此新功能看到执行速度。或者在这里他们需要优化,里程碑3:加速。
在优化、加速(里程碑 3)时,您将根据需要本机 GUI 来决定。毕竟现在用web开发的GUI你需要扔在栅栏边实现,也许有些部分甚至需要NDK来加速。没有办法在这里与Phonegap很好。但是您已经聘请了 Web 开发人员,或者与该公司签约。现在回到那个公司,可以制作原生代码的开发人员。他们不会从 0 开始,所以他们需要分析代码,重构,你的开发价格至少会上涨 50%,就像你从 0 开始使用 native 一样。
好问题,您仍然可以使用 webview,但您将无法访问本机功能,如铃声、相机等,但是,以这种方式完成的应用程序将被视为本机应用程序。