Meteor的PhoneGap包装器与具有WebView的本机应用程序相比有什么好处?



使用phonegap进行构建可能是一个令人沮丧的过程。使用phonegap层与仅仅是一个打开webview的普通本地应用程序的实际好处是什么?

我知道MDG的cordova构建在部分应用JS代码上添加了一些缓存,但由于新的流星版本每次都会更新整个JS文件,这不会有太多好处。也许有一些图像缓存?本地web服务器做什么?

如果你正在使用JS的本地api,那么cordova桥是有用的。

但是通过使用一个普通的原生应用程序,你可以获得所有的构建稳定性,并且只需打开一个webview就相当简单。JS桥也可以很容易地访问任何本地api。

有各种各样的phonegap插件,但大多数都是围绕本地sdk的包装,引入的只是泄漏问题(例如让facebook登录与phonegap一起工作,然后是流星)

我已经构建了一个原生android包装器,它是~1MB,使用最新的chrome webview,并且可以很容易地扩展到任何原生功能。

我想知道更多使用phonegap的好处,特别是千年发展目标在这方面投入了时间。

更新:流星论坛讨论https://forums.meteor.com/t/cordova-benefits-vs-custom-native-wrapper/5356

Meteor在一些修改中使用Cordova作为其包装器:

  • 一个web服务器,所以你的应用程序是从http://meteor.local而不是file://www/…
  • 通过热代码推送从服务器更新文件的自动更新器。
  • 一些修改,允许登录与facebook/twitter/谷歌弹出一个UIWebView登录作为一个更好的UI替代打开浏览器。这曾经是个非常糟糕的问题。

web服务器允许你为你的应用程序使用典型的铁路由。你可以路由到/, /page/:id而不是index.html。这使得开发"混合应用"变得非常容易。在本地使用URI方案

也有一些修改设置使用app-config.js来生成config.xml。

所以除了这些phonegap包装器本身之外,你还可以得到一个典型的Meteor风格的应用程序,在那里你可以使用Meteor的代码和包,比如HTTP。

除此之外,其功能与cordova几乎相同。你可以使用meteor add cordova:<cordova package>@<package_version>

将cordova包添加到你的流星应用程序中

也有一些有趣的发展,如在iOS上使用WKWebView的能力,由于依赖file:// url,目前在cordova上不可能。WKWebView比UIWebView使用更少的资源,并提供更多的性能。在移动设备上非常有用。

最新更新