react-native上手體驗

目前放出來的是ios版本,後續還會放出android版本,在加上之前的reactjs,那一份代碼搞定三個平臺並非不可能,於是我也下了個react-native來體驗一把。

  1. react-native目前只放出了ios版本,那爲了體驗,你必須有os x系統,並且安裝了xcode.

  2. 另外官方推薦使用homebrew來安裝nodejs,watchman,flow等相關工具,那我們首先安裝homebrew:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. 安裝完homebrew,我們分別安裝nodejs,watchman,flow,分別輸入如下命令:

    brew install node

    brew install watchman

    brew install flow

  4. 接着我們安裝 react-native本身:

    npm install -g react-native-cli

  5. 然後我們就可以建立一個demo工程,這裏我照着官方的示例建了

    AwesomeProject 這麼一個工程,輸入如下命令建立工程:

    react-native init AwesomeProject

  6. 然後我們用xcode打開 AwesomeProject/AwesomeProject.xcodeproj,運行cammad+r,可以看到模擬器出來一個app效果:

  7. 這時候同時彈出了一個終端窗口:

  8. 我們可以看到react-native是通過nodejs啓動了一個 8081端口的server來進行實時調試,這時候如果你修改了index.ios.js的代碼,然後在xcode裏執行cmd+r,xcode會從8081端口拉取最新的代碼執行,並且更新模擬器相應修改,是不是很爽?

接下來我們看看代碼結構:

寫過ios的人都知道,Appdelegate.h,Appdelegate.m是ios原生代碼的入口程序,打開Appdelegate.m,我們看到這樣一行代碼:

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];

從字面理解,我們應該知道react-native是從本地端口拉取index.ios.js來執行一下了。爲了驗證是否是這樣,我們改一下index.ios.js的名字爲test.ios.js,然後在Appdelegate.m裏把index.ios.bundle改成test.ios.bundle,重新cmd+r,執行沒有問題,這就驗證了我們的假設。

8.最後我們看看index.os.js的內容,這裏幾乎就是reactjs的寫法,大家如果想了解不妨去react官網http://facebook.github.io/react   看下。這裏就不詳細說了。

總之,facebook的這個react-native想像空間還是蠻大的,一個是降低了開發native    app的難度(一大波前端js程序員可以寫),

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章