開發(fā)者吐槽:Android開發(fā)就像“大便三明治”

作者|Steve Yegge
策劃|覃云

本文簡要剖析 Android 生態(tài)系統(tǒng)在開發(fā)棧方面的現(xiàn)狀译隘,告訴你原生Android開發(fā)是多么的惡心锌杀,以及不同競爭對手圍繞 Android,從開發(fā)體驗(yàn)肾档、應(yīng)用商店国拇、廣告渠道三大領(lǐng)域與 Google 展開的戰(zhàn)爭。

作者聲明:本文純屬個(gè)人觀點(diǎn)秘豹,其中很多可能并不正確,所有言論與前端之巔無關(guān)昌粤,請用批判的思維閱讀本文既绕。

我來了,又一次涮坐,正在飛往雅加達(dá)的航班上撰寫這篇文章凄贩,這似乎已經(jīng)成了我的習(xí)慣。

至今我依然不能完全肯定袱讹,當(dāng)初那篇“我為何從 Google 離職”博客文章怎么就引起了那么大的關(guān)注疲扎£鞘保基本上我只是表達(dá)了“我就是一個(gè)喜歡頻繁換工作的普通人”之類的觀點(diǎn)〗飞ィ可就這么一篇文章被翻譯成了大概 80 種語言壹甥,甚至變得比娜塔莉·波特曼的兩性專欄更火,老實(shí)說壶熏,她的專欄內(nèi)容可有趣多了句柠。

也許可能那一周沒有其他更勁爆的新聞了吧,或者只是因?yàn)?Medium 的用戶數(shù)又再攀新高棒假?Medium 是個(gè)很棒的平臺溯职,回首以前寫博客的日子,我還曾期待著 Google 能提供一種類似的創(chuàng)新式產(chǎn)品呢帽哑,不過……后來谜酒,你懂的。

今天祝拯,我想談?wù)?Android甚带,作為局外人兼業(yè)余 Android/iOS 開發(fā)者,我自己對 Android 的看法佳头。考慮到“麥芒落進(jìn)針尖里”這種事不可能連著發(fā)生兩次晴氨,我也可以放心假設(shè)本文不會像上次那樣突然就火到不行康嘉,今天,這件事籽前,我只說給你聽亭珍。

最近我們要招募移動開發(fā)者,所以又開始考慮 Android 的各種事宜枝哄。你也許覺得招聘開發(fā)者是個(gè)再簡單不過的事肄梨,但實(shí)際上開發(fā)者是目前市面上最搶手的資源。Grab (我的公司)需要開發(fā)者挠锥,每個(gè)人都需要開發(fā)者众羡,可開發(fā)者的數(shù)量嚴(yán)重不足”妥猓看誰運(yùn)氣好能搶到吧粱侣。

為什么每個(gè)人都需要移動開發(fā)者?因?yàn)?Web 正在慢慢死去(編者注:這里指PC Web)蓖宦。我的一些友人(也許是“前友人”)就職于 Google 的幾乎每個(gè)部門齐婴,他們經(jīng)常向我展示一些結(jié)果很悲觀的圖表,無論怎么切片查看稠茂,隨著整個(gè)世界愈加移動化柠偶,Web 都在穩(wěn)步衰退中。

見鬼,你也許還記得 Facebook 從 Web 為先向移動為先的轉(zhuǎn)換過程诱担,這事是什么時(shí)候開始的毡证?八年還是九年前?Facebook 可是差點(diǎn)就掛了该肴。我是說情竹,雖然并沒有一夜之間突然完蛋,但當(dāng)這家公司意識到自己必須轉(zhuǎn)型成移動公司匀哄,否則必然被歷史遺忘時(shí)秦效,他們就開始面臨嚴(yán)重的生存焦慮。

他們設(shè)法做到了涎嚼,但毫無疑問這個(gè)過程異常困難阱州,因?yàn)?Android 開發(fā)棧是全世界最大的“大便三明治”。

便便烹飪法

Google 的大部分工程師在移動或 Web 編程方面實(shí)在是太自大了法梯√酰“我不做前端”,他們用自傲的聲音高聲宣告著立哑。這其中甚至存在一種我稱之為“DAG 蔑視(DAG of Disdain)”的現(xiàn)象夜惭,DAG 是指有向無環(huán)圖(Directed Acyclic Graph),有點(diǎn)類似于流程圖的東西铛绰。

在這個(gè)鄙視鏈中诈茧,使用 C++ 寫代碼的,崇高的搜索工程師位居最頂部捂掰,人們認(rèn)為 C++ 比 Java 酷敢会,而 Java 又比 Python 酷,Python 則比 JavaScript 酷这嚣。而搜索無疑要比廣告酷鸥昏,廣告要比應(yīng)用酷,應(yīng)用則比工具酷姐帚,工具比前端酷吏垮。以此類推。

程序員們喜歡互相鄙視卧土。

如果你倒了八輩子霉成為 Google 的移動工程師惫皱,就只能跌落鄙視鏈的最底端,其他所有人都位居你的上位尤莺,大家都在俯視你旅敷。

但當(dāng)我一個(gè)人親自逐一完成所有這些工作,從系統(tǒng)編程到大規(guī)模數(shù)據(jù)工程颤霎,再從編譯器設(shè)計(jì)到服務(wù)框架開發(fā)媳谁,從游戲開發(fā)到 Web 開發(fā)再到移動開發(fā)涂滴,我可以向你保證前端編程哪怕不會更難,至少也和其他工作一樣難晴音。

后端的一切都顯得那么美觀柔纵、簡潔倦沧、有序召嘶、分布式季蚂、可并行叫搁;盡管已經(jīng)過了 25 年,但相比亂七八糟的 Web 開發(fā)柑肴,后端開發(fā)依然美好如天堂涝登。如果再和包括 iOS 在內(nèi)的移動編程那種“大便三明治”相比播聪,哪怕 Web 編程也會顯得猶如巴厘島度假那般美好椒振。

Android 呢昭伸?沒錯(cuò),Android 就是最大的“大便三明治”澎迎。如果你不介意的話庐杨,完全可以說 Android 開發(fā)者都是英雄。為 Android 開發(fā)諸如 Google Maps夹供、Facebook 或 Snapchat 這樣的大型應(yīng)用灵份,說起來,你絕不會相信我的看法:哪怕只修改了一行代碼哮洽,也要坐等 20 分鐘才能知道結(jié)果各吨。

你的每次改動,無論多么微不足道袁铐,都有 80% 的可能首次嘗試就無法生效,因?yàn)?Android 的特征互操作性矩陣簡陋到讓人吃驚横浑。你當(dāng)然可以使用 X剔桨,也可以使用 Y,但你就是不能同時(shí)使用 X 和 Y徙融,反正就是不行洒缀。

設(shè)備兼容性這事更是沒法說。我的作品在 Google Play Store 有很多憤怒的一顆星評論欺冀,因?yàn)槲议_發(fā)的 Wyvern 游戲就是會隨機(jī)地?zé)o法在 LG 的設(shè)備上運(yùn)行树绩,為了重現(xiàn) Bug,不得已的我只能去 eBay 買了個(gè)售價(jià) 60 美元的低端 LG 設(shè)備(而不是 600 美元的高端貨)隐轩,然后發(fā)現(xiàn)饺饭,獲取鼠標(biāo)點(diǎn)擊事件的 Android API 有兩個(gè),而其中一個(gè)就是不能在 LG 的設(shè)備上使用职车。

事情實(shí)際是這樣的:很多廠商瘫俊,無論規(guī)模大小鹊杖,都會用自己的框架替換 Android 框架。這種做法不光發(fā)生在缺少的功能對應(yīng)的支持庫上扛芽,而是普遍存在的情況骂蓖。甚至有些廠商會全面替換 Google 的整個(gè) Android 開發(fā)棧。微軟有 Xamarin川尖,Adobe 有 Cordova登下,F(xiàn)acebook 有 React Native,這簡直是瘋了叮喳。再仔細(xì)看看被芳,還有 Framework7、Appcelerator Titanium嘲更、Onsen筐钟、Sencha、Kendo赋朦、XDK篓冲、Ionic、Mobile Angular宠哄、Unity……講真壹将,這到底是要鬧哪樣?

就好像每個(gè)嘗試過 Android 開發(fā)的人都會在放棄之后說一句:“局面太糟糕了毛嫉,我要自己成立一家創(chuàng)業(yè)公司诽俯,創(chuàng)造更美好的明天〕性粒”

而 Google 呢暴区,也沒比他的競爭對手好多少,對此問題只是說:“是嗎辛臊?但你是沒法戰(zhàn)勝我們的仙粱,因?yàn)槲覀冏约憾荚谧笥一ゲ 保?strong>然后 Google 就發(fā)布了 Flutter彻舰,這是一種專為與原生 Android 競爭而生的 Android 開發(fā)棧(這說法可不是我編造的)伐割,而 Android 團(tuán)隊(duì)甚至拒絕承認(rèn)它的存在。

襲擊 Android

上面這些開發(fā)框架的問題在于刃唤,會讓 Google 對 Android 的控制變得非常脆弱隔心。大部分此類框架都是跨平臺的,這意味著寫一個(gè)應(yīng)用就可以同時(shí)在 iOS 和 Android 上運(yùn)行尚胞。無論大公司或小作坊硬霍,沒人愿意支付兩份薪水,組建兩個(gè)開發(fā)團(tuán)隊(duì)辐真,只為了針對不同平臺開發(fā)完全相同的應(yīng)用须尚。巨大的經(jīng)濟(jì)壓力迫使很多公司轉(zhuǎn)為使用跨平臺框架崖堤。唯一拖后腿的地方在于,目前這些框架不如“原生”開發(fā)框架那么棒耐床。

但很多此類框架(尤其是 Facebook 的 React Native)距離這個(gè)目標(biāo)已經(jīng)非常非常近了密幔。如果其中某個(gè)框架有幸占據(jù)了足夠大的市場份額,那么基本上 Android 就等于變成了開發(fā)者生態(tài)系統(tǒng)中的一環(huán)撩轰,并且是不再被 Google 控制的一環(huán)胯甩。

這似乎并不是什么大不了的事情,因?yàn)?Google 依然控制著 Play Store堪嫂、OEM 廠商以及技術(shù)授權(quán)之類的東西偎箫。對大部分人來說,他們也許很舒適地坐在駕駛位上皆串,不過別忘了:如果所有移動開發(fā)者都開始使用某一個(gè)特定的跨平臺框架 X淹办,那么基本上任何其他硬件/操作系統(tǒng)廠商或聯(lián)盟都會開始提出自己能直接兼容框架 X 的競爭性硬件/操作系統(tǒng)平臺(例如,假設(shè)就說 Windows 吧)恶复,而所有應(yīng)用都將能在這個(gè)平臺上運(yùn)行(也許啟動速度還能更快)怜森,這會將 Google 徹底淘汰。相信我谤牡,想做這種事的公司有很多副硅。好吧,不該這樣說翅萤,并非所有公司都想恐疲。其實(shí)不管哪個(gè)公司,誰會不想呢套么?

面對這種情況培己,Google 的回應(yīng)是繼續(xù)堅(jiān)持自己的立場。他們開始加倍下注自己的“原生”(傳統(tǒng))Android 編程胚泌,為 Kotlin 語言提供官方支持漱凝,對于原生 Android 程序員來說,這已經(jīng)是一步很大的舉措了诸迟。我喜歡 Kotlin,它代表著 Java 的未來愕乎,但必須承認(rèn):它已經(jīng)不是移動市場的未來方向了阵苇。

人們使用跨平臺框架開發(fā)程序,主要出于兩大原因:首先感论,他們希望工作量不翻倍的情況下绅项,就能讓自己的應(yīng)用在兩個(gè)平臺上運(yùn)行;其次比肄,由于 Android 原生編程至今依然讓人感覺痛苦快耿,雖然有了 Kotlin囊陡,很多公司依然(無可非議地)認(rèn)為應(yīng)該徹底推翻原有的一切,換一種更簡單的方式從零開始掀亥。

如果你是 Android 或 iOS 開發(fā)者撞反,并且花了一些時(shí)間嘗試過 React Native(Facebook 正是為了解決上述問題而發(fā)明了它),不到 30 秒你就會意識到搪花,這果然是一種更好的方法遏片,不過前提是你開發(fā)的不是游戲,否則你可能更愿意使用 Unity撮竿。

對于業(yè)務(wù)應(yīng)用和生產(chǎn)力應(yīng)用吮便,React Native 提供了合理的性能、跨平臺兼容性幢踏、極為方便的工具(最棒的工具來自微軟髓需!上文剛提過他家的產(chǎn)品),以及大幅提高的開發(fā)速度房蝉。還記得上文說過的嗎僚匆,常規(guī) Android 開發(fā)棧中,哪怕修改一行代碼惨驶,也要等 20 分鐘才能看到效果白热。諸如 Nest 或 Facebook 等最大型的應(yīng)用中,這種問題已經(jīng)司空見慣粗卜,對于中等規(guī)模的應(yīng)用屋确,通常等待 2-3 分鐘就夠了。但如果使用 React Native续扔,立刻就能看到結(jié)果攻臀。更改代碼,改動立即生效纱昧。

伙計(jì)們刨啸,這就意味著產(chǎn)品發(fā)布速度可以提高 10 倍,產(chǎn)品上市速度可以變得更快识脆,意味著你可以更好地發(fā)揮先行者優(yōu)勢设联,意味著你會不斷地贏得競爭。放棄原生編程框架灼捂,轉(zhuǎn)為使用諸如 React Native 這種節(jié)奏更快地跨平臺框架离例,這才是制勝之道。

我懷疑悉稠,在沒有證據(jù)的情況下宫蛆,Google 的 Android 團(tuán)隊(duì)并不能明確跨平臺對他們而言是好是壞,但他們正傾向于認(rèn)為是“壞”的猛,否則他們就會為跨平臺的 Flutter 提供更多支持耀盗。個(gè)人而言我覺得這對他們是有好處的想虎,但我又懂啥呢。

無論如何叛拷,Google 目前正在努力改善原生體驗(yàn)舌厨,試圖借此維持自己的統(tǒng)治地位。原生開發(fā)體驗(yàn)對諸如 Snapchat 以及 Instagram 這樣的大型應(yīng)用會顯得最不友好胡诗,而 Google 的主要目標(biāo)恰恰是改善大型應(yīng)用的開發(fā)體驗(yàn)邓线,而這主要是由構(gòu)建所需的時(shí)間決定的。

為此煌恢,Google 正在通過大量努力改善“官方”的 Android 應(yīng)用程序構(gòu)建系統(tǒng)骇陈,而這套系統(tǒng)自身是基于本就非常復(fù)雜的 Gradle 系統(tǒng)實(shí)現(xiàn)的,Google 只不過是在這基礎(chǔ)上塞入了一堆亂糟糟的 Android 規(guī)范瑰抵。導(dǎo)致這個(gè)系統(tǒng)變得越來越復(fù)雜你雌,以至于甚至構(gòu)建工程師都無法完全理解其中的組件。構(gòu)建類型(Build type)二汛、產(chǎn)品風(fēng)格(Product flavor)以及風(fēng)格維度(Flavor dimension)之間有什么區(qū)別婿崭?你猜!而 Google 還在不斷讓水變得更渾濁肴颊,因?yàn)樗麄冇X得這些特征對開發(fā)大型應(yīng)用的大型公司很重要氓栈。

諷刺之處在于,大部分大型公司正在積極轉(zhuǎn)為使用 Facebook 的 Android 構(gòu)建系統(tǒng):Buck婿着,Google 在這方面似乎已經(jīng)陷入了死胡同授瘦。

盡管 Google 已經(jīng)意識到問題所在,但他們下重注提出的解決方案卻沒人喜歡:原生開發(fā)棧竟宋,以及復(fù)雜程度進(jìn)一步暴增的 Gradle 構(gòu)建系統(tǒng)提完。開發(fā)者正在遠(yuǎn)離,第三方技術(shù)棧正在攻城略地丘侠。

側(cè)翼襲擊

更糟的是徒欣,圍繞 Android 的襲擊不光發(fā)生在開發(fā)棧方面,他人還可以通過其他方式將 Android 從 Google 手中“盜走”蜗字。例如創(chuàng)建一個(gè)更成功的應(yīng)用商店打肝。Play Store 是 Google 對 Android 加以控制的主要方式之一,但在這方面已經(jīng)產(chǎn)生了大量爭議(企業(yè)層面以及管控層面)挪捕,因?yàn)?Android 據(jù)稱是一個(gè)開放的系統(tǒng)闯睹,但 Play Store 完全由 Google 控制。由微軟和 Twitter 支持的 Cyanogen 曾被視作推翻這一現(xiàn)狀的重大舉措担神,雖然由于內(nèi)部權(quán)力爭斗最終失敗,但也曾首次給予 Play Store 一記重拳始花。

另外也請猜猜看還有誰在應(yīng)用商店方面下狠手了妄讯?沒錯(cuò):Jeff Bezos(譯注:Amazon 的 CEO)孩锡。Amazon 的應(yīng)用商店已經(jīng)發(fā)展得很好了,而 Amazon 與 Google 的每次面對面競爭中亥贸,長期來看 Amazon 的成績都很棒躬窜。當(dāng)心啦!

如果這些還不足以讓 Google 開始擔(dān)心炕置,那么圍繞 Android 還有第三場襲擊荣挨,這場襲擊無異于在 Google 的傷口上撒鹽:在線廣告默垄。Facebook 的 Android 應(yīng)用已經(jīng)變得無比龐大(數(shù)以百計(jì)的工程師多年辛苦工作的結(jié)果)口锭,以至于這個(gè)應(yīng)用本身已經(jīng)發(fā)展成為一個(gè)真正的平臺鹃操,現(xiàn)在荆隘,企業(yè)可以直接將自己的廣告投放到 Facebook 應(yīng)用中椰拒。例如紐約時(shí)報(bào)可以購買廣告位耸三,而他們支付的費(fèi)用將全部直接進(jìn)入 Facebook 的口袋浇揩,一分錢都不會給 Google胳徽。你覺得 Google 對此會有何感受养盗。

在中國,微信也在做著完全相同的事情箫爷。微信應(yīng)用也已成為一個(gè)繁榮的平臺,我們可以在此基礎(chǔ)上開發(fā)并部署其他應(yīng)用(以及廣告)硫痰,就好像這個(gè)應(yīng)用內(nèi)部就直接嵌入了一個(gè)完整的生態(tài)一樣窜护。Facebook 和微信的移動應(yīng)用已經(jīng)成為了獨(dú)立的廣告發(fā)布渠道柱徙。

需要明確的是:Google 創(chuàng)造 Android 的唯一原因在于护侮,對它而言 Android 是個(gè)廣告渠道概行。Google 是一家廣告公司凳忙,全球最大的廣告公司涧卵,而他們始終會面臨其他希望借助 Google 之外的其他渠道柳恐,將廣告投放到用戶面前的企業(yè)無休止的攻擊乐设。從財(cái)務(wù)角度來看近尚,這與圍繞網(wǎng)絡(luò)中立性的很多爭議幾乎如出一轍蠕啄。電信運(yùn)營商和 ISP 希望由他們提供你所看到的廣告,或者希望至少能從 Google 和 Facebook 的口中分一杯羹歼跟。

不管什么時(shí)候,當(dāng)你看到諸如 Facebook哈街、Google、Amazon 或微軟這樣的公司突然很莫名其妙地開始涉足某個(gè)全新的拒迅、奇怪的業(yè)務(wù)領(lǐng)域她倘,那么你就可以確定:渠道爭奪戰(zhàn)又開動了。Google Chrome 是控制 Web 訪問的渠道戰(zhàn)產(chǎn)物作箍;微軟的 Xbox 曾是對抗 PlayStation 的渠道戰(zhàn)產(chǎn)物帝牡,然而卻又威脅到了 PC 在家庭在線娛樂渠道中的地位蒙揣;YouTube 曾是渠道戰(zhàn)的產(chǎn)物;Instagram 和 WhatsApp 也是類似產(chǎn)物;HBO/Amazon/Netflix 的內(nèi)容戰(zhàn)爭實(shí)際上也都是渠道戰(zhàn)的產(chǎn)物嗤详。Amazon Echo 也是如此,每個(gè)人的家庭已成為當(dāng)今渠道爭奪戰(zhàn)最大的戰(zhàn)場苍狰。對地方性的廣告公司來說,就算 Google Maps 也是渠道戰(zhàn)的產(chǎn)物。仔細(xì)看看翔忽,渠道無處不在英融。

底線在于,很多公司希望你能通過他們歇式,而非別人的渠道欣賞自己喜歡的內(nèi)容(書籍驶悟、電影、游戲材失、Natalie Portman 的兩性專欄)痕鳍,這樣他們才能通過廣告獲得收益,或者最起碼也能通過你為所訂閱服務(wù)支付的費(fèi)用獲益豺憔。

Android 可能是 Google 最重要的渠道额获,就算目前還不是,未來十年內(nèi)肯定也會是恭应。Google 無法承擔(dān)失去這個(gè)渠道的后果抄邀。但我們目前已知的,圍繞這個(gè)渠道已經(jīng)在三個(gè)不同領(lǐng)域產(chǎn)生了至少三場多方配合的攻擊:開發(fā)者生態(tài)體系(以 React Native 為首的團(tuán)伙)昼榛、應(yīng)用商店(Amazon 的應(yīng)用商店以及傳說中 Cyanogen 即將上線的商店)境肾,以及輕量級的應(yīng)用內(nèi)市場(目前以 Facebook 和微信為主攻)剔难。截止目前,Google 對這三處攻擊的應(yīng)對措施……額奥喻,姑且算是小有成果吧偶宫。但這只是暫時(shí)的。

所有這一切看起來都像是一系列沒什么用處的夸張猜測(其實(shí)原本就是)环鲤,但最終卻對 Grab 這樣的公司產(chǎn)生了切實(shí)影響纯趋,因?yàn)閷τ跒樽约旱囊苿討?yīng)用使用哪種技術(shù)棧,我們需要做出重要的決策冷离,畢竟應(yīng)用(具體來說其實(shí)是渠道)才是我們通向世界的窗口吵冒,對乘客、司機(jī)西剥、商家痹栖、代理人員等無外乎于此。

如果你認(rèn)為 Google 確實(shí)有可能失去對 Android 的控制權(quán)瞭空,哪怕只有一丟丟的風(fēng)險(xiǎn)揪阿,那么最好選擇使用跨平臺的框架,因?yàn)榭梢浦残阅軌驗(yàn)槟闾峁┍匾谋Wo(hù)咆畏。而如果你(像 Grab 一樣)陷入了激烈的競爭態(tài)勢中并且需要加快產(chǎn)品的發(fā)布速度南捂,那么你可能至少要放棄 Android Native 方法。Android 依然在 Gradle 的道上悶頭朝前走鳖眼,這條路怎么走都不會快的黑毅,而這主要是因?yàn)?Android 在設(shè)計(jì)方面有很多嚴(yán)重,并且難以解決的遺留問題钦讳。

在眾多跨平臺技術(shù)中矿瘦,React Native 似乎將成為最后的贏家。它還吸引著廣大 Web 開發(fā)者愿卒,而他們可能是全世界最大的開發(fā)者群體缚去,這一點(diǎn)毋庸置疑。Grab 最近也開始評估 React Native琼开,我們想知道它能否實(shí)現(xiàn)自己的全部承諾易结,現(xiàn)階段我們的結(jié)論很樂觀。

距離 Grab 徹底放棄原生 Android 和 iOS 應(yīng)用的那一天還很遠(yuǎn)柜候,因?yàn)橐浦补ぷ餍枰ㄙM(fèi)不少時(shí)間搞动。我們有 React Native 的工作,有 Android Kotlin 的工作渣刷,還有 iOS Swift 的工作鹦肿,其實(shí)全球各地對這些工作崗位都還有著巨大的需求。如果你得不到老東家的賞識辅柴,不妨打量一下周圍的其他機(jī)會箩溃。過去三年來瞭吃,這個(gè)領(lǐng)域發(fā)生的變動實(shí)在是太多了。

本文的中心思想可總結(jié)如下:和每個(gè)人一樣涣旨,Grab 也需要移動開發(fā)者歪架,但很難招到理想的人員,因?yàn)?Android 編程實(shí)在是太煩人了霹陡,而且除了 Google 每個(gè)人都有類似的感受和蚪。因此目前整個(gè)生態(tài)中開始出現(xiàn)越來越多的競爭對手,他們都希望自己提出的方法最終將成為移動編程的唯一方法……而這也導(dǎo)致移動開發(fā)者更難招了烹棉,因?yàn)檎麄€(gè)生態(tài)是如此的碎片化惠呼!

無論你傾向于哪種技術(shù),現(xiàn)在都是成為移動開發(fā)者的最好時(shí)機(jī)峦耘。如果你還不是移動開發(fā)者,那么應(yīng)該考慮一下涉足這個(gè)領(lǐng)域體驗(yàn)看看旅薄。你可以從后端體驗(yàn)著手辅髓,隨后學(xué)習(xí)移動開發(fā),進(jìn)而讓自己成為“全棧開發(fā)者”少梁,這可是一種更稀缺洛口,也更有市場的獨(dú)角獸。

當(dāng)然凯沪,現(xiàn)在也是通過競爭奪取 Android 控制權(quán)的好時(shí)機(jī)第焰,如果你真想這樣做的話。正在做這事的公司可不少呢妨马,鬼知道為什么挺举,就連 Google 內(nèi)部的其他團(tuán)隊(duì)也正在這樣做。越來越多的鯊魚正在登上 Android 這艘船烘跺,Google 需要小心了湘纵。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市滤淳,隨后出現(xiàn)的幾起案子梧喷,更是在濱河造成了極大的恐慌,老刑警劉巖脖咐,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铺敌,死亡現(xiàn)場離奇詭異,居然都是意外死亡屁擅,警方通過查閱死者的電腦和手機(jī)偿凭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來煤蹭,“玉大人笔喉,你說我怎么就攤上這事取视。” “怎么了常挚?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵作谭,是天一觀的道長。 經(jīng)常有香客問我奄毡,道長折欠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任吼过,我火速辦了婚禮锐秦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盗忱。我一直安慰自己酱床,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布趟佃。 她就那樣靜靜地躺著扇谣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪闲昭。 梳的紋絲不亂的頭發(fā)上罐寨,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天,我揣著相機(jī)與錄音序矩,去河邊找鬼鸯绿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛簸淀,可吹牛的內(nèi)容都是我干的瓶蝴。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼租幕,長吁一口氣:“原來是場噩夢啊……” “哼囊蓝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起令蛉,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤聚霜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后珠叔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝎宇,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年祷安,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了姥芥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汇鞭,死狀恐怖凉唐,靈堂內(nèi)的尸體忽然破棺而出庸追,到底是詐尸還是另有隱情,我是刑警寧澤台囱,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布淡溯,位于F島的核電站,受9級特大地震影響簿训,放射性物質(zhì)發(fā)生泄漏咱娶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一强品、第九天 我趴在偏房一處隱蔽的房頂上張望膘侮。 院中可真熱鬧,春花似錦的榛、人聲如沸琼了。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽表伦。三九已至,卻和暖如春慷丽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鳄哭。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工要糊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妆丘。 一個(gè)月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓锄俄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親勺拣。 傳聞我的和親對象是個(gè)殘疾皇子奶赠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容