前端開發(fā)(給本團隊非前端人員介紹)

http://www.reibang.com/p/077a088df697

前言

絕大部分開發(fā)人員(非前端)潜沦,可能因為沒有關(guān)注過,所以對前端開發(fā)仍然停留在叫久遠的時期蛤迎。即一個前端項目中只有html绰寞、css嬉挡、js,使用jquery來實現(xiàn)頁面功能。除此之外沒有其他概念邓了。

對此,借進行部門內(nèi)部分享機會媳瞪,科普一下如今的前端體系及開發(fā)的過程骗炉。使團隊成員能對前端開發(fā)有個簡單認識,提高團隊協(xié)作度蛇受。

開發(fā)模式

前后端分離后的架構(gòu)演變——MVC句葵、MVP和MVVM

MVC

前端的MVC應該與后端類似,具備著View兢仰、Controller和Model乍丈。

Model:負責保存應用數(shù)據(jù),與后端數(shù)據(jù)進行同步

Controller:負責業(yè)務邏輯把将,根據(jù)用戶行為對Model數(shù)據(jù)進行修改

View:負責視圖展示轻专,將model中的數(shù)據(jù)可視化出來。

這種模式在開發(fā)中更加的靈活察蹲,backbone.js框架就是這種的模式请垛。

MVP

MVP與MVC很接近,P指的是Presenter递览,presenter可以理解為一個中間人叼屠,它負責著View和Model之間的數(shù)據(jù)流動,防止View和Model之間直接交流绞铃。

MVVM

首先镜雨,何為MVVM呢?MVVM可以分解成(Model-View-VIewModel)儿捧。ViewModel可以理解為在presenter基礎(chǔ)上的進階版荚坞。

View是ViewModel的外在顯示,和ViewModel的數(shù)據(jù)是同步的菲盾。一旦View中的數(shù)據(jù)發(fā)生變化颓影,會自動同步到ViewModel,然后ViewModel可以將變化的數(shù)據(jù)傳給Model懒鉴;反過來也是一樣的诡挂,Model中的數(shù)據(jù)一旦發(fā)生改變碎浇,就會將值傳給ViewModel,而ViewModel也會同步更新到view中璃俗。

現(xiàn)在的框架實現(xiàn)這樣的形式奴璃,各有各的不同。主要的三個框架angular2城豁、vue苟穆、react都是實現(xiàn)了這樣子的模式。

前端中的單頁面應用和多頁面應用

單頁面應用

只有一張Web頁面的應用唱星,是一種從Web服務器加載的富客戶端雳旅,單頁面跳轉(zhuǎn)僅刷新局部資源 ,公共資源(js间聊、css等)僅需加載一次攒盈。

單頁面應用結(jié)構(gòu)圖


多頁面應用

多頁面跳轉(zhuǎn)刷新所有資源,每個公共資源(js甸饱、css等)需選擇性重新加載


單頁面應用于多頁面應用對比


前端工程化沦童、模塊化、組件化

前端工程化

工程化是一種思想而不是某種技術(shù)叹话。

表現(xiàn)形式:模塊化偷遗、組件化。

舉個例子來說:要蓋一棟大樓驼壶,假如我們不進行工程化的考量那就是一上來掂起瓦刀氏豌、磚塊就開干,直到把大樓壘起來热凹,這樣做往往意味著中間會出現(xiàn)錯誤泵喘,要推倒重來或是蓋好以后結(jié)構(gòu)有問題但又不知道出現(xiàn)在哪誰的責任甚至會在某一天轟然倒塌,那我們?nèi)绻霉こ袒乃枷肴プ霭忝睿蜁犬媹D紙纪铺、確定結(jié)構(gòu)、確定用料和預算以及工期碟渺,另外需要用到什么工種多少人等等鲜锚,我們會先打地基再建框架再填充墻體這樣最后建立起來的高樓才是穩(wěn)固的合規(guī)的,什么地方出了問題我們也能找到源頭和負責人苫拍。

模塊化

舉簡單的例子,我們要寫一個實現(xiàn)A功能的JS代碼芜繁,這個功能在項目其他位置也需要用到,那么我們就可以把這個功能看成一個模塊采用一定的方式進行模塊化編寫绒极,既能實現(xiàn)復用還可以分而治之骏令。

組件化

組件化將頁面視為一個容器,頁面上各個獨立部分例如:頭部垄提、導航榔袋、焦點圖周拐、側(cè)邊欄、底部等視為獨立組件摘昌,不同的頁面根據(jù)內(nèi)容的需要速妖,去盛放相關(guān)組件即可組成完整的頁面。

模塊化聪黎、組件化對比


前端開發(fā)環(huán)境

Web前端開發(fā)涉及多種工具,這里將常用工具的安裝和配置進行說明备恤,提供了詳細的說明稿饰,為后繼的開發(fā)創(chuàng)建一個堅實的基礎(chǔ)。

NodeJS 和 NPM


一切從 NodeJS 開始吧露泊,官方網(wǎng)址:https://nodejs.org/

就和安裝java開發(fā)環(huán)境同理吧= = 喉镰,npm類似于maven。

webpack


本質(zhì)上惭笑,webpack 是一個現(xiàn)代 JavaScript 應用程序的靜態(tài)模塊打包器(module bundler)侣姆,也稱為構(gòu)建工具。當 webpack 處理應用程序時沉噩,它會遞歸地構(gòu)建一個依賴關(guān)系圖(dependency graph)捺宗,其中包含應用程序需要的每個模塊,然后將所有這些模塊打包成一個或多個 bundle川蒙。

git

這里大部分開發(fā)同學應該都懂蚜厉,就不詳細介紹了。一個分布式的版本控制系統(tǒng)畜眨。


gulp

用自動化構(gòu)建工具增強你的工作流程昼牛!


前端開發(fā)中提高效率的技術(shù)、框架

樣式類

sass康聂、less贰健、stylus: CSS 預處理語言,它擴展了 CSS 語言,增加了變量、Mixin恬汁、函數(shù)等特性伶椿。

styled-components:可以以組件化形式編寫css樣式的庫,使用ES6和CSS的最佳位來設(shè)置您的應用程序沒有壓力蕊连。

JS類

vue悬垃、angular2、react,現(xiàn)今最普遍使用的三大MVVM框架甘苍。

Lodash:是一個一致性尝蠕、模塊化、高性能的 JavaScript 實用工具庫载庭。

TypeScript

TypeScript是一種由微軟開發(fā)的自由和開源的編程語言看彼。它是JavaScript的一個超集廊佩,而且本質(zhì)上向這個語言添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊?/a>。

ts代碼片段

數(shù)據(jù)交互

fetch靖榕、axios

Axios 是一個基于 promise 的 HTTP 庫标锄,可以用在瀏覽器和 node.js 中。

組件庫

......省略XXX字茁计,一大堆組件庫料皇。

前端本地調(diào)試

MockServer

什么是MockServer

MockServer可用于模擬通過HTTP或HTTPS(即服務,網(wǎng)站等)集成的任何系統(tǒng)星压。

當MockServer收到請求時践剂,它會根據(jù)已配置的活動期望來匹配請求。

一個預期定義了動作時所采取娜膘,例如逊脯,響應可以返回。


以上所有點都為籠統(tǒng)概括意在讓非前端團隊成員對前端體系能有一個初步的概念竣贪。

  • 序言:七十年代末军洼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子演怎,更是在濱河造成了極大的恐慌匕争,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颤枪,死亡現(xiàn)場離奇詭異汗捡,居然都是意外死亡,警方通過查閱死者的電腦和手機畏纲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門扇住,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盗胀,你說我怎么就攤上這事艘蹋。” “怎么了票灰?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵女阀,是天一觀的道長。 經(jīng)常有香客問我屑迂,道長浸策,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任惹盼,我火速辦了婚禮庸汗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘手报。我一直安慰自己蚯舱,他們只是感情好改化,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枉昏,像睡著了一般陈肛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上兄裂,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天句旱,我揣著相機與錄音,去河邊找鬼晰奖。 笑死前翎,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的畅涂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼道川,長吁一口氣:“原來是場噩夢啊……” “哼午衰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冒萄,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤臊岸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尊流,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帅戒,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年崖技,在試婚紗的時候發(fā)現(xiàn)自己被綠了逻住。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡迎献,死狀恐怖瞎访,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吁恍,我是刑警寧澤扒秸,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站冀瓦,受9級特大地震影響伴奥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜翼闽,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一拾徙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肄程,春花似錦锣吼、人聲如沸选浑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽古徒。三九已至,卻和暖如春读恃,著一層夾襖步出監(jiān)牢的瞬間隧膘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工寺惫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疹吃,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓西雀,卻偏偏與公主長得像萨驶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子艇肴,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 絕大部分開發(fā)人員(非前端)腔呜,可能因為沒有關(guān)注過,所以對前端開發(fā)仍然停留在叫久遠的時期再悼。即一個前端項目中只有h...
    尛傑閱讀 1,518評論 0 21
  • Vue.js作為目前最熱門最具前景的前端框架之一核畴,其提供了一種幫助我們快速構(gòu)建并開發(fā)前端項目的新的思維模式。本文旨...
    勞卜閱讀 53,415評論 22 420
  • Vue.js作為目前最熱門最具前景的前端框架之一冲九,其提供了一種幫助我們快速構(gòu)建并開發(fā)前端項目的新的思維模式谤草。本文旨...
    寒劍飄零閱讀 406評論 0 1
  • 本文章是我最近在公司的一場內(nèi)部分享的內(nèi)容。我有個習慣就是每次分享都會先將要分享的內(nèi)容寫成文章莺奸。所以這個文集也是用來...
    Awey閱讀 9,452評論 4 67
  • 一丑孩、對于MVVM的理解? MVVM 是 Model-View-ViewModel 的縮寫憾筏。Model代表數(shù)據(jù)模型嚎杨,...
    李飛_fd28閱讀 858評論 0 0