cherryvenus

app开发决战: 在2017年,为什么你需要回顾native还是hybrid的争论

cherryvenus · 2017-01-11翻译 · 552阅读 原文链接

回顾2007年,iPhone首次面世。在苹果首次推出的产品之后,短短六个月的时间之内,PhoneGap就被开发出来了,这是第一个,也是开发hybrid app采纳最多的框架——也就是说,使用HTML,CSS和JavaScript 而不是用native语言编写,同时为各种平台编写app。

学习一个崭新的语言和开发环境就为了开发iOS(然后开发Android)app ,与这个相比起来,hybrid种开发类型对于全世界大量的网页开发者来说,吸引力是显而易见的。

然而事与愿违,在实际的实践中与hybrid的大肆宣传完全不符。

很快,大家发现了,很显然,在hybrid框架中创建的app,赋予它们“native”体验并不是件容易的事情。因为这些app最终只是在native框架中渲染的web应用,在许多hybird应用中,移动互联网链接和设备硬件速度同时引起了性能的评价从“这个比我其他的app加载都慢一些”到“ App Store,Apple居然拒绝了这种类型的应用,理由是没有预期的效果。”不等。

简而言之: hybird并没有完全发挥作用,并且有许将要成为hybrid开发者硬着头皮开始学习如何在native开发平台工作,或者决定无限期延缓他们的app开发目标。这还真的有点尴尬啊。

hybrid应用开发再次引起了你的注意。

hybrid应用开发再次引起了你的注意。

可是,随着时间的推移,科技的进步——也就是说,手机硬件——hybrid app的性能有着很大的进步,因此能够推动一些大胆的新主张。有一个显著的例子就是,由行业研究巨头Gartner发布的报告,预测了,到2016年,提交到App Store和Google Play的app,50%甚至更多的是hybrid应用。这个预测在2013年就发布了,并且已经到达了50%,并且包含几乎每个有移动开发领域的网站。

现在,许多native框架和开发工具都甚至拥有强大的展示库,体现了hybird应用能够成功地以他们的方式走向市场。有可能在此之中最有名的就是Ionic’sAppcelerator’s

现状

hybrid app用已经能够和native app平起平坐了吗?还有许多需要改进的地方。至少,在2016年的下半年展开了一场hybird对native的新的争论——并且对于现在开发者来,能够抓住怎样的机会。

native app跑起来依然更快,但是这句话的含金量不如以前

直截了当说吧:在我们现有的开发环境中,在有些情况下,native app相较于对应的hybird,它的加载和移动更加灵活。也就是说,与几年前相比,用户体验的差异没有这么明显了。软件开发公司Azoft用了整整一年编写程序,从他们的经验来说,hybrid app在许多情况下“不比native应用差。”此外,大家的观念从“native更好”转变为“native在某些情况下更好”。这些特定情况现在归结为几个关键因素:

  • 图形化性能

    需要用到先进的3D图形,粒子效果和多层动画的应用,在hybrid上的支持依然不是很好。此外,这种经常用于游戏的图形技术需要投入大量的知识和工作,hybird能够缩短开发周期(其中一卖点)的程度被降低。这是因为,在hybrid框架中编程,能够帮助你用最少的代码完成页面创建和其他app开发任务,一般来说,创建游戏和动画依然需要特定的知识和大量的工作,才能获得好的体验。

  • 硬件响应

    app需要快速响应访问一些像设备加速器或者类似硬件组件的东西,这依然更加适合natiive开发环境。这是因为通过JavaScript访问这些组件——这是在hybrid app中的情况——代表了需要执行额外的步骤。也就是说,真相是下降的重要程度以及只有等手机硬件变强之后才能继续做。

  • CPU 要求

    CPU密集的app(就像是这些实时获取摄像头输入,以提供真实滤镜,或者快速渲染视频,或者同时处理大量的数据,等等。)是另外一种适用于native app的类别,由于我们上一个类别的相同逻辑。重复一次,这个鸿沟可能会随着时间而缩小。

今年热点Pokemon GO

在2016年,像Pokemon GO这类型的游戏完全大大超出了hybrid开发环境。

HYBRID应用依然拥有短周期开发和快速推向市场的特性

即使在 Y Media Labs上非常极端赞成native的文章,作者承认,客户“如果想要再6个月之内将产品推向市场”,寻求hybrid开发可能更好。他的经验也没有排斥hybird:争论大多数文章 都有一个结论,就是如果想要大大减少开发周期,使用hybrid更好。

尽管,拥有native编程技能的开发者快速增长着,但是在许多情况下,传统app开发依然是一个缓慢而复杂的过程,并且公司或者个人希望完成app的时周期可能常常因为native本身而延迟。

native工具定期改善以帮助开发者的开发更有效率,然而为了节省时间超过同行,他们常常选择hybrid。Irnoic,一个准系统框架,通过原生HTML,CSS和JavaScript开发hybrid app。Irnoic的开发者最近开始了Ionic Creator,一个可以拖放元素的原型工具;新产品Aquro用自己的方式结合可视化工作流和web编程,引起了轩然大波;以及以企业为主的公司,比如Telerik也有类似的平台。

同样需要注意的是,在native和hybrid之间的开发效率差异是多平台造成的。因为Android和IOS(以及,在一些hybrid平台中还有Windows和web应用)可以同时开发。hybrid大量减少投入多平台手机平台的工时。外加,每次客户需要app升级或者添加新特性的时候,这些改动只需要写一次代码就可以开发他们的所有平台。这对开发者和用户来说显然是一大优势。

开发周期短也意味着成本低

由app开发者Bernard Kohan在Comentum article中特别比较了native开发环境和在PhoneGap的hybrid开发环境下的项目。他总结道,根据一个app项目的规模,选择hybrid,公司能够节省32%~36%的成本。在业界,当一个app开发项目,资金处于五到六位数之间,那么这意味着相差很一大笔钱。客户意识到之后,就会常常要求hybrid开发环境,如果这符合他们的需求。

Kohan写的研究是在2015年1月的时候展开的,但是相同的潮流已经进一步发展了,并且最近越来越调查依然发现有关两种开发策略的成本差异。

这对你来说意味着社么, 该如何利用好它呢?

对于那些纠结应该选哪一个的人,从这个变化动态中真正能够获得的是一个巨大的商机,

当更多的公司客户和中型公司想要做app,但是直到市场成熟之前,开价依然是很高的。hybrid app开发很有可能进入一个黄金时代。

内行开发者对于这些客户,使用hybrid技术,同时依然可以按照大型开发要价,砍掉native成本就足以让这些客户感觉赚到了。另外,他们能够以更快的速度开发这些应用,这意味着每小时的收入提高,并且在两到半个月发布客户的应用,他们会赞赏你,相比较于native的公司计划要4到5个月,甚至更多。

然而,几年之后,了解hybrid这种节省时间的开发的人会越来越多,买家的预期会更加关注于投入创建这些app的真实时间,并且会有大量开发者提供hybrid开发,增加了具有竞争力价格招标职位的需求。记住,在网站开发的世界,这个趋势在过去的几十年里发挥了作用。

假设一个例子

假定今天是2016年,ACME Thumbtacks想要和开发者签 一个远程Android和iOS的app,用于连接库存系统,并且当库存低的时候让员工从应用提交新的订单。

他们走进了native开发的屋子,他们报价$80,000并且预计的交货时间是6个月。带着你喜欢的hybrid框架和开发环境,你给了客户第二个选择,并且你让他们知道你可以在2到3个月内完成,并且只需要$50,000。

大项目的开销节省并且只需要一半的时间?!如果不和你走,他们真的是傻子,并且你隐藏了几月工作的钱,这些数字会因项目而定,不过依赖于客户的需求和支付能力,但是你懂的。

提醒一句:弄清客户对于app的期望值,以及在hybrid开发环境下,这些期望的可行性是很重要的。这保证你避免对某些只能在native中完成的功能夸大其词,避免了尴尬的情况。

几年后,相同的场景也许会所有不同。

ACME Thumbtacks现在知道了他们的app需求并没有复杂到需要native开发,因此他们很明确地需要hybrid开发者。因为很多人都加入这种潮流,并且对于这种只需要向要几个月工作量的客户要价$20,000。然而这种轻松赚钱的日子已经一去不复返了。

当你作为一个应用开者还有许多工作,你的金蛋就要飞走啦,或者至少是铜鸽。外加,因为hybrid市场变得越来越拥挤,这些早期采纳者,拥有更多的满意客户,客户评价以及企业人脉,这会是一个保持高需求的好地方。

就像在1990年代末的web开发以及2000年代早期的,hybrid应用开发会变成一种技术,在接下来的几年中会溢价。我的朋友啊,这就是机会啊!

当然,一个持续不断的耻辱会继续尾随这hybird开发世界。依赖于你正在工作的(自由职业者或者独立的,工作在一家公司直接上报上级的,等等)架构,客户认为hebrid开发项目可能会留下一个劣质的产品,你可能需要帮助更多的人克服这样的看法。

你能做的最好的事情就是找到这些你质疑的产品的早期展示页面(或者一些PhoneGap),去下载一些,然后思考他们遇到的经历能否取悦客户。真相是这些app体验可能和naitive开发的app所差无几。

最后,关于是否经过重重考验开始新技术或者开始一整个新的hybrid旅程,是由你自己决定的。但是,这些考验也许会以镀金结束。

总结

  • hybrid开发环境保留了之于native编程的速度优势,特别是对那些需要跨平台开发的应用。

  • 手机性能帮助hybrid环境走出了笨重的耻辱,但是对于一些项目类型的完美解决方案依然有段距离。

  • hybrid路线给开发者提供了一个极佳的机会,让她们无缝(以及有利可图)对接到应用开发。

  • app开发,无论是对native还是hybrid,都有着上涨的需求,这值得你未来几年的关注。

相关文章