前言
自從 2015 年 ReatNative 橫空出世,移動開發(fā)就被刮起來一陣“ RN ”風(fēng)蛙紫,作為一名 iOSer 也想蹭一下熱度拍屑,于是乎就開始學(xué)習(xí) ReactNative ,想著哪天能夠站在前端開發(fā)大組的制高點指點江山坑傅。然而僵驰,現(xiàn)實就是這么的豐滿,把苗條的理想揍成了一個瘸子,每天在思考“這是啥玩意”蒜茴,“為啥這么寫”星爪。幸好在我絕望的時候,一道圣光拯救了我矮男,從去年一開始學(xué)習(xí) React到 現(xiàn)在 RN 版本的項目即將上線移必,我也可以算是從一個 iOSer 跟上了RN 的大潮,接下來我會分享下我是如何踏上這艘巨輪的毡鉴。(本文只是為 native 小白指路崔泵,大神可繞)
web基礎(chǔ)
飯不是一口吃掉的,神功也不是一下就練成的猪瞬。 —— ——魯迅
魯迅說的對憎瘸!因為 RN 的項目預(yù)計是 2017 年 2 月份開,但是 2016 年到這段時間也不能閑著陈瘦,我們的老大說“先學(xué)習(xí) react 吧幌甘,你做下前端的項目吧”。于是痊项,我又撿起了前端知識開始 web 項目锅风。雖然需求簡單,但是這東西都是好多年前的事了鞍泉,自己跟沒學(xué)差不多了皱埠。 起初,在 w3cschool 上學(xué)習(xí)咖驮,感覺簡單輕快明了边器,后來同事跟我說學(xué)這個才是正確的姿勢--https://developer.mozilla.org/zh-CN/
上面 html 、 css 十分的詳盡托修,每天我都在飯空的時候看一點點忘巧,不斷的寫著小 demo ,前端的基礎(chǔ)知識算是及格了睦刃,但是寫起需求來還是有些不知所措砚嘴。古人語,“三人行必有我?guī)煛鄙荆瑢W(xué)習(xí)別人的代碼是我們最快的進步方式枣宫。開始寫項目我也蒙圈也不會,也不知道該怎么去找答案吃环,我就翻整個項目去看和我整個類似的功能也颤,看別人的代碼實現(xiàn)來學(xué)習(xí)。
JS的學(xué)習(xí)
JS 是前端最重要的語言了郁轻,也是 RN 的根基語言翅娶,所以學(xué)好 JS 是毋庸置疑的文留。學(xué)習(xí)一門語言前期是很痛苦的,因為它的很多寫法會對你之前的編寫代碼的思維方式產(chǎn)生沖擊竭沫,但是熬過去就好了燥翅。
JavaScript 由三部分組成:
1. ECMAScript(核心)
作為核心,它規(guī)定了語言的組成部分:語法蜕提、類型森书、語句、關(guān)鍵字谎势、保留字凛膏、操作符、對象
2.DOM(文檔對象模型)
DOM 把整個頁面映射為一個多層節(jié)點結(jié)果脏榆,開發(fā)人員可借助 DOM 提供的 API 猖毫,輕松地刪除、添加须喂、替換或修改任何節(jié)點吁断。
3. BOM (瀏覽器對象模型)
支持可以訪問和操作瀏覽器窗口的瀏覽器對象模型,開發(fā)人員可以控制瀏覽器顯示的頁面以外的部分坞生。
ES5和ES6仔役,他們之間有什么區(qū)別?
ES5 就是作為 ECMAScript 第五個版本(第四版因為過于復(fù)雜廢棄了)是己,對應(yīng)的 ES6 則是在保證向下兼容的前提下又兵,作為 ECMAScrip t第六個版本了。如果想問 ECMAScript 跟 Javascript 有什么關(guān)系赃泡,大家就自行百度吧,這里就不再贅述乘盼。ES6 較 ES5 有較大的更新升熊,而且 ES6 更接近 Java 等高級語言。舉個栗子绸栅,ES5 中是沒有類的概念的级野,當(dāng)然大家可以自行實現(xiàn),而 ES6 中就存在了 Class 關(guān)鍵字來定義類粹胯,所以現(xiàn)在 ES6 前端必備的技能了蓖柔,而且我們的項目也是使用 ES6 ,本文的代碼講解也使用 ES6 风纠。
語言是不斷衍變的况鸣,我們使用新的東西當(dāng)然也要知道它是因為解決什么問題而存在的,所以 ES6 竹观、ES6 我們都要掌握镐捧。
廢話太多直接上書:
JavaScript權(quán)威指南(第6版)(中文版)
ECMAScript 6 入門
還有一本最近在看超贊的書:
你不知道的JavaScript
第一本當(dāng)作文檔查閱潜索,夯實基礎(chǔ);第二本要仔細(xì)閱讀懂酱,直接關(guān)乎 React 跟 ReactNative 的項目編寫竹习;第三本是從 JS 的進階書籍,讓你更好的掌握 JS 列牺。
環(huán)境的配置
常用的NPM命令
做 iOS 的沒人不知道 cocoapods 吧整陌,同樣做前端的沒有人不知道 NPM 。NPM 安裝項目的依賴簡直不要太方便瞎领。
NPM 的全稱是 Node Package Manager 泌辫,是隨同 NodeJS 一起安裝的包管理和分發(fā)工具,它很方便讓
JavaScript 開發(fā)者下載默刚、安裝甥郑、上傳以及管理已經(jīng)安裝的包。
下面介紹下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ā)者最基本最基本的技能懦底,也是我這一路走來的學(xué)習(xí)歷程希望能給大家?guī)硎斋@唇牧,下一篇我們會進入 Reac t學(xué)習(xí)與實戰(zhàn) 并且接下來的文章我會穿插一些實戰(zhàn)的技巧。