Android告急!
谁会从Google手中抢走Android?早在去年,Google就曾因Android移动操作系统涉嫌垄断行为而面临巨额罚款威胁。再加之各类竞争者虎视眈眈,以及跨平台替代框架对原生Android的围攻,Google的日子似乎并不好过。作为一个曾在Google工作了13年之久的技术老兵,SteveYegge在离职加入了东南亚出行巨头Grab公司之后,发布了一篇分析自己为何离开Google的博文,强调了Google在创新能力方面的渐趋弱势,一度引发广泛热议。时隔近一年,他又在本文中重点介绍了Google的Android技术本身存在的一些问题,譬如DevStack缺失、兼容性差、开发框架安全性低等等,对此,你怎么看?
作者SteveYegge
译者苏本如
责编仲培艺
出品CSDN(ID:CSDNNews)
以下为译文:
前言:从离开Google到糟糕的Android
我至今仍然不能百分之百地确定为什么我发表的那篇叫做《我为什么要离开谷歌》(https:medium。comsteve。yeggewhyileftgoogletojoingrab86dfffc0be84)的博文会受到如此多的关注。在那篇博文里,我只是唠叨了些诸如我换工作比较随性之类的废话,却不知为何会被逐字逐句地翻译成80种语言来传播,直到后来某一天才被娜塔莉波特曼的一篇专栏文章超越。公平地说,那个专栏要有趣得多。
我猜其中一个原因是因为那一周没有什么劲爆新闻吧?另一个原因可能是Medium网站拥有了大量的用户?Medium网站是一个很好的平台,回想起写博客的日子,我曾经希望谷歌也能创造出一个像Medium这样有新意的产品,但正如你所知,事实上并没有
无论原因是哪一个,我的博文收到的回复还是很有趣的。巴基斯坦的某个家伙说如果我碰巧和他在同一个城市的话,就要请我喝杯啤酒。伦敦的某人愿意出一千刀,让我在电话里花一个小时和他聊聊语音搜索市场或关于Garbo的话题,我礼貌地拒绝了,因为我实际上对这些一无所知。一个俄罗斯人甚至在一次聚会上走过来对我说:你树立了不少敌人啊。哈哈,多么有趣的时光。
网上也有很多评论对我想在那篇博文中表达的关键信息有不少误解,有人甚至问这不就是个专车服务吗?我曾尝试描绘一张更大的画,但似乎搞砸了。有时间我会回过头再重新看看那篇博文,看能否让大家更明白些。
但今天我想要讨论的重点是Android站在一个外行者以及业余爱好AndroidiOS的开发人员的立场,分享下我的个人观点。
我一直关注Android是因为我们正在尝试招聘一些移动开发人员,你会认为这件事情很简单。但事实证明移动开发人员是当今市场上的抢手货,很多公司都有需要,而且市场上懂得移动开发的人并不多。招聘他们就像想抓独角兽一样不容易。
为什么每个公司都需要移动开发人员?因为桌面网页开发正在慢慢消失。我在谷歌的各个开发团队都有些朋友好吧,或许现在只能算是前朋友吧他们曾经在背地里指责我。但不管他们如何批评我,随着整个世界向移动端倾斜,桌面网页开发会渐渐减少。你可能还记得Facebook从WebFirst到MobileFirst的转变吧,那差不多是在8、9年前的事了,Facebook当时差点就完蛋了。我并不是说这种转变会在一夜之间发生。但这家公司在意识到他们要么成为一个移动互联网公司要么被市场抛弃的时候,确实经历了一场生存危机。
他们成功了,但这确实不容易,因为Android的DevStack(开发堆栈)是世界上最大的一坨poosandwich。
Google内部工程师的鄙视链造成的Android窘境
在谷歌,大多数工程师都很傲慢而不愿做移动或网页开发工作。他们非常傲慢地宣称我不做前端开发。那里有一种现象,我喜欢称之为鄙视DAG链,这里的DAG是指有向无环图,有点像流程图。在鄙视DAG链的顶端坐着的是用C写搜索引擎的工程师,他们比Java工程师酷,Java又比Python酷,Python又比JavaScript酷。同样,写搜索的比写广告系统的酷,写广告的比写App的酷,写App的比工具酷,工具又比做前端的更酷。诸如此类。程序员喜欢互相看不起对方。如果你不幸成为谷歌的移动开发工程师,那么你将被困在几个鄙视链的底部,每个人都在俯视你。
但是,当我一个又一个地从事了所有这些开发工作之后,从系统编程到大规模数据工程,从编译器设计到服务框架开发,从游戏开发到Web开发,再到移动开发,我可以向你保证,前端编程即使不会更难,也至少和其他开发工作一样困难。后端中的一切看上去都是美观、整洁、有序、分布式并且是可并行的与25年后仍然一团糟的前端网页开发相比,这简直是天堂。如果再和包括iOS在内的移动编程那种便便三明治相比,哪怕前端网页编程也会犹如巴厘岛的一次美妙之旅。
Android怎么样呢?没错。这是他们中最大的poosandwich。如果不介意我说句俏皮话的话,Android开发人员都是英雄。如果用Android来开发巨型应用,如谷歌地图、Facebook或Snapchat如果我告诉你,你都不会相信改完一行代码,坐在那里要等上20分钟才会看到发生了什么。你所做的每一个更改,无论多么细微,在第一次尝试时都有80的机率不会有效果,因为Android的特征互操作性矩阵异常简单。你可以用X,也可以用Y,但是因为某个该死的原因你就是不能同时用X和Y。
设备兼容性这事更是让我火大。我在GooglePlay商店里有一堆一星评论,因为我的Wyvern游戏App随机地不能在LG设备上工作,所以我不得不去eBay上买一个60美元的廉价LG设备(而不是那种劣质的600美元的LG设备)来重现这个Bug,结果发现Android有两个在滚动列表上获取鼠标点击事件的API,但是有一个API在LG上不起作用。
我想说,有没有搞错!
正因为Android总有这样的莫名其妙的事情发生,现在许许多多的竞争对手,无论大小,都推出了自己的Android替代框架。他们想替代的不仅仅是缺失功能的支持库(尽管很多这样做了),他们更想要做的是全面替代谷歌Android的全面的开发堆栈。现在已经面世的替代框架有微软的Xamarin、Adobe的Cordova、Facebook的ReactNative。除此以外,再仔细看看,还有Framework7、AppceleratorTitanium、Onsen、Sencha、Kendo、XDK、Ionic、MobileAngular、Unity天呐,这到底是要整哪一出!
就像所有曾经尝试过Android开发的人放弃后都会说:Android太糟糕了,我要自己去做一个更好的。
而谷歌,不甘于被竞争对手超越,回应说,哦,是吗?你无法和我们竞争,因为我们的竞争对手是我们自己!。然后他们推出了Flutter,这是一个100严肃的Android开发堆栈,与原生Android竞争,而Android开发团队甚至拒绝承认它的存在。
Android的对手
这些开发框架的问题在于它们使Google容易受到攻击。大多数此类框架都是跨平台的,这意味着你只需编写一个应用就可以在iOS和Android上运行。不管你是大公司还是小作坊,没有人愿意付双份薪水请两个开发团队在不同的平台上编写完全相同的应用。因此,巨大的经济压力驱使公司迁移到跨平台框架。唯一拖后腿的地方在于,目前这些框架还不如原生开发框架那么棒。
但其中一些框架(尤其是Facebook的ReactNative)距离这个目标已经非常非常近了。如果它们中的一个成功抢占了足够大的市场份额,那么Android基本上就成了开发者生态系统的一部分,并且这个系统已经不再由谷歌控制了。
这似乎不是什么大问题,因为谷歌仍然拥有PlayStore、OEM和许可授权等。对大多数人来说,他们似乎很舒服地坐在驾驶座上。但是考虑一下:如果所有移动开发者都开始使用一个特定的跨平台框架X,那么从字面上来看任何其他的硬件操作系统制造商或联盟都可以和他们自己的竞争硬件操作系统平台(比如Windows)一起直接支持该框架X,并且所有的应用程序都可以在其上运行(可能更快,更容易启动)。这将完全把谷歌切割出来。相信我,很多公司都想这样做。对不起,我说错了,不是很多,而是全部。谁不想呢?
谷歌对这种情况的反应是绝不让步。他们加倍投入到自己的原生(传统)Android编程,为Kotlin语言提供官方支持,这对于原生Android程序员来说是一个很大的进步。我喜欢Kotlin,它代表Java的未来。但让我们面对现实:这已经不是移动开发的发展方向了。人们编写跨平台框架的原因有两个:第一,因为他们希望公司的应用程序在两个平台上工作,而不需要做两倍的工作。第二,因为Android原生开发仍然如此痛苦,即使有了Kotlin,许多公司也感觉他们应该扔掉它,并从一个更容易的技术上从头再来。
如果你是一个Android或iOS开发者,并且你花了一些时间尝试ReactNative(Facebook创建它是为了帮助解决这些问题),不到30秒你就会意识到这是更好的方法,不过前提是你开发的不是游戏,否则你可能更愿意使用Unity。对于业务和产品类的应用,ReactNative提供了合理的性能、跨平台兼容性和极为方便的工具(最好的来自Microsoft),极大提高了发展速度。还记得我前面说过一行代码的改变效果在常规Android堆栈中要花20分钟才能看到吗?这可能发生在像Nest或Facebook这样的大型应用程序中,但即使是中型应用程序,也可能需要23分钟。而ReactNative则即时的,你一旦改变了代码,就能即刻看到效果。
这意味着产品功能的发布速度可以提高10倍;这意味着更快的上市时间;这意味着先发制人的优势;这意味着你们在竞争中不断取胜。放弃原生编程框架,转而使用像ReactNative这种快节奏的跨平台框架,将会让你立于不败之地。
我怀疑,在没有证据的情况下,谷歌的Android团队并不能确定跨平台对他们是好是坏,但他们倾向于坏,否则他们会为跨平台的Flutter提供更多支持。我个人认为这对他们有好处,但我说了不算。
不管怎样,谷歌目前正致力于通过改善原生体验,来保持自己的领先地位。而且,由于原生体验对于像Snapchat和Instagram这样的大型应用程序来说是最糟糕的,它们主要是试图解决大型应用程序开发体验问题,而这主要又是由构建时间来决定的。
为了解决这一问题,谷歌在改善官方的Android应用程序构建系统上做了大量工作,而这个系统自身是基于本来就已经非常复杂的Gradle系统,谷歌随后又在其上加入了大量乱七八糟的Android特有的东西。日复一日,这个系统变得越来越复杂,甚至构建工程师都不再能理解其中的某些部分。如果你想试着搞清楚构建类型(Buildtype)、产品风格(Productflavor)和风格维度(Flavordimension)之间到底有什么区别,那只能说祝你好运了。因为谷歌一直在增加这个系统的复杂性,他们认为增加的这些东西对于拥有大型应用的大型公司很重要。
讽刺的是,大多数大型公司都在积极地将其弃之不用,转而支持Facebook的Android构建系统Buck,看起来谷歌正在走向一个死胡同。
因此,似乎谷歌已经明白这是一个问题,但是他们却在加倍致力于一个没有人喜欢的解决方案一个拥有极其复杂的Gradle构建系统的原生堆栈开发人员正在远离,而第三方开发堆栈正在不断获得市场份额。
互联网巨头们针对Android发起攻击
更糟的是,开发堆栈并不是安卓系统受到的唯一攻击。还有其他一些方法可以将Android从谷歌窃走。一种方法是创建一个更成功的商店:PlayStore是谷歌对Android最主要的控制手段,它在公司和政府层面引起了很多争议。因为Android据称是一个开放系统,但PlayStore却100由谷歌控制。而微软和Twitter支持下的Cyanogen曾是打破这种局面的重大尝试。虽然由于内部权力争斗而最终失败,但这是第一次认真尝试对于PlayStore进行割喉打击。
另外猜猜还有谁和竞争对手正在联手对谷歌大打出手呢?你猜对了,正是JeffBezos(Amazon的CEO)。因为如果不从谷歌偷取Android系统,他就不能成为全球首个万亿富翁。亚马逊的应用商店已经做得相当不错了,而我看到的亚马逊和谷歌之间的几乎每一场面对面的竞争中,亚马逊的表现都会随着时间的推移而越来越好。当心了,谷歌!
如果这些还不足以让谷歌担心,那么针对Android系统还有第三场袭击,而这场袭击正中谷歌的要害在线广告。如今,Facebook的Android应用变得相当庞大(多年来有数百名工程师致力于此),已然发展成为一个真正的平台,现在企业可以直接将广告投放到Facebook的应用中。例如,《纽约时报》可以在那里购买广告投放,所有的钱都直接从纽约时报转到Facebook,而不必匀一分钱到谷歌,可以想象这让谷歌有何感受。
正如微信在中国一样微信应用已经成为一个蓬勃发展的平台,可以在其上构建和部署其他应用(和广告)。就像把一个完整的市场嵌入到应用内部,Facebook和微信移动应用已经成为独立的广告发布渠道。
让我们澄清一下:谷歌创建Android的唯一原因在于Android是一个广告频道(Channel)。谷歌是一家广告公司,世界上最大的广告公司,因而总是受到诸多公司无休止的攻击,这些公司想把用户眼球转移到他们自己的频道而不是谷歌频道。归根结底,这和针对网络中立性的攻击几乎如出一辙。电信运营商和ISP希望为你提供所有你想看到的广告,或者至少从谷歌和Facebook的广告中分得一杯羹。
每当你看到像Facebook、谷歌、亚马逊或微软这样的公司神秘地进入一个陌生的新业务,你可以确信新的广告频道争夺开始了。谷歌的Chrome是一个控制Web访问的广告频道;微软的Xbox是一个针对PlayStation的广告频道,它威胁要将PC作为在家上网的频道;YouTube是一个广告频道;Instagram和WhatsApp也是类似产物;HBOAmazonNetflix内容战是一个直白的广告频道;亚马逊Echo是一个广告频道,而你的家已经变成今天最大的广告频道之一;即使是谷歌地图,也是本地广告的一个广告频道一旦你开始观察,就会发现广告频道无处不在。
最重要的是,企业希望你通过他们的频道而不是其他人的频道观看你最喜欢的内容(书籍、电影、游戏等),这样他们就可以获得广告收入,或者至少是订阅收入。
Android可能是谷歌最重要的频道即使今天不是,在未来的十年肯定是。他们不能失去对它的控制。但我们已经看到,至少有三个不同维度的协同攻击正在发生:开发者生态系统(ReactNative和它的朋友们)、商店应用(Amazon的AppStore和传言中的Cyanogen继承者)以及轻量级的应用内市场(Facebook和微信等)。到目前为止,谷歌对每一个威胁的反应都是好吧,不得不承认他们仍然处在领先地位,至少现在是。
言归正传
所有这些看起来像是一堆无用的高谈阔论(原本就是),但它实际上对Crab这样的公司产生了实质的影响,因为我们必须对我们开发移动应用要使用哪些技术堆栈做出重大决策,这些应用对于我们的乘客、司机、商人、代理等而言,是通向外部世界的窗口(也即频道)。
如果你认为谷歌确实有可能失去对Android的控制,那么你最好的选择是使用跨平台框架,因为它将通过改进的可移植性来对冲你的赌注。如果你陷入了激烈的竞争中而需要更快的产品发布速度,你可能应该选择原生Android以外的产品。Android仍在追逐着Gradle列车,但这条路绝不会走得太快,而这很大程度上是因为Android设计的遗留问题很难解决。
在跨平台选项中,ReactNative看起来像是一个赢家。它吸引了许多Web开发人员,这可能是全球最大的开发人员受众,很难与之竞争。Grab最近开始投资ReactNative,看看它能否实现自己的承诺,到目前为止,看起来相当不错。当然,要把我们的原生Android和iOS应用退下来,还有很长一段路要走,因为移植确实需要时间。
总结一下这篇博文背后的主要观点:移动开发人员市场紧缺,很难雇佣得到,因为除了谷歌以外,所有人都知道Android编程很艰难。所以现在整个生态圈正在迅速发展,很多竞争对手正在努力让自己的方式成为移动开发的唯一真正方式这使得招聘移动开发人员更加困难,因为整个生态圈是如此的分散。
但是如果不考虑你的风格,现在正是成为移动开发人员的好时机。如果你是一个非移动开发者,你应该考虑切换到移动开发一段时间。从后端体验和学习移动开发开始,您将成为一个全栈开发人员,这样的开发人员在市场上更加罕见,是更具市场价值的独角兽。
如果你对此有兴趣,是时候参与这样的竞争中来,以获得对Android的控制,很多公司都在这样做,甚至谷歌的其他团队也在这样做。现在有很多大鲨鱼绕着Android这条船在打转,谷歌需要提高警惕。免责声明:以上是我的个人观点,其中可能有很多有失偏颇之处。同时我也不代表我的雇主(Crab公司)说话,你大可不必尽信。事实上,我自己甚至都没回过头再读一遍。原文:https:medium。comsteve。yeggewhowillstealandroidfromgoogleaf3622b6252e本文为CSDN翻译,如需转载,请注明来源出处。作者独立观点,不代表CSDN立场。
Linux绝对路径和相对路径详解在Linux中,简单的理解一个文件的路径,指的就是该文件存放的位置,例如,在《Linux文件系统的层次结构》中提到的homecat就表示的是cat文件所存放的位置。只要我们告诉……
家有儿女爆笑经典对白刘星真的太逗了家有儿女爆笑经典对白:刘星真的太逗了1hr刘梅:孔子的老师是谁?刘星:钻子,没有钻子哪来的孔子呢?2hr刘星:爸妈,要是有个人死乞白赖的非要找你们去跟他谈谈,……
国内最感人的十部电影你看过几部?国内最感人的十部电影:你看过几部?国内最感人的十部电影:你看过几部,随着宝莱坞电影和好莱坞电影进军大陆市场,国内电影受到越来越多的人指责,都说国内电影取材单一,清一色的爱……
人间至味是清欢结局如何,人间至味是清欢的结局翟至味爱情剧《人间至味是清欢》给带来大时代背景下,期间有着丁人间和安清欢,加上翟至味进行寻找自我,后期去追求美好的爱情,最后丁人间和安清欢成为友情人,不过翟至味没有跟任何人在一起,到……
6部笑断气电影,让你笑到2023年6部笑断气电影,包括:《沙漠妖姬》、《白日梦想家》、《利刃出鞘》、《触犯天条》、《少年侦探》、《王牌贱谍:格林斯比》,每一部都能让你笑到2023年。16部喜剧电影第1部:……
省电,跑更远!砺剑旺季市场台铃节能电动车新品接连发布近日,台铃连续发布了多款新车型,搭载云动力4。0省电系统,配备第二代石墨烯云电池,使得电动车节能省电跑得更远。其中,最值得一提的是台铃可捷电动车,不仅有设计通风孔的前后双碟刹系……
盘点经典的6部小说翻拍影视剧没看过的赶快补盘点经典的6部小说翻拍影视剧:没看过的赶快补《微微一笑很倾城》,这部仅有30集的现代言情偶像剧当年真的是很火了,优酷播放量200多亿,且两年来一直在搜索前排,杨洋也因为这……
2021河南高校的一本录取院校让人五味杂陈河南省2021年有125万人参加高考,从全国高考生源来看,河南每年高考都被认为是地狱模式。河南的本科高校有57所,专科高校94所,总共有152所高校,相对中西部大部分省份,数量……
王牌部队韩春雨跟谁了,王牌部队韩春雨是谁演的年代剧《王牌部队》比较早铺垫好韩春雨要跟谁好上,不过她意外牺牲,真的太让观众觉得有点意难平,可她业务能力不错,由此感觉出侯梦莎把韩春雨的角色演很形象,特别给人物内心表达充分。……
拉臭臭是蹲着好还是坐着好上厕所大号,是蹲着好,还是坐着好,就像你选择人生的每一步,蹲下去或坐下去,你就决定了眼前身体的感受。但大号,是蹲着好还是坐着好,确实是一个科学问题,(也不排除,是伪科学,……
当网红长得不好看,怎么靠专业赚钱?2000年前后,在西北大学攻读生物材料专业的马晓轩,和一帮整日埋头搞科研的技术员,研发出了一个专利类人胶原蛋白。这项技术,被广泛运用于医学领域,比如人工骨骼、人工血管、人……
有什么好看的电视剧20195部评分高且好看的良心剧2019你又追过哪些剧呢?有什么好看的电视剧2019年是值得你期待呢?2019年国产电视剧的质量的提高让观众们耳目一新,主题丰富多彩,实力派演员迎来了春天,终于盛产出多部高分的……