做為一名產品經理,你是否遇到過這樣的窘境:「幫我把字體調成 16 號,顏色變成 #FFFF00FF,老闆說這裡最好改一下」,作為一名 app 的開發人員只能無奈但心裡竊喜的告訴你,「只能等下個版本了,必須要重新發表才能改」,如果你問為什麼不能改了就生效,那表示你對技術的理解要麼真的很差,要麼你就是知道這項 React Native 新技術的力量。
React Native 是 Facebook 推出的一個用 JavaScript 語言就能同時編寫 iOS,Android,以及後台的一項技術,今年 9 月 發佈了 Android 版本,又在工程師裡面掀起了一波小高潮,不斷有喜歡嘗鮮的工程師投入到這個領域。
用白話說,就是從此一名工程師自己就可以創業了,他只用這一項技術,就可以同時寫出 Android app,iOS app,以及後台應用程式,並且請注意,它可以做到即時更新(就像網頁一樣,改了一個字體,隨時可上線),app 也能做到隨時都能更新了,第一段講的需求可以秒殺解決,不用新發版本,只需在伺服器改動一下程式碼即可。
總而言之,就是 Facebook 提供了一套解決方案,它利用 JavaScript 作為開發語言,可以同時來編寫前端,行動終端,後台應用程式。
我們再來談談,為什麼 React Native 受到了如此大的關注,以及它的優點到底在什麼地方。
目前,一個成熟的網路產品基本上囊括了:行動終端和網頁兩種主要形態。在行動終端 app 和網頁的開發過程中,涉及很多技術人員:前端開發(俗名叫做網站的),行動終端開發(Android 和 iOS 開發,現在很熱門),後台開發(他們的程式大多沒有界面,主要是為網頁和 app 提供數據和保障服務的穩定性),每個角色各司其職,分別需要不同的技能,比如前端開發需要精通 html,css,javascript 這些基本的 web 語言知識。Android 開發用 Java 語言編寫,iOS 開發用 Objective-c(把他想像成當年過計算機二級的那個 C 語言就可以了)編寫。後台開發,有的公司用 Java,有的公司用 C++,什麼都有,能滿足功能需求就可以了。
已經看不懂了吧,對於一個非電腦專業的人,根本不會理解為什麼要存在這麼多語言,為什麼這裡要用 C 語言,那裡要用 C++,有的地方要用 Python,又有很大一群人對你高呼:「PHP 才是世界最好的語言」。其實每種語言都有不同的使用情形,有的語言效率高,有的語言語法更簡潔漂亮,有的是專為後台而生,有的是特定情況下的唯一選擇。任何一個領域,都有很多不同的工具來滿足不同的場景,是需求決定了當下的狀態。
現在,React 這套解決方案統一了江湖,Facebook 也號稱這技術是 「Learn once,write any where」,只要學一次,卻統一了所有開發角色。
這意味著:
- App 將來都可像網頁一樣即時更新,隨時發佈。
- 對於一名開發人員,將再也沒有前端,終端,後台的區分,他所關注的就是做一整套應用程式,人力將得到最大幅度的整合與釋放。
- 程式碼重複使用將會是主流,因為是一種語言,大家創造重複元件的成本會越來越節省。
目前,React Native 也還是有一些缺點的,比如他的 sdk 工具包檔案還很大,還很容易當掉,在 iOS 上支援的內容已經相當不錯,Android 還屬於初級階段,但是目前最新的版本也才 0.16,相信再過一年, 一定會精彩可期。
沒有留言:
張貼留言