程序員goodbye!這項(xiàng)技術(shù)掀起App開(kāi)發(fā)革命
做為一名產(chǎn)品經(jīng)理,你是否遇到過(guò)這樣的窘境,“幫我把字體調(diào)成16號(hào)唄,顏色變成#FFFF00FF,老大說(shuō)這里最好改一下”,作為一名app的開(kāi)發(fā)只能無(wú)奈但心里竊喜的告訴你,“只能等下個(gè)版本了,必須要重新發(fā)布才能改”,如果你問(wèn)為什么不能改了就生效啊,那說(shuō)明你對(duì)技術(shù)的理解要么真的很差,要么你就是知道這項(xiàng)React-Native新技術(shù)所爆發(fā)出來(lái)的力量。
React Native是Facebook推出的一個(gè)用JavaScript語(yǔ)言就能同時(shí)編寫(xiě)iOS,Android,以及后臺(tái)的一項(xiàng)技術(shù),今年9月發(fā)布了android版本,又在程序員里面掀起了一波小高潮,不斷有喜歡嘗鮮的程序員投入到這個(gè)領(lǐng)域。
用大白話說(shuō),就是從此一名程序員自己就可以創(chuàng)業(yè)了,他只用這一門(mén)技術(shù),就可以同時(shí)寫(xiě)出androidapp,ios app,以及后臺(tái)應(yīng)用程序,并且,請(qǐng)注意這里,它可以做到實(shí)時(shí)熱更新(就像網(wǎng)頁(yè)一樣,改了一個(gè)字體,隨時(shí)可上線),app也能做到隨時(shí)都能更新了,第一段講的那個(gè)需求可以分分鐘秒殺解決,不用新發(fā)版本,只需在服務(wù)器改動(dòng)一下代碼即可,是不是很牛逼,是不是很牛逼,是不是很牛逼,真的很牛逼。
到這里,你只需要理解一句話,就是Facebook提供了一套解決方案,它利用JavaScript作為開(kāi)發(fā)語(yǔ)言,可以同時(shí)來(lái)編寫(xiě)前端,移動(dòng)終端,后臺(tái)應(yīng)用程序。
我們?cè)賮?lái)講講,為什么React Native受到了如此大的關(guān)注,以及它的優(yōu)越性到底在什么地方。
目前,一個(gè)成熟的互聯(lián)網(wǎng)產(chǎn)品基本囊括了:移動(dòng)終端和網(wǎng)頁(yè)兩種主要形態(tài)。在移動(dòng)終端app和網(wǎng)頁(yè)的開(kāi)發(fā)歷程中,涉及了很多技術(shù)角色:前端開(kāi)發(fā)(俗名叫做網(wǎng)站的),移動(dòng)終端開(kāi)發(fā)(android和ios開(kāi)發(fā),現(xiàn)在滿大街都是),后臺(tái)開(kāi)發(fā)(他們的程序大多沒(méi)有界面,主要是為網(wǎng)頁(yè)和app提供數(shù)據(jù)和保障服務(wù)的穩(wěn)定性),每個(gè)角色各司其職,分別需要不同的技能,比如前端開(kāi)發(fā)需要精通html,css,javascript這些基本的web語(yǔ)言知識(shí)。Android開(kāi)發(fā)用Java(這個(gè)詞讀“扎瓦”,別讀成了“加瓦”,讀成這樣很Low B的)語(yǔ)言編寫(xiě),ios開(kāi)發(fā)用Objective-c(把他想象成當(dāng)年過(guò)計(jì)算機(jī)二級(jí)的那個(gè)C語(yǔ)言就可以了)編寫(xiě)。后臺(tái)開(kāi)發(fā),有的公司用Java,有的公司用C++,用啥的都有,能滿足性能需要就可以了。
已經(jīng)看崩潰了吧,對(duì)于一個(gè)非計(jì)算機(jī)專業(yè)的人,根本不會(huì)理解他媽的為什么要存在這么多語(yǔ)言,為什么這里要用C語(yǔ)言,那里要用C++,有的地方要用Python,而又有很大的一個(gè)人群對(duì)你高呼:“PHP才是世界最好的語(yǔ)言”。其實(shí)他們每種語(yǔ)言都有不同的使用場(chǎng)景,有的語(yǔ)言效率高,有的語(yǔ)言語(yǔ)法更簡(jiǎn)潔漂亮,有的是專為后臺(tái)而生,有的是特定場(chǎng)景下的唯一選擇。如果你還聽(tīng)不懂,我們就用大白話做個(gè)比喻,為什么避孕套有的是螺紋的,有的是顆粒的,有的是延時(shí)的,有的是超薄的,還有一個(gè)品牌號(hào)稱一只手就可以打開(kāi)的,它們也都是依據(jù)個(gè)人身體狀態(tài),以及不同場(chǎng)景分別發(fā)揮各自的強(qiáng)項(xiàng)。你隨便類比,任何一個(gè)領(lǐng)域,都有很多不同的工具來(lái)滿足不同的場(chǎng)景,是需求決定了當(dāng)前狀態(tài)。
現(xiàn)在好了,React整套解決方案完成了江湖統(tǒng)一,F(xiàn)aceBook也號(hào)稱這們技術(shù)是“Learn Once,Write AnyWhere”,學(xué)習(xí)成本只有一次,卻完成了所有開(kāi)發(fā)角色的統(tǒng)一。
這意味著:
app將來(lái)都是可像網(wǎng)頁(yè)一樣熱更新,隨時(shí)發(fā)布。
對(duì)于一名開(kāi)發(fā)人員,將再也沒(méi)有前端,終端,后臺(tái)的區(qū)分,他所關(guān)注的就是做一整套應(yīng)用程序,人力將得到最大幅度的整合與釋放。
代碼復(fù)用將會(huì)是主旋律,因?yàn)槭且环N語(yǔ)言,大家重復(fù)造輪子的成本會(huì)越來(lái)越節(jié)省。
目前,React Native也還是有一些缺點(diǎn)的,比如他的sdk組件包size還比較大,crash還比較多,在ios上支持的內(nèi)容已經(jīng)相當(dāng)不錯(cuò),android還屬于初級(jí)階段,但是目前最新的版本也才是0.16,相信再過(guò)一年,一定會(huì)牛逼閃閃。