我是一名iOS(原生)开发人员,自App Store推出以来就一直从事这方面的工作。此后,我也学习了一些Windows-Phone和Android。我注意到HTML5 Web应用程序取代本地应用程序的趋势不可避免,并且它的增长速度比我预期的要快得多。作为一个本地开发者,这让我感到沮丧,因为大多数时候选择原生开发有很多优点,只有一些例外情况才选择HTML5(例如:跨平台!),但是这些例外情况似乎能够越来越多地压倒前者,有时则是出于无效的原因。
我不认为移动应用程序的“未来”在于HTML5,也不认为像PhoneGap这样的工具可以实现跨平台的大规模分发。与本地应用程序相比,Web应用程序的体验总是稍逊一筹,而且还会流传很多谬论。例如,“客户不会为多个平台上的本地开发付款;太昂贵了!”这是一个谬论,如果客户真正了解他们获得的应用程序质量差异,他们肯定会支付更高的费用。这已经被业界的领导者反复证明,他们大多数情况下不会为客户构建Web应用程序。我甚至知道有一次几乎发生了诉讼,因为一位CEO获得了他们外包的应用程序,结果是一个PhoneGap/HTML5应用程序。他(完全)感到愤怒,因为那家公司承诺提供“一款应用程序”,但它并没有像他的其他应用程序一样感觉或响应,从而导致一场混乱。
其他一些误解包括转向HTML5路线可以节省大量代码和时间,但事实并非如此。在跨平台/设备测试中涉及的CSS和JavaScript量以及让应用程序在这些平台上运行所需的工作通常会导致代码混乱,并花费大量时间调试相关问题。一个典型的本地开发人员可以在几个平台上仅用数小时创建简单的基于列表的导航/详细视图,而构建HTML5来“模拟”和仿造完全相同的功能和外观/感觉很可能需要大约相同的时间。此外,选择PhoneGap/HTML5路线后,您始终会落后于平台和技术的前沿,这怎么办呢?我最大的挫折是,现在似乎有些开发商有时甚至向客户推荐PhoneGap/HTML5方法,使其具有跨平台等吸引力,而无需真正向客户(有时可能毫不知情)解释它实际上涉及到性能和外观/感觉方面的差异。
我肯定想跟上时代的步伐并为最坏的情况做好准备,这就是我正在学习这些工具的原因,但我只是好奇你们(同样是本地开发人员)如何处理这种情况?我在这方面的想法是否孤单?有没有建议如何以合理的方式向人们解释如何做出这个决策过程?在我开始回复之前,请注意,我完全理解在某些情况下Web应用程序是正确的选择,我也完全理解有些客户只愿意为原生开发付费,这没有问题。 我也知道预测表明HTML5应用程序的比例将随着年份的推移而继续上升。 然而,我仍然不同意“所有应用程序都应该是HTML5,并且我们只有在需要时(例如相机等)才使用本地部分”的增长心态。 我个人认为应该反过来:“除非特定的UI和功能在HTML5中更容易/更快速完成,否则所有应用程序都应该是本地的”。 公司可以找到编写快速并且能够访问代码库的本地开发人员,使得原生开发与通过Web应用程序进行开发相比同样快,甚至更快。
你有什么想法?如果这是错的论坛,我提前道歉,但我很渴望听取意见和建议。谢谢! -文森特