当web成为选择 开发原生移动app还值得吗?

日期:2016-11-4作者:Mark Betz

web应用   原生app   

【TechTarget中国原创】

很多年一来,开发者一直在为使用web应用而不是原生移动app寻找各种充分理由。这些观点认为,原生app创建和维护的代价很大;而响应式web应用则利用了一个代码库和设计来支持所有设备。

你不需要舍近求远去寻找Web应用观点的对立面,但是在这场争论中,行动也许要胜过言语。2016年,GovInsider上面的一篇文章煽动了移动平台之争的气焰。在那篇文章中,英国政府数字服务(GDS)的前设计负责人Ben Terret讨论了该机构禁止原生app开发而是转向采用公共UX框架的HTML5 web应用的理由。这些理由主要围绕着大量的原生移动应用开发和维护的巨大成本而展开。

那么你是否也应该取缔原生移动应用呢?它们的开发成本值得吗?做出这一决定的条件是什么呢?

本土化

随着iPhone的推出,其进入的代价是通过苹果应用商店流通的编译过的Objective-C二进制代码的分发。对于一般web开发者学习来说,Objective-C并非最友好的语言,但至少还有一个平台,以及一个迅速形成的活跃社区来提供支持和鼓励。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

Web服务性能>更多

  • 顶级APM软件大PK

    管理应用性能说起来容易做起来难。在探索很多种方式,研究很多种趋势之后,应用性能管理能够快速地从简单进化到复杂。对于APM软件而言也是如此。

  • 理解CEP应用真正特点

    IT领域的每个人都知道分析,以及借助大量历史数据作出更优业务决策的价值。这里应用程序的挑战在于“历史”这个限定词。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 2016年管理好软件测试事业

    从尝试定义测试开始听上去不错,至少可以作为起点。但是,测试通常听上去更像笔头工作,是一个低价值的角色,很可能被外包。本文将分享一些掌控软件测试事业的方式。

相关推荐

  • 十大响应式Web设计框架

    对于设计师而言,网站设计中的任意一环节都不容忽视。借助网上的一些资源,只需简单的几个步骤你就可创建出更具吸引力的设计,本文将分享十款最佳的响应式Web设计。

  • 管理员必知:监控系统五大必备特性汇总

    纵观我们部署在基础设施当中并始终保持运作的全部测量机制,监控系统无疑是重要性最高的机制之一,但它却常常遭到我们的忽视。

  • 十款开源的数据管理工具

    任何Web软件和应用程序都需要强大的数据库来做后盾,目前,网上有无数个数据库管理工具,而开发者选择一款适合自己的尤为重要。

  • Web前端优化最佳实践之工具集锦

    前端的性能对于Web应用的用户体验来说非常重要。不要以为你的Web应用的性能已经足够好了,其实还会有很多可以提升的地方。

技术手册>更多

  • 企业架构模式指导手册

    有效的企业架构对企业的生存和成功具有决定性的作用,是企业通过IT获得竞争优势的不可缺少的手段。SOA的目标就是实现灵活可变的IT系统,技术上通过服务组件的标准化封装、复用、松耦合可编排来实现一个一致的IT架构,并通过SOA的治理来实现架构在企业IT运营过程中提供一个策略,来保证架构的实施符合企业治理的需求。这与企业架构的概念、活动、流程和结果方面存在契合点。深入探究就会发现,SOA和EA是相辅相成、珠联璧合的两套方法论体系。SOA要落地,EA是最个最佳的利器。

  • SOA实现与交付指南

    随着SOA渐成IT潮流, 越来越多的SOA项目启动了。有些项目彻底失败了,有些项目则勉强成功了。为什么有些项目成功了,有些去失败了,最大的问题出在哪里?如何吸取这些失败项目的教训,并形成自己规划SOA路线图所需的远见与策略。同样的,我们又要如何判断SOA项目是否已经成功实现?这些将是未来SOA项目成功实现的关键。下面让我们来看看个中因由。

  • SOA开发精彩技巧汇总

    我们精选了2009年最受读者欢迎的技巧类文章,涉及到SOA的多个方面的内容,从最热门的云计算到协作型计算MapReduce;从各类SOA模式到REST战略的创建;从SOA颗粒度的获取到ESB选型技巧等等,尽可能涵盖您所关心的问题。下面让我们看看详细内容。

  • 企业应用集成EAI

    EAI(企业应用集成)是将基于各种不同平台、用不同方案建立的异构应用集成的一种方法和技术。EAI通过建立底层结构,来联系横贯整个企业的异构系统、应用、数据源等,完成在企业内部的 ERP、CRM、SCM、数据库、数据仓库,以及其他重要的内部系统之间无缝地共享和交换数据的需要。有了EAI,企业就可以将企业核心应用和新的Internet解决方案结合在一起。

    EAI(企业应用集成)将进程、软件、标准和硬件联合起来,在两个或更多的企业系统之间实现无缝集成,使它们就像一个整体一样。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算
【TechTarget中国原创】

很多年来,开发者一直在为使用web应用而不是原生移动app寻找各种理由。这些观点认为,原生app创建和维护的代价很大;而响应式web应用则利用了一个代码库和设计来支持所有设备。

在这场争论中,行动也许要胜过言语。2016年,GovInsider上的一篇文章煽动了移动平台之争的气焰。在那篇文章中,英国政府数字服务(GDS)的前设计负责人Ben Terret讨论了该机构禁止原生app开发而是转向采用公共UX框架的HTML5 web应用的理由。这些理由主要围绕着大量原生移动应用开发和维护的巨大成本而展开。

那么你是否也应该取缔原生移动应用呢?它们的开发成本值得吗?做出这一决定的条件是什么呢?

本土化

随着iPhone的推出,通过苹果应用商店流通的编译过的Objective-C二进制代码逐渐分发。对于一般web开发者学习来说,Objective-C并非最友好的语言,但至少还有一个平台,以及一个迅速形成的活跃社区来提供支持和鼓励。

那是九年前的事了,在此后的这段时间里,Google推出了使用Java作为原生语言的Android,而万维网联盟(W3C)则设计和采用了HTML5,这一协议的特性使得响应式web应用实用化,而像Xamarin和PhoneGap (Apache Cordova)这样的跨平台库的出现则试图集成其他技术的优点。在经过将近10年的演进之后,现在大概有4种选择:原生、跨平台、web以及混合应用,每一种都有优点和缺点。

考虑到特殊的一组用户需求,原生app开发仍然可能是最昂贵的一种选择,尤其是在大量异构设备的环境下。为了同时在Android和iOS设备上面部署,你需要精通Java以及Objective-C或者苹果新的Swift语言的工程师。每一种情况下工具链,部署路径,发布许可条件以及支持需求都不一样。

此外,由于这些办法依靠用户主动将编译的二进制代码放到自己设备上,所以你没有办法在客户升级后每一个变更集的二进制版本的情况下更新客户体验。当然你可以通过REST API利用公共的后端,但是从客户端来看,确实有些“复古”。

Web和混合应用

而在另一端,带响应式标记和CSS风格的HTML5 web应用则是成本最低的替代方案。虽然在兼容浏览器上web应用有一些新能力,但基本上这仍然是web开发。设计师需要高度擅长创建可伸缩的标记,能够在大范围的设备上显示正确。开发者可以接触到很酷的新功能,但基本工具仍然是HTML,JavaScript以及web框架,所有这些东西你的团队已经在用并且很熟悉。

而中间方案的成本规模也是折中的。类似上述提到的那些跨平台框架可以让你的团队用一种语言(比如说JavaScript或者C#)编写,然后编译出适应不同设备平台的二进制代码。这些二进制代码通常要大很多,往往会大一个数量级,因为必须把所有的公共库代码都包含进去,而用户界面模式和设计概念往往是能做所有支持设备上工作的各种组件的最小公约数。在开发和支持方面,相对于原生开发,跨平台框架并没有什么优势,你仍然必须把二进制代码推给最终用户设备并且为他们提供支持。

对于所谓的“混合应用”(由web浏览器控件托管的原生库包含的响应式web应用)来说,最后一点也是如此。应用启动后首先创建web控件,然后控件从服务器加载标记。混合应用相对于单纯HTML5应用的优势包括对应用生命周期有更多的控制,在通知方面有更好的用户体验,并且可以使用漂亮的原生效果,以及web浏览器仍然很难再造的控件。而劣势在于,你仍然需要懂设备原生语言,会创建和维护打包应用的开发者,但大部分或者全部的复杂用户功能都可以用网页来实现。

应该选哪一个?

考虑到这些选择,为什么不效仿GDS的做法,禁止原生app呢?无论是从金钱还是趋势上都有若干合理的商业理由,而决策因素大部分都归结为下面这两点:你需要多少不同的版本?以及用户体验的触觉和视觉属性有多重要?

如果所有用户都处在公共的设备平台和OS的话,原生开发的成本是会降低的,这仅仅是因为上述提到的东西——工程师,工具需要更少了。这一点甚至在Android平台更普遍,因为其部署模式比iOS更加开放,或者Windows Phone也是,因为如果需要的话你可以拥有自己的分发管道。

而在客户端体验方面,不难看到许多仍然继续专注于原生开发的组织正在把许多的品牌资本投入到出色的用户体验上。做聊天应用、新闻流、视频流媒体、游戏等许多价值取决于客户端观感应用的公司也有强烈的欲望投入这一领域。

而企业应用(LOB)的情况也许有所不同,对于它们来说,安全、信息准确度以及可用性是更重要的考虑因素。一些组织会发现自己两头都要兼顾,对于内部LOB应用以及广大的客户群来说,他们都预期有全面流畅的用户体验来满足自己。

对于其他人来说,混合与响应式web应用成为默认选择的趋势似乎还在继续。同样可在差别各异的异构设备上运行的原生app的出现,会继续引导组织朝着更容易创建和部署移动应用的工具转变。

如果你的品牌是靠抓住用户眼球来竞争的话,开发原生app可能会是一个不错的选择。但是一般的企业LOB应用不会从选择原生应用上得到很大的投资回报。