最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 开发技术 > web开发 >
为什么跨平台开发会越来越难?
IT168发表于 2020-11-02 15:58 次浏览
      一直以来,程序员对于移动跨平台的追求就没有停止努力,跨平台是为了提高开发效率,随着带来的必然是性能的降低。但从软件发展的历史看,部分损失某一方面的性能来换取效率的提高还是非常值得的。就好像我们用C语言替代汇编,损失了掉的那些运行效率基本是可以忽略不计的,我们换来的是开发效率大幅提高,相对于汇编语言而言C语言同时也部分解决了跨平台跨设备的问题。这些都是跨平台开发带来的开发进步,但是伴随这几年的发展,事实表明跨平台开发会越来越难,这其中都有什么原因?

  早期移动平台的开发者应该都有这样的经历,当只有一个平台的时候,唯一要做的事情就是做好产品,获取尽可能多的用户和提高他们的参与度,所有精力都放在一个平台上。

  但是当新的平台(比如Android、Windows Phone等)出现的时候,最开始开发者会觉得新平台开发与以往平台的开发没有太多差别,你可以使用一些通用的代码,比如把在iOS上所用的代码用于新平台的App开发中,或者严重依赖一些能够简单适配到任何平台的Web服务。那时候你觉得为多个平台开发似乎不是那么的难,需要的人力也不是太多。

  但是随着时间的发展,你会发现,跨平台开发变得越来越难,你需要花大量的时间去为各个平台做开发,平台之间的API和设计元素差别越来越大,所以你的产品开发也变得复杂起来。要为不同的平台配备不同的团队;需要管理更多的代码;有的开发者还要经营一个跨平台库;平台整合的工作也变得更繁琐,语言和工具也越来越多。要把所有事情都做好原非想象的那么简单。

  然后你开始期待,是不是有一个统一的平台更好,比如类似HTML 5这样的平台,大家可以齐心协力去使之更加标准化,然而这样的工作总会遭遇一些平台厂商的反对,他们可不想去依赖发展缓慢的标准平台,所以也不要去期待他们会为之作出努力。

  所以,当平台多起来的时候,你会开始设定平台的优先级,会思考先为哪个平台开发产品好,会考察平台的用户基数、用户群体、地域分布等等,然后就想,或许iOS第一,Android第二,又或者是相反的。

  但不管怎么思考,平台多了,开发的压力是有增无减。

  为什么跨平台开发会越来越难?

  1.平台厂商的“诡计”。 看看下面一张图。因为最开始的平台吸引了大量开发者为之效力的同时,也吸引另外的厂商开发新的平台。最开始的时候,新平台会在跨平台方面提供一些支持,以便吸引更多开发者到自己的平台。但是当新平台羽翼丰满之后,厂商就强调自己平台的服务应该要如何如何演进,它开始注重建立一些独特的东西去构建自己的护城河。比如Android会关注一些独特的服务,iOS会强调创新和首次用户体验。最后的结果是,它们给开发商的API差异越来越大,可共享的代码越来越少。

  2. 基于不定的元素做计划。对于开发者所考察的那些元素,包括用户基数、用户群体、地域分布等,实际上都可以看作是未知的。 观察者在调查过程中总会存在偏见,因为一切都是基于用户行为去预测一个动态的系统,基于一个快速变化并且难以定义的“市场份额”去制定一个产品计划,这样是有问题的。很多人很快发现,做跨平台开发似乎不太可行,他们没有一个长期可行的跨平台方案。

  3. 竞争对手开始进行创新。比如在同一个平台中,有很多人去做同一种产品,那如何突出自己?答案是所谓的微创新。第一个人做出来的产品可能是这个样子的,第二个的或许又稍作创新,第三个也在某些基础上进行创新。平台越多,压力越大。

  接下来的问题是,未来开发者是专注于一个平台好还是跨平台好?不清楚,但可以确定的是,未来API、开发工具和方法的差异化会越来越大。跨平台开发会只会更难。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐