前言
自從 2015 年 ReatNative 橫空出世,移動開發(fā)就被刮起來一陣“ RN ”風,作為一名 iOSer 也想蹭一下熱度,于是乎就開始學習 ReactNative ,想著哪天能夠站在前端開發(fā)大組的制高點指點江山。然而,現(xiàn)實就是這么的豐滿,把苗條的理想揍成了一個瘸子,每天在思考“這是啥玩意”,“為啥這么寫”。幸好在我絕望的時候,一道圣光拯救了我,從去年一開始學習 React到 現(xiàn)在 RN 版本的項目即將上線,我也可以算是從一個 iOSer 跟上了RN 的大潮,接下來我會分享下我是如何踏上這艘巨輪的。(本文只是為 native 小白指路,大神可繞)
web基礎
飯不是一口吃掉的,神功也不是一下就練成的。 —— ——魯迅
魯迅說的對!因為 RN 的項目預計是 2017 年 2 月份開,但是 2016 年到這段時間也不能閑著,我們的老大說“先學習 react 吧,你做下前端的項目吧”。于是,我又撿起了前端知識開始 web 項目。雖然需求簡單,但是這東西都是好多年前的事了,自己跟沒學差不多了。 起初,在 w3cschool 上學習,感覺簡單輕快明了,后來同事跟我說學這個才是正確的姿勢--https://developer.mozilla.org/zh-CN/
上面 html 、 css 十分的詳盡,每天我都在飯空的時候看一點點,不斷的寫著小 demo ,前端的基礎知識算是及格了,但是寫起需求來還是有些不知所措。古人語,“三人行必有我?guī)煛?,學習別人的代碼是我們最快的進步方式。開始寫項目我也蒙圈也不會,也不知道該怎么去找答案,我就翻整個項目去看和我整個類似的功能,看別人的代碼實現(xiàn)來學習。
JS的學習
JS 是前端最重要的語言了,也是 RN 的根基語言,所以學好 JS 是毋庸置疑的。學習一門語言前期是很痛苦的,因為它的很多寫法會對你之前的編寫代碼的思維方式產生沖擊,但是熬過去就好了。
JavaScript 由三部分組成:
1. ECMAScript(核心)
作為核心,它規(guī)定了語言的組成部分:語法、類型、語句、關鍵字、保留字、操作符、對象

2.DOM(文檔對象模型)
DOM 把整個頁面映射為一個多層節(jié)點結果,開發(fā)人員可借助 DOM 提供的 API ,輕松地刪除、添加、替換或修改任何節(jié)點。

3. BOM (瀏覽器對象模型)
支持可以訪問和操作瀏覽器窗口的瀏覽器對象模型,開發(fā)人員可以控制瀏覽器顯示的頁面以外的部分。
ES5和ES6,他們之間有什么區(qū)別?
ES5 就是作為 ECMAScript 第五個版本(第四版因為過于復雜廢棄了),對應的 ES6 則是在保證向下兼容的前提下,作為 ECMAScrip t第六個版本了。如果想問 ECMAScript 跟 Javascript 有什么關系,大家就自行百度吧,這里就不再贅述。ES6 較 ES5 有較大的更新,而且 ES6 更接近 Java 等高級語言。舉個栗子,ES5 中是沒有類的概念的,當然大家可以自行實現(xiàn),而 ES6 中就存在了 Class 關鍵字來定義類,所以現(xiàn)在 ES6 前端必備的技能了,而且我們的項目也是使用 ES6 ,本文的代碼講解也使用 ES6 。
語言是不斷衍變的,我們使用新的東西當然也要知道它是因為解決什么問題而存在的,所以 ES6 、ES6 我們都要掌握。
廢話太多直接上書:
JavaScript權威指南(第6版)(中文版)
ECMAScript 6 入門
還有一本最近在看超贊的書:
你不知道的JavaScript
第一本當作文檔查閱,夯實基礎;第二本要仔細閱讀,直接關乎 React 跟 ReactNative 的項目編寫;第三本是從 JS 的進階書籍,讓你更好的掌握 JS 。

環(huán)境的配置
常用的NPM命令
做 iOS 的沒人不知道 cocoapods 吧,同樣做前端的沒有人不知道 NPM 。NPM 安裝項目的依賴簡直不要太方便。
NPM 的全稱是 Node Package Manager ,是隨同 NodeJS 一起安裝的包管理和分發(fā)工具,它很方便讓
JavaScript 開發(fā)者下載、安裝、上傳以及管理已經安裝的包。
下面介紹下npm常用的命令吧:
- npm install ---安裝package.json里面的依賴庫,類似 pod install 。
- npm install <name> --安裝最新版本的指定依賴,例:npm install react-native-code-push。
- npm install <name>@version --安裝指定版本的指定依賴,例:npm install npm install gulp@3.9.1。
- npm install --save ---功能同 instal l,save 會自動把模塊和版本號添加到 dependencies 部分。
- npm install <name>-g ---帶 g 參數(shù)是全局安裝,不帶 g 參數(shù)是本地安裝(全局安裝與本地安裝的區(qū)別)。
- npm uninstall <name> --save --卸載模塊,參數(shù)同上。
- npm ls --以文件樹的方式展示依賴

-
npm init --創(chuàng)建一個package.json文件,類似podfile文件。
ok ,以上技能是成為一個前端開發(fā)者最基本最基本的技能,也是我這一路走來的學習歷程希望能給大家?guī)硎斋@,下一篇我們會進入 Reac t學習與實戰(zhàn) 并且接下來的文章我會穿插一些實戰(zhàn)的技巧。