Facebook 开源安卓版 React Native,开发者可将相同代码用于网页和 iOS 应用开发
轉(zhuǎn)自:http://mt.sohu.com/20150915/n421177212.shtml
?
?
Facebook 創(chuàng)建了React Java 庫(kù),這樣,Facebook 的工程團(tuán)隊(duì)就可以用相同的代碼給iOS、安卓和網(wǎng)頁(yè)開發(fā)界面了。現(xiàn)在,Facebook 通過(guò)開源 React“三部曲”中的最后一部分—— 安卓版 React Native (React Native For Android),將應(yīng)用開發(fā)的超級(jí)力量賦予每個(gè)人。
Facebook 先是在 2013 年將 React 開源,接著又在今年初的F8 開發(fā)者大會(huì)上將 React Native 開源。但是,Android 版本意味著,熟悉 React 技術(shù)的工程師將可以為每個(gè)主要平臺(tái)開發(fā)應(yīng)用了。如此一來(lái),創(chuàng)業(yè)公司和大型科技公司就不必像現(xiàn)在這樣擁有那么多工程師了,也不必再為招聘精通iOS 和安卓開發(fā)技術(shù)的工程師而感到擔(dān)憂了——iOS 和安卓是兩種截然不同的代碼庫(kù)。反過(guò)來(lái),這又可以幫助加快團(tuán)隊(duì)開發(fā)新功能的步伐,進(jìn)而縮短從iOS 版發(fā)布到植入安卓平臺(tái)之間的時(shí)間。
今天,在一年一度的@Scale 大會(huì)上,Facebook 宣布將開源安卓版 React Native 。來(lái)自 Facebook、Twitter、谷歌、Box、Pinterest 和微軟等公司的 1800 名高管和工程師齊聚本次大會(huì),就如何改善他們的工程和基礎(chǔ)設(shè)施進(jìn)行合作。與會(huì)的公司們已總計(jì)對(duì) 4500 多個(gè)開源項(xiàng)目做出了貢獻(xiàn)。
為何選擇開源?
大家或許想知道,Facebook 為何要送出一份像 React 這樣強(qiáng)大技術(shù)的禮物呢?畢竟,Facebook 完全可以自己利用這項(xiàng)技術(shù),在與其他社交網(wǎng)站競(jìng)爭(zhēng)時(shí)在工程方面獲得優(yōu)勢(shì)地位。對(duì)此,Facebook 工程經(jīng)理湯姆·奧基諾(Tom Occhino)給出了以下三個(gè)主要原因:
社區(qū)貢獻(xiàn)——“從功能到漏洞查找,開發(fā)者社區(qū)對(duì)我們公司的發(fā)展做出了重大貢獻(xiàn)。” 人才招聘——“人們確實(shí)有興趣學(xué)習(xí)像 Facebook 等大平臺(tái)采用的技術(shù)。人們很高興加入打造這種技術(shù)的團(tuán)隊(duì)中。” 吸引工程師加盟——“這讓有意加盟 Facebook 的每一位工程師占據(jù)了先機(jī),因?yàn)樗麄円呀?jīng)了解了我們的構(gòu)架。”
基本上,Facebook 通過(guò)開源得到的東西遠(yuǎn)遠(yuǎn)超過(guò)失去的東西,同時(shí)還顯示出它無(wú)私的一面,畢竟這種舉動(dòng)與 Facebook 連接世界的愿景相符。奧基諾說(shuō):“單憑 Facebook 一家公司的力量無(wú)法開發(fā)所有的軟件。我們能做的最好的事情就是,向開發(fā)者提供工具,讓他們進(jìn)一步推進(jìn)這一使命。”
“一次學(xué)會(huì),到處可用”
長(zhǎng)期以來(lái),跨平臺(tái)開發(fā)的“圣杯”始終是“一次編碼,到處運(yùn)行”(code once, run anywhere),但是,由于網(wǎng)頁(yè)、iOS、安卓等平臺(tái)之間存在著重大不同,這一目標(biāo)根本無(wú)法實(shí)現(xiàn)。但是,React 在三個(gè)平臺(tái)中植入了一個(gè)抽象層(level of abstraction),這樣,你只要一次學(xué)會(huì) React,就可以到處編寫應(yīng)用了。
舉例來(lái)說(shuō),今年早些時(shí)候 Facebook 給iOS 和安卓?jī)纱笃脚_(tái)開發(fā)了一款原生 Ads Manage 應(yīng)用,得益于 React 技術(shù),開發(fā)時(shí)間僅僅是之前預(yù)期的一半。Facebook 原本預(yù)計(jì)開發(fā)這款應(yīng)用的時(shí)間為 18 個(gè)月,但它用時(shí) 5 個(gè)月開發(fā)出了iOS 版應(yīng)用,然后又在 3 個(gè)月內(nèi)將其移植到安卓平臺(tái)。
這項(xiàng)技術(shù)還能讓 Facebook 重拾“快速行動(dòng)”(Move fast)的理念,這種理念還是在 Facebook 只是一個(gè)完全基于網(wǎng)頁(yè)的平臺(tái)時(shí)提倡的,當(dāng)時(shí)它不斷發(fā)布代碼,測(cè)試新功能。隨著 Facebook 開始擁抱移動(dòng)時(shí)代,它不得不對(duì)工程團(tuán)隊(duì)做出分工,讓不同的專家從事網(wǎng)頁(yè)端、iOS 和安卓等三個(gè)平臺(tái)的應(yīng)用開發(fā)。
Facebook 工程經(jīng)理奧利維亞·比肖普(Olivia Bishop)告訴我,沒(méi)有 React 技術(shù),“應(yīng)用很難快速迭代,因?yàn)槊看文阕龀稣{(diào)整的時(shí)候,都必須重新編譯應(yīng)用,將它放在設(shè)備上進(jìn)行測(cè)試。”由于代碼可以重復(fù)利用,React 可以大大節(jié)省應(yīng)用迭代時(shí)間。
一旦開發(fā)者社區(qū)熟悉了 React Native 的用法,它可以讓“精益創(chuàng)業(yè)”(lean startup)的理念更易于執(zhí)行。所有開發(fā)者并不是犧牲跨平臺(tái)支持或是因?yàn)閷?duì)現(xiàn)狀不滿而試水新的操作系統(tǒng),相反,他們可以迅速看到應(yīng)用的運(yùn)行機(jī)制。當(dāng)他們用 React 發(fā)現(xiàn)了有問(wèn)題的東西后,也可以用它來(lái)改進(jìn) Facebook 的體驗(yàn)。
Facebook 工程主管亞當(dāng)·沃夫(Adam Woff)最后表示:“我將開源比作進(jìn)化或腐蝕這樣的長(zhǎng)期進(jìn)程。隨著時(shí)間的推移,一定會(huì)獲得回報(bào)的——我們對(duì)開源的投資可以確保軟件保持相關(guān)性。”讓軟件始終留在一家公司,可以導(dǎo)致危險(xiǎn)的迭代停滯。“隨著時(shí)間推移,這種固步自封的做法會(huì)破壞專屬軟件堆棧,對(duì)公司帶來(lái)傷害。”
翻譯:皓岳
Facebook Open Sources React Native For Android So Devs Can Reuse Code Across Web And iOS
總結(jié)
以上是生活随笔為你收集整理的Facebook 开源安卓版 React Native,开发者可将相同代码用于网页和 iOS 应用开发的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java读取XML文件的四种方式
- 下一篇: Apache 配置支持HTTPS的SSL