我是一名 iOS(本地)开发人员,自 App Store 推出以来一直如此。从那时起,我也学习了一些 Windows-Phone 和 Android。我一直注意到构建 HTML5 网络应用程序而不是原生的不可避免的趋势,而且它的增长速度似乎比我预期的要快。这让我作为一个原生开发者感到沮丧,因为大多数时候有很多关于原生的争论,而只有少数支持 HTML5(即它是跨平台的!),但后面的那些争论似乎更胜过前者现在还有更多,有时出于无效的原因。
我不相信移动应用程序的“未来”在于 HTML5 和 PhoneGap 等工具,这些工具可以跨平台进行大规模分发。与原生应用程序相比,网络应用程序的体验总是低于标准,除此之外,很多神话往往围绕着它流传。例如,“客户不会为多平台的原生开发付费;太贵了!” 这是一个神话,如果许多客户真的知道他们获得的应用程序质量的差异,他们就会为此付出代价。行业领导者一次又一次地证明了这一点,他们在很大程度上并未为客户构建网络应用程序。我什至知道当 CEO 拿到他们外包的应用程序时发生了一场近乎诉讼,这是一个 PhoneGap/HTML5 应用程序。
其他神话包括走 HTML5 路线可以节省大量代码和时间,但事实并非如此。涉及跨设备/平台的测试,更不用说使应用程序在这些平台上运行所涉及的 CSS 和 javascript 的数量,通常会导致代码混乱,并花费大量时间调试相关问题。一个典型的原生开发者可以在几个小时内在几个平台上弹出简单的基于列表的导航/详细视图,而构建 HTML5 以“模仿”并伪造相同的确切功能和外观/感觉很可能需要大约相同的时间. 此外,走PhoneGap/HTML5路线将始终确保您将落后而不是处于平台和技术的前沿,这一事实又如何呢?
我最大的挫败感是,现在似乎有些开发商店有时甚至向客户推荐 PhoneGap/HTML5 方法,因为它具有跨平台等的魅力,甚至没有真正向客户(有时可能毫无头绪)解释什么它实际上涉及性能和外观/感觉的差异。
我绝对想跟上时代的步伐,为最坏的情况做准备,这就是为什么我要扩展学习这些工具的原因,但我只是好奇你们(本地开发人员)是如何处理这种事情的?我一个人在想这个吗?关于如何以理性的方式向人们解释如何做出这个决策过程的任何建议?
在我收到有关此问题的回复之前,请注意,我完全理解有时使用网络应用程序路线是正确的方式,并且我完全理解有些客户根本不会为原生付费,所以这是美好的。我也明白预测表明 HTML5 应用程序的百分比将随着时间的推移而继续上升。但是,我只是不同意“所有应用程序都应该是 HTML5,我们只是使用本机组件”的日益增长的心态。需求出现了(即相机等)。” 我个人的观点是应该反过来:“所有应用程序都应该是原生的,除非特定的 UI 和功能在 HTML5 中更容易/更快地完成”。
想法?如果这是此类事情的错误论坛,我提前道歉,但我渴望获得意见和建议。谢谢!-文森特