天天都在被凉凉的移动原生开发

前言

前两天在头条看到了一篇文章,说Google已经研发了一款新的操作系统Fuchsia OS,这款新系统可以运行在Android手机上,但不是和Android一样基于Linux,说流畅性等等可以不输给iOS之类的话,于是网上就开始各种文章说Android开发要凉凉了赶紧去学习新的技术语言吧。

我看完这篇文章之后只想呵呵一笑,脑子里不断的在回想着,这是Android第多少次被凉了?记得FaceBook在出React Native(简称RN)的时候,由于其可以做跨平台开发,一套代码可以同时运行在Android和iOS系统上,方便节约了开发人员成本所以一开始受到了很多开发者追捧,于是网上又有人说原生开发要凉凉了,混合式开发才是未来的王道,一大批听到这个消息的开发者前仆后继的放弃原生开发,投入到RN学习当中去,可是如今呢?使用RN最大的公司Airbnb已经与宣布放弃使用RN,将回归使用基于原生技术的自有框架开发App。而RN的亲生父亲FaceBook公司今年又高调宣布将重新编写RN这个框架并在未来给开发者使用。今年的Google又开发出了一款新的跨平台框架Flutter,他也和RN一样可以进行跨平台开发,同时运行在Android和iOS平台去使用,结果网上又出来了一批高调唱响Flutter语言,唱衰原生开发的人。

为什么会出现那么多跨平台框架?

试想一下为什么会出现这个问题?或者说试想下为什么大公司会出来那么多跨平台开发语言?其实很简单,大公司之所以想要出这些跨平台语言,那是因为他们想要去抢占移动开发的入口。只有把入口抢占了那么不管开发者怎么去开发怎么去搞,你做的东西都必须要在我制定好的规则之下才能开发,这样你就脱离不了我的控制,永远在我的摆布之下了。举个简单的例子,iOS开发者所有人都必须听苹果的号令,为什么呢?因为苹果把控住了两个关键入口,一个是iOS不开源,不开源那你就看不到我内部代码,你不能像Android那样乱改系统代码,你要在我指定的代码开发规则之下做开发才行。第二个关键入口是AppStore,开发者不管开发任何应用最后的结果无非就是在AppStore上架给其他人去使用。而苹果把控住上架这个入口,对于不符合他们审核规则的App一律不允许上架或者直接下架操作。这两步杀招就导致了开发者永远要在苹果指定的规则之内执行开发操作,你永远都无法违背苹果的规则和控制。就像Android有很多热更新框架一样,这些热更新可以在Android手机上随便更新,但是苹果明令禁止不能使用热更新,就导致了热更新这套东西没办法在iOS上使用。那么跨平台语言开发的app会不会也遭受到这个待遇呢,很有可能。

跨平台真能取代原生吗?

所以现在出了那么多混合式化平台语言和框架,有种势必要取代原生开发语言的意思,那么这里需要思考的一点,Google和Facebook在发布Flutter和RN的时候有问过苹果公司吗,有问过人家同意不同意吗。他们这是在抢占苹果制定的规则和入口,如果以后都是混合式开发,人们都不用iOS看来写苹果的应用了,那苹果的钱从哪里来赚?正所谓卧榻之处岂容他人酣睡,苹果会放任着这种时态恶化下去不管?这我是不信的。

因此,出一门大家都通用的语言,如果没有各方面公司的支持其实很难能够做下去。例如Html5,如果Chrome,Safari、IE和火狐这些做浏览器的大公司不去支持兼容这套规则,那H5可以说根本就开发不下去。跨平台开发语言也是一样。如果没有苹果参与制定规则,光靠苹果的竞争对手去制定开发规则的语言是站不住脚跟的。阿里的Weex已经不维护了,Facebook的RN现在有些公司也在停用自身也在重构,而Google的Flutter也好Fuchsia OS也罢妄想通过自己开发的一门语言去颠覆苹果,抢苹果的市场份额,这个更是不太可能。所以,很多开发者今天RN火,就去学习RN,明天Flutter火就去学习Flutter。结果学来学去发现框架学了一堆,结果最基础的原生开发还没学会学好。在技术这条路上兜兜转转学了一圈,最后才发现原生开发才是王道,自己这么多年的学习不过成为了大公司争夺入口的小白鼠试验品了,和成为了培训机构赚钱的工具而已。

看清楚形势再考虑要不要去做,Java语言出来了那么久,python比他好学好用的多,为什么他没有凉?这自然是有他的道理的。不要天天被网上别人制造的焦虑去误导,不要天天被凉凉。做一名懂得思考的技术人员。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();