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