React-Native 入門指導系列教程目錄
一、準備工作 (已完成)
二、項目介紹與調試
三、CSS樣式與Flex布局
四、常用UI控件的使用
五、JSX在React-Native中的應用
六、事件與資料調用
七、自定義元件
八、動手寫執行個體
九、釋出與真機調試
寫在前面
1. 什麼是React-Native?

React-Native是:Facebook 在2015年初React.js技術研讨大會上公布的一個開源項目。支援用開源的JavaScript庫React.js來開發iOS和Android原生App。初期僅支援iOS平台,同年9月份,該開源項目同時支援Android平台。
React Native的原理是:在JavaScript中用React抽象作業系統原生的UI元件,代替DOM元素來渲染,比如以<View>取代<div>,以<Image>替代<img>等。
2.React-Native有啥優缺點?
優點是:能夠用JavaScript腳本就可以寫出App的界面,對從事Web開發的同僚們轉行做幾個簡單的移動App是個福利。不用為了寫個移動App小程式而專門去學習Objective-C和Swift。
和其他的移動Web架構相比:
- Native不用WebView,徹底擺脫了WebView讓人不爽的互動和性能問題;
- Native的原生控件有更好的體驗;
- Native有更好的手勢識别;
- Native有更适合的線程模型;
缺點是:還在試用階段,潛在的問題尚不得而知:相容性問題,性能問題等。還沒大量普及,學習資料尚且不多,供愛折騰的朋友嘗嘗鮮。
3.成功案例有哪些?
那麼,現在有哪些公司在用這個新出來的技術呢?據了解,有些國内走在技術前沿的公司已經開始在試用React.js開發項目了。
天貓iPad用戶端“猜你喜歡”業務,支付寶新一代的架構基于React;攜程網App部分新業務;去哪兒網給航空公司用的收益輔助系統;百度圖檔搜尋無線的新首頁,部分試水;Quip 最好用的線上文檔協作工具……
4.要學些什麼?
想必,大家已經按耐不住,會發問,使用React-Native開發要學習些什麼呢?
- Html+CSS+JavaScript的基本功肯定是少不了;
- Node.js的基本概念學習。API文檔:https://nodejs.org/dist/v4.2.2/docs/api/
- JSX: JavaScript文法的一個擴充,類似XML結構。https://facebook.github.io/react/docs/jsx-in-depth.html
- FLUX: Facebook公司的一個建立使用者用戶端web程式的架構。https://facebook.github.io/flux/docs/overview.html
好了,廢話不多,直入正題吧。
環境配置
1. 硬體條件
你需要一台Mac電腦,或者是安裝了OSX系統的電腦,這是iOS App開發的前提。
2. 軟體條件
(1). 安裝最新版的XCode,建議是XCode7.1及以上版本。(PS: 如果不是最新版,可能在之後建立項目的時候,會編譯通不過。小編就是之前沒把XCode更新到最新版,然後被一個編譯問題困擾了很久。)
(2). 安裝HomeBlew(OS系統上的一個安裝包管理器,安裝後可以友善後續安裝包的安裝。)
終端指令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(3). 安裝Node.js (服務端的JavaScript運作環境)
下載下傳位址:https://nodejs.org/download/
成功安裝後,終端會有如下提示資訊:
Node.js was installed at: /usr/local/bin/node
npm was installed at: /usr/local/bin/npm
Make sure that /usr/local/bin is in your $PATH.
(4). 建議安裝WatchMan(React修改source檔案的一個工具)
終端指令:
brew install watchman
(5). 安裝Flow: 一個JavaScript 的靜态類型檢查器。
終端指令:
brew install flow
(6). 安裝React Native CLI: 用來開發React Native的指令行工具
終端指令:
npm install -g react-native
裝好了環境,就可以愉快的玩耍起來了。
建立項目
1. 建立一個項目
建立一個“HelloWorld”的項目,每個語言的開始教程都是這個,我們也不例外。
操作超級簡單,隻需終端輸入指令行:
react-native init HelloWorld
2. 運作項目
建立的項目包含Andriod和iOS兩個版本,我們這邊就先介紹iOS的操作。(Andriod的操作也大同小異,無非就是編譯的環境不同,js檔案中的内容和寫法都是通用的。學會了iOS的用法,再研究Andriod下的React-Native開發,會很輕松。)
用XCode打開ios/HelloWorld.xcodeproj檔案,點選鍵盤"⌘-R”或者點選"Run",編譯運作項目。會啟動React-Native服務和iOS模拟器。
在iOS模拟器中可以看到如圖界面:
React-Native服務在編寫過程中要一直開着,如圖:
如果不小心把它關了,沒關系,可以在終端輸入:
npm start
來重新開啟服務。
如何調試
安裝谷歌的Chrome Developer Tools,具體使用方法,在之後的教程中會再具體介紹。
參考文章:https://facebook.github.io/react-native/docs/debugging.html
寫在最後
好了,看到這裡,如果你已經成功配置了React-Native的環境,并且建立并成功運作了第一個程式了。那麼,就先恭喜了,我們甚至沒有寫一行代碼,就已經成功運作了第一個React-Native的程式,是不是還挺簡單的。正所謂,良好的開端是成功的一半。
在接下來的一篇文章中,我會和大家一起來具體看看自動建立項目中包括的内容,以及每個檔案中具體寫法和作用。
附上facebook官方的教程網站位址,供大家研究學習:https://facebook.github.io/react-native/docs/getting-started.html