对此有不同的反应,也有很多与此相关的答案,但我会就我所看到的问题说几句话。
几个有用的链接
http://mashable.com/2012/09/12/web-vs-native-apps/
http://www.wired.com/insights/2012/11/native-apps-vs-mobile-web /
少数框架:jQuery Mobile、Sencha Touch、Telerik Kendo
还要查看 Phonegap/Cordova。
乍一看,制作一个可以轻松部署到 IOS、Android、Windows 等的应用程序对它有很好的吸引力。但是,到目前为止,我遇到的最大问题是应用内购买、推送通知和外观问题。
IAP 和推送通知或多或少必须为每个设备编码。有帮助程序库和教程可以帮助您完成该过程,但您仍然需要维护单独的代码。当然,您可以在幕后编写所有这些内容并使用 phonegap 访问插件。
外观和感觉 - 在为 IOS、Android、Windows 开发时,它们都要求/建议您的应用看起来是设备原生的。这意味着您现在必须为每个设备管理单独的 css。使用 sass 之类的东西并不难做到这一点,并且一些框架已经部分自动化了。
Web vs Native 的成功很难看到。Facebook 最初是一个 Web 应用程序,但后来放弃了它,转而使用原生应用程序。但同样,如果您查看 Firefox 采用的路线https://www.mozilla.org/en-US/firefoxos/,他们的 UI 将基于 html,这非常棒。本机的最大好处是您将制作一个适用于该设备的应用程序。与本机相比,Web 应用程序的执行速度往往要慢一些,但这可能取决于框架以及您的编码方式。
可能要考虑的另一件事是 MonoTouch http://xamarin.com/monotouch,它提供了一种用一种语言编写所有后端代码的好方法。它还将它编译成设备的本机代码,因此您可以从两个世界中受益。
至于原生是网络,最终将取决于您的业务需求、您的经验和更多的研究。我无法涵盖所有内容,我只提供了我在此过程中遇到的问题以及我的想法。