本文来自微信公众号:CSDN(ID: CSDNnews)
“sheihuicong google shouzhongqiangzou android?”
zaozaiqunian,google jiucengyin android yidongcaozuoxitongshexianlongduanxingweiermianlinjuefakuanweixie。zaijiazhigeleijingzhengzhehushidandan,yijikuapingtaitidaikuangjiaduiyuansheng android deweigong,google derizisihubingbuhaoguo。
作为一个曾在 Google 工作了 13 年之久的技术老兵,Steve Yegge zailizhijiaruledongnanyachuxingjutou grab gongsizhihou,fabuleyipianfenxizijiweihelikaigoogle debowen,qiangdiaole google zaichuangxinnenglifangmiandejianquruoshi,yiduyinfaguangfanreyi。shigejinyinian,tayouzaibenwenzhongzhongdianjieshaole google de android jishubenshencunzaideyixiewenti,piru dev stack queshi、jianrongxingcha、kaifakuangjiaanquanxingdidengdeng,duici,nizenmekan?
以下为译文:
1. qianyan:conglikai google daozaogaode android
wozhijinrengranbunengbaifenzhibaidiquedingweishenmewofabiaodeneipianjiaozuo《woweishenmeyaolikaiguge》debowenhuishoudaoruciduodeguanzhu。zaineipianbowenli,wozhishilaotaolexiezhuru“wohuangongzuobijiaosuixing”zhileidefeihua,quebuzhiweihehuibeizhuzizhujudifanyicheng 80 zhongyuyanlaichuanbo,zhidaohoulaimouyitiancaibeinatali·botemandeyipianzhuanlanwenzhangchaoyue。gongpingdishuo,neigezhuanlanyaoyouqudeduo。
wocaiqizhongyigeyuanyinshiyinweineiyizhoumeiyoushenmejingbaoxinwenba?lingyigeyuanyinkenengshi medium wangzhanyongyouledaliangdeyonghu?medium wangzhanshiyigehenhaodepingtai,huixiangqixiebokederizi,wocengjingxiwanggugeyenengchuangzaochuyigexiang medium zheiyangyouxinyidechanpin,danzhengrunisuozhi,shishishangbingmeiyou。
wulunyuanyinshinayige,wodebowenshoudaodehuifuhaishihenyouqude。bajisitandemougejiahuoshuoruguowopengqiaohetazaitongyigechengshidehua,jiuyaoqingwohebeipijiu。lundundemourenyuanyichuyiqiandao,rangwozaidianhualihuayigexiaoshihetaliaoliaoyuyinsousuoshichanghuoguanyu garbo dehuati,wolimaodijujuele,yinweiwoshijishangduizheixieyiwusuozhi。yigeeluosirenshenzhizaiyicijuhuishangzouguolaiduiwoshuo:“nishulilebushaodirena”。haha,duomeyouqudeshiguang。
wangshangyeyouhenduopinglunduiwoxiangzaineipianbowenzhongbiaodadeguanjianxinxiyoubushaowujie,yourenshenzhiwen“zheibujiushigezhuanchefuwuma?” wocengchangshimiaohuiyizhanggengdade“hua”,dansihugaozale。youshijianwohuihuiguotouzaizhongxinkankanneipianbowen,kannengfourangdajiagengmingbaixie。
但今天我想要讨论的重点是 Android——站在一个外行者以及业余爱好 Android/iOS 的开发人员的立场,分享下我的个人观点。
woyizhiguanzhu android shiyinweiwomenzhengzaichangshizhaopinyixieyidongkaifarenyuan,nihuirenweizheijianshiqinghenjiandan。danshishizhengmingyidongkaifarenyuanshidangjinshichangshangde“qiangshouhuo”,henduogongsidouyouxuyao,erqieshichangshangdongdeyidongkaifaderenbingbuduo。zhaopintamenjiuxiangxiangzhuadujiaoshouyiyangburongyi。
weishenmemeigegongsidouxuyaoyidongkaifarenyuan?yinweizhuomianwangyekaifazhengzaimanmanxiaoshi。wozaigugedegegekaifatuanduidouyouxiepengyou——haoba,huoxuxianzaizhinengsuanshiqianpengyouba——tamencengjingzaibeidilizhizewo。danbuguantamenruhepipingwo,suizhezhenggeshijiexiangyidongduanqingxie,zhuomianwangyekaifahuijianjianjianshao。nikenenghaijide facebook cong“web first”dao“mobile first”dezhuanbianba,neichabuduoshizai 8、9 nianqiandeshile,facebook dangshichadianjiuwandanle。wobingbushishuozheizhongzhuanbianhuizaiyiyezhijianfasheng。danzheijiagongsizaiyishidaotamenyaomechengweiyigeyidonghulianwanggongsiyaomebeishichangpaoqideshihou,queshijinglileyichangshengcunweiji。
他们成功了,但这确实不容易,因为 Android 的 Dev Stack(开发堆栈)shishijieshangzuidadeyituo poo sandwich。
2. google neibugongchengshidebishilianzaochengde android jiongjing
zaiguge,daduoshugongchengshidouhenaomanerbuyuanzuoyidonghuowangyekaifagongzuo。tamenfeichangaomandixuancheng“wobuzuoqianduankaifa”。neiliyouyizhongxianxiang,woxihuanchengzhiwei“bishi dag lian”,zheilide dag shizhiyouxiangwuhuantu,youdianxiangliuchengtu。zaibishi dag liandedingduanzuozhedeshiyong c++ xiesousuofadongjidegongchengshi,tamenbi java gongchengshiku,java youbi python ku,python youbi javascript ku。tongyang,xiesousuodebixieguanggaoxitongdeku,xieguanggaodebixie app deku,xie app debigongjuku,gongjuyoubizuoqianduandegengku。zhurucilei。chengxuyuanxihuanhuxiangkanbuqiduifang。ruguonibuxingchengweigugedeyidongkaifagongchengshi,neimenijiangbeikunzaijigebishiliandedibu,meigerendouzaifushini。
danshi,dangwoyigeyouyigedicongshilesuoyouzheixiekaifagongzuozhihou,congxitongbianchengdaodaguimoshujugongcheng,congbianyiqishejidaofuwukuangjiakaifa,congyouxikaifadao web kaifa,zaidaoyidongkaifa,wokeyixiangnibaozheng,qianduanbianchengjishibuhuigengnan,yezhishaoheqitakaifagongzuoyiyangkunnan。houduanzhongdeyiqiekanshangqudoushimeiguan、zhengjie、youxu、fenbushibingqieshikebingxingde——yu 25 nianhourengranyituanzaodeqianduanwangyekaifaxiangbi,zheijianzhishitiantang。ruguozaihebaokuo ios zaineideyidongbianchengneizhong“bianbiansanmingzhi”xiangbi,napaqianduanwangyebianchengyehuiyourubalidaodeyicimeimiaozhilv。
android zenmeyangni?meicuo。zheishitamenzhongzuidade“poo sandwich”。ruguobujieyiwoshuojuqiaopihuadehua,android kaifarenyuandoushiyingxiong。ruguoyong android laikaifajuxingyingyong,rugugeditu、facebook huo snapchat……ruguowogaosuni,nidoubuhuixiangxin——gaiwanyixingdaima,zuozaineiliyaodengshang 20 fenzhongcaihuikandaofashengleshenme。nisuozuodemeiyigegenggai,wulunduomexiwei,zaidiyicichangshishidouyou 80% dejilvbuhuiyouxiaoguo,yinwei android detezhenghucaozuoxingjuzhenyichangjiandan。nikeyiyong x,yekeyiyong y,danshiyinweimougegaisideyuanyinnijiushibunengtongshiyong x he y。
设备兼容性这事更是让我火大。我在 Google Play 商店里有一堆一星评论,因为我的 Wyvern 游戏 App 随机地不能在 LG 设备上工作,所以我不得不去 eBay 上买一个 60 美元的廉价 LG 设备(而不是那种劣质的 600 美元的 LG 设备)laizhongxianzheige bug,jieguofaxian android youlianggezaigundongliebiaoshanghuoqushubiaodianjishijiande api,danshiyouyige api zai lg shangbuqizuoyong。
woxiangshuo,youmeiyougaocuo!
正因为 Android 总有这样的莫名其妙的事情发生,现在许许多多的竞争对手,无论大小,都推出了自己的 Android 替代框架。他们想替代的不仅仅是缺失功能的支持库(尽管很多这样做了),tamengengxiangyaozuodeshiquanmiantidaiguge android dequanmiandekaifaduizhan。xianzaiyijingmianshidetidaikuangjiayouweiruande xamarin、adobe de cordova、facebook de react native。chuciyiwai,zaizixikankan,haiyou framework7、appcelerator titanium、onsen、sencha、kendo、xdk、ionic、mobile angular、unity——tianna,zheidaodishiyaozhengnayichu!
jiuxiangsuoyoucengjingchangshiguo android kaifaderenfangqihoudouhuishuo:“android taizaogaole,woyaozijiquzuoyigegenghaode。”
erguge,buganyubeijingzhengduishouchaoyue,huiyingshuo,“e,shima?niwufahewomenjingzheng,yinweiwomendejingzhengduishoushiwomenziji!”。ranhoutamentuichule flutter,zheishiyige 100% yansude android kaifaduizhan,yuyuansheng android jingzheng,er android kaifatuanduishenzhijujuechengrentadecunzai。
3. android deduishou
zheixiekaifakuangjiadewentizaiyutamenshi google rongyishoudaogongji。daduoshucileikuangjiadoushikuapingtaide,zheiyiweizhenizhixubianxieyigeyingyongjiukeyizai ios he android shangyunxing。buguannishidagongsihaishixiaozuofang,meiyourenyuanyifushuangfenxinshuiqinglianggekaifatuanduizaibutongdepingtaishangbianxiewanquanxiangtongdeyingyong。yinci,judadejingjiyaliqushigongsiqianyidaokuapingtaikuangjia。weiyituohoutuidedifangzaiyu,muqianzheixiekuangjiahaiburu“yuansheng”kaifakuangjianeimebang。
但其中一些框架(尤其是 Facebook 的 React Native)julizheigemubiaoyijingfeichangfeichangjinle。ruguotamenzhongdeyigechenggongqiangzhanlezugoudadeshichangfene,neime android jibenshangjiuchenglekaifazheshengtaixitongdeyibufen,bingqiezheigexitongyijingbuzaiyougugekongzhile。
这似乎不是什么大问题,因为谷歌仍然拥有 Play Store、OEM 和许可授权等。对大多数人来说,他们似乎很舒服地坐在驾驶座上。但是考虑一下:如果所有移动开发者都开始使用一个特定的跨平台框架 X,那么从字面上来看任何其他的硬件/操作系统制造商或联盟都可以和他们自己的竞争硬件/操作系统平台(比如 Windows)一起直接支持该框架 X,并且所有的应用程序都可以在其上运行(可能更快,更容易启动)。zheijiangwanquanbagugeqiegechulai。xiangxinwo,henduogongsidouxiangzheiyangzuo。duibuqi,woshuocuole,bushihenduo,ershiquanbu。sheibuxiangni?
谷歌对这种情况的反应是绝不让步。他们加倍投入到自己的“原生”(传统)android biancheng,wei kotlin yuyantigongguanfangzhichi,zheiduiyuyuansheng android chengxuyuanlaishuoshiyigehendadejinbu。woxihuan kotlin,tadaibiao java deweilai。danrangwomenmianduixianshi:zheiyijingbushiyidongkaifadefazhanfangxiangle。renmenbianxiekuapingtaikuangjiadeyuanyinyouliangge:diyi,yinweitamenxiwanggongsideyingyongchengxuzailianggepingtaishanggongzuo,erbuxuyaozuoliangbeidegongzuo。dier,yinwei android yuanshengkaifarengranrucitongku,jishiyoule kotlin,xuduogongsiyeganjuetamenyinggairengdiaota,bingcongyigegengrongyidejishushangcongtouzailai。
如果你是一个 Android 或 iOS 开发者,并且你花了一些时间尝试 React Native(Facebook 创建它是为了帮助解决这些问题),不到 30 秒你就会意识到这是更好的方法,不过前提是你开发的不是游戏,否则你可能更愿意使用 Unity。对于业务和产品类的应用,React Native 提供了合理的性能、跨平台兼容性和极为方便的工具(最好的来自 Microsoft),jidatigaolefazhansudu。haijidewoqianmianshuoguoyixingdaimadegaibianxiaoguozaichanggui android duizhanzhongyaohua 20 fenzhongcainengkandaoma?zheikenengfashengzaixiang nest huo facebook zheiyangdedaxingyingyongchengxuzhong,danjishishizhongxingyingyongchengxu,yekenengxuyao 2-3 fenzhong。er react native zejishide,niyidangaibianledaima,jiunengjikekandaoxiaoguo。
zheiyiweizhechanpingongnengdefabusudukeyitigao 10 bei;zheiyiweizhegengkuaideshangshishijian;zheiyiweizhexianfazhirendeyoushi;zheiyiweizhenimenzaijingzhengzhongbuduanqusheng。fangqiyuanshengbianchengkuangjia,zhuanershiyongxiang react native zheizhongkuaijiezoudekuapingtaikuangjia,jianghuirangniliyububaizhidi。
wohuaiyi,zaimeiyouzhengjudeqingkuangxia,gugede android tuanduibingbunengquedingkuapingtaiduitamenshihaoshihuai,dantamenqingxiangyu“huai”,fouzetamenhuiweikuapingtaide flutter tigonggengduozhichi。wogerenrenweizheiduitamenyouhaochu,danwoshuolebusuan。
buguanzenyang,gugemuqianzhengzhiliyutongguogaishanyuanshengtiyan,laibaochizijidelingxiandiwei。erqie,youyuyuanshengtiyanduiyuxiang snapchat he instagram zheiyangdedaxingyingyongchengxulaishuoshizuizaogaode,tamenzhuyaoshishitujiejuedaxingyingyongchengxukaifatiyanwenti,erzheizhuyaoyoushiyougoujianshijianlaijuedingde。
为了解决这一问题,谷歌在改善“官方”的 Android 应用程序构建系统上做了大量工作,而这个系统自身是基于本来就已经非常复杂的 Gradle 系统,谷歌随后又在其上加入了大量乱七八糟的 Android 特有的东西。日复一日,这个系统变得越来越复杂,甚至构建工程师都不再能理解其中的某些部分。如果你想试着搞清楚构建类型(Build type)、产品风格(Product flavor)和风格维度(Flavor dimension)zhijiandaodiyoushenmequbie,neizhinengshuozhunihaoyunle。yinweigugeyizhizaizengjiazheigexitongdefuzaxing,tamenrenweizengjiadezheixiedongxiduiyuyongyoudaxingyingyongdedaxinggongsihenzhongyao。
fengcideshi,daduoshudaxinggongsidouzaijijidijiangqiqizhibuyong,zhuanerzhichi facebook de android goujianxitong——buck,kanqilaigugezhengzaizouxiangyigesihutong。
yinci,sihugugeyijingmingbaizheishiyigewenti,danshitamenquezaijiabeizhiliyuyigemeiyourenxihuandejiejuefangan——yigeyongyoujiqifuzade gradle goujianxitongdeyuanshengduizhan——kaifarenyuanzhengzaiyuanli,erdisanfangkaifaduizhanzhengzaibuduanhuodeshichangfene。
4. hulianwangjutoumenzhendui android faqi“gongji”
更糟的是,开发堆栈并不是shoudaodeweiyigongji。haiyouqitayixiefangfakeyijiang android conggugeqiezou。yizhongfangfashichuangjianyigegengchenggongdeshangdian:play store shigugedui android zuizhuyaodekongzhishouduan,tazaigongsihezhengfucengmianyinqilehenduozhengyi。yinwei android juchengshiyigekaifangxitong,dan play store que 100% yougugekongzhi。erweiruanhe twitter zhichixiade cyanogen cengshidapozheizhongjumiandezhongdachangshi。suiranyouyuneibuquanlizhengdouerzuizhongshibai,danzheishidiyicirenzhenchangshiduiyu play store jinxing“gehou”daji。
另外猜猜还有谁和竞争对手正在联手对谷歌大打出手呢?你猜对了,正是 Jeff Bezos(Amazon 的 CEO)。yinweiruguobuconggugetouqu android xitong,tajiubunengchengweiquanqiushougewanyifuweng。yamaxundeyingyongshangdianyijingzuodexiangdangbucuole,erwokandaodeyamaxunhegugezhijiandejihumeiyichangmianduimiandejingzhengzhong,yamaxundebiaoxiandouhuisuizheshijiandetuiyieryuelaiyuehao。dangxinle,guge!
如果这些还不足以让谷歌担心,那么针对 Android 系统还有第三场袭击,而这场袭击正中谷歌的要害——在线广告。如今,Facebook 的 Android 应用变得相当庞大(多年来有数百名工程师致力于此),yiranfazhanchengweiyigezhenzhengdepingtai,xianzaiqiyekeyizhijiejiangguanggaotoufangdao facebook deyingyongzhong。liru,《niuyueshibao》keyizaineiligoumaiguanggaotoufang,suoyoudeqiandouzhijiecongniuyueshibaozhuandao facebook,erbubiyunyifenqiandaoguge,keyixiangxiangzheiranggugeyouheganshou。
正如微信在中国一样——微信应用已经成为一个蓬勃发展的平台,可以在其上构建和部署其他应用(和广告)。jiuxiangbayigewanzhengdeshichangqianrudaoyingyongneibu,facebook heweixinyidongyingyongyijingchengweidulideguanggaofabuqudao。
让我们澄清一下:谷歌创建 Android 的唯一原因在于 Android 是一个广告频道(Channel)。gugeshiyijiaguanggaogongsi,shijieshangzuidadeguanggaogongsi,yinerzongshishoudaozhuduogongsiwuxiuzhidegongji,zheixiegongsixiangbayonghuyanqiuzhuanyidaotamenzijidepindaoerbushigugepindao。guigenjiedi,zheihezhenduiwangluozhonglixingdegongjijihuruchuyizhe。dianxinyunyingshanghe isp xiwangweinitigongsuoyounixiangkandaodeguanggao,huozhezhishaoconggugehe facebook deguanggaozhongfendeyibeigeng。
meidangnikandaoxiang facebook、guge、yamaxunhuoweiruanzheiyangdegongsishenmidijinruyigemoshengdexinyewu,nikeyiquexinxindeguanggaopindaozhengduokaishile。gugede chrome shiyigekongzhi web fangwendeguanggaopindao;weiruande xbox shiyigezhendui playstation deguanggaopindao,taweixieyaojiang pc zuoweizaijiashangwangdepindao;youtube shiyigeguanggaopindao;instagram he whatsapp yeshileisichanwu;hbo/amazon/netflixneirongzhanshiyigezhibaideguanggaopindao;yamaxun echo shiyigeguanggaopindao,ernidejiayijingbianchengjintianzuidadeguanggaopindaozhiyi;jishishigugeditu,yeshibendiguanggaodeyigeguanggaopindao……yidannikaishiguancha,jiuhuifaxianguanggaopindaowuchubuzai。
最重要的是,企业希望你通过他们的频道而不是其他人的频道观看你最喜欢的内容(书籍、电影、游戏等),zheiyangtamenjiukeyihuodeguanggaoshouru,huozhezhishaoshidingyueshouru。
Android 可能是谷歌最重要的频道——即使今天不是,在未来的十年肯定是。他们不能失去对它的控制。但我们已经看到,至少有三个不同维度的协同攻击正在发生:开发者生态系统(React Native 和它的朋友们)、商店应用(Amazon 的 App Store 和 传言中的 Cyanogen 继承者)以及轻量级的应用内市场(Facebook 和微信等)。daomuqianweizhi,gugeduimeiyigeweixiedefanyingdoushi……haoba,budebuchengrentamenrengranchuzailingxiandiwei,zhishaoxianzaishi。
言归正传——
所有这些看起来像是一堆无用的高谈阔论(原本就是),但它实际上对 Crab 这样的公司产生了实质的影响,因为我们必须对我们开发移动应用要使用哪些技术堆栈做出重大决策,这些应用对于我们的乘客、司机、商人、代理等而言,是通向外部世界的窗口(也即频道)。
ruguonirenweigugequeshiyoukenengshiqudui android dekongzhi,neimenizuihaodexuanzeshishiyongkuapingtaikuangjia,yinweitajiangtongguogaijindekeyizhixinglaiduichongnideduzhu。ruguonixianrulejiliedejingzhengzhongerxuyaogengkuaidechanpinfabusudu,nikenengyinggaixuanzeyuansheng android yiwaidechanpin。android rengzaizhuizhuzhe“gradle”lieche,danzheitiaolujuebuhuizoudetaikuai,erzheihendachengdushangshiyinwei android shejideyiliuwentihennanjiejue。
zaikuapingtaixuanxiangzhong,react native kanqilaixiangshiyigeyingjia。taxiyinlexuduo web kaifarenyuan,zheikenengshiquanqiuzuidadekaifarenyuanshouzhong,hennanyuzhijingzheng。grab zuijinkaishitouzi react native,kankantanengfoushixianzijidechengnuo,daomuqianweizhi,kanqilaixiangdangbucuo。dangran,yaobawomendeyuansheng android he ios yingyongtuixialai,haiyouhenzhangyiduanluyaozou,yinweiyizhiqueshixuyaoshijian。
zongjieyixiazheipianbowenbeihoudezhuyaoguandian:yidongkaifarenyuanshichangjinque,hennanguyongdedao,yinweichulegugeyiwai,suoyourendouzhidao android bianchenghenjiannan。suoyixianzaizhenggeshengtaiquanzhengzaixunsufazhan,henduojingzhengduishouzhengzainulirangzijidefangshichengweiyidongkaifadeweiyizhenzhengfangshi。zheishidezhaopinyidongkaifarenyuangengjiakunnan,yinweizhenggeshengtaiquanshirucidefensan。
danshiruguobukaolvnidefengge,xianzaizhengshichengweiyidongkaifarenyuandehaoshiji。ruguonishiyigefeiyidongkaifazhe,niyinggaikaolvqiehuandaoyidongkaifayiduanshijian。conghouduantiyanhexuexiyidongkaifakaishi,ninjiangchengweiyige“quanzhankaifarenyuan”,zheiyangdekaifarenyuanzaishichangshanggengjiahanjian,shigengjushichangjiazhidedujiaoshou。
ruguoniduiciyouxingqu,shishihoucanyuzheiyangdejingzhengzhonglai,yihuodedui android dekongzhi,henduogongsidouzaizheiyangzuo,shenzhigugedeqitatuanduiyezaizheiyangzuo。xianzaiyouhenduodashayuraozhe android zheitiaochuanzaidazhuan,gugexuyaotigaojingti。
原文:who-will-steal-android-from-google
本文来自微信公众号:CSDN(ID: CSDNnews)