将应用程序构建为Web应用程序以实现更轻松的多平台兼容性是一个好主意吗?

时间:2012-02-03 16:56:55

标签: android ios

我已经检查了除常规之外的应用程序,还需要用户管理和推送通知。为了使它跨平台并通过Web浏览器使其可用,我计划将其构建为Web应用程序(在Android中称为)。这是个好主意吗?或者构建一个完全原生的应用程序会更好吗?

我完全不知道iOS开发,但不知何故认为Web应用程序肯定会存在,所以这将减少iOS应用程序所需的工作量。

4 个答案:

答案 0 :(得分:5)

你可以找到

之间的整洁比较

在这里:Comparison between Corona, Phonegap, Titanium

这里讨论了这种framworks与本机应用程序开发的用法:Using Phonegap for Native Application development

另一个有趣的C#解决方案名为Xamarin

根据我的经验,(我使用过带有JQuery的PhoneGap)它具有相对较低的性能,低可用性,并且缺乏对硬件的高级控制。但是,对于具有良好Web内容经验的人来说,可以轻松学习和使用PhoneGap。因此,选择的选择仅取决于您要开发的应用程序。如果它是简单的社交应用程序或其他东西,请继续使用跨平台解决方案。它可以为您节省大量的时间和金钱。另一方面,如果目标应用程序要求在可用硬件上具有高性能,那就去原生。

答案 1 :(得分:4)

这取决于很多因素。

如果您有时间和预算(以及专业知识),每个平台的原生应用程序始终是最佳用户体验。

如果您尝试执行违反Apple App Store条款和条件的操作,则可能是唯一的选择。

Web应用程序相对容易构建跨平台,但您仍需要进行大量特定于平台的调整才能使其适合每个设备。相信我,这不是一个简单的选择。

不要自欺欺人地说,网络应用程序将提供与本机应用程序相同的高质量体验。 Web应用程序可能是值得妥协的,但它仍然是一种妥协。一个Web应用程序无法访问文件系统,相机,照片库,联系人或日历,并且它无法访问硬件加速的3D图形(有一天它会通过WebGL和一些新的HTML5 API,但我正在谈论关于现在可能的事情。)

网络应用程序仍然相对不常见,因此如果您确实采用这种方式,那么您将错过在App Store / Android Marketplace中拥有应用程序的曝光率和“可查找性”。

更好的选择可能类似于Appcelerator Titanium,它允许您使用JavaScript创建跨平台本机应用程序,而无需学习Objective-C或Java。

或者,如果您决定使用HTML,则应考虑使用PhoneGap之类的工具,它允许您将Web应用程序打包为每个平台的本机应用程序,而无需编写任何特定于平台的代码(应用程序仍然是一个普通的网站,但它在设备本地运行,而不是在浏览器中运行,并且可以访问本机硬件功能和联系人,日历等。)

您还应该查看第三方网络工具包库,例如jQuery MobileSencha Touch,以帮助您的移动网络应用看起来和行为尽可能像真正的原生应用。

答案 2 :(得分:0)

如果您可以为您的用户提供相同的功能,但又不强迫他们与软件下载和更新方案相关联,那么我认为这是他们的胜利。无需为每个平台维护多个代码版本对您来说是一个胜利。

我会说,如果它作为一个网络应用程序的功能,去吧。

答案 3 :(得分:0)

对于基于内容的多平台移动应用程序,有MobiRoller等工具。您可以通过基于Web的面板创建应用程序。