1.前端是什么驼鹅?前端就是view。
2.前端人員做什么森篷?把設(shè)計圖轉(zhuǎn)化為view输钩,展示view,優(yōu)化view仲智,提升用戶對view的體驗买乃。
3.什么是前端技術(shù)皿伺?除數(shù)據(jù)層以外校读,一切為view服務(wù)的技術(shù)概念說完了蝇完,咱們來解讀下敲霍,首先前端的任務(wù)是展示矮固,展示用戶可見的部分鳖目。這就需要用到大家熟知的html洲敢,css败玉,和js蛀恩。做完頁面發(fā)現(xiàn)加載比較慢疫铜,之后就開始做前端性能優(yōu)化,
1.優(yōu)化下html標簽嵌套結(jié)構(gòu)双谆,
2.優(yōu)化一下http請求方式壳咕,
3.減少第三方框架引入,
4.優(yōu)化js邏輯顽馋,
5.壓縮源代碼以減小web包的大小谓厘,
6.模塊化項目結(jié)構(gòu)以減少重復(fù)代碼
7.資源的離線緩存做完之后,發(fā)現(xiàn)頁面快了不少寸谜,但是發(fā)現(xiàn)開發(fā)竟稳,壓縮,打包很繁瑣熊痴,引入第三方包也要到處找他爸,很麻煩。于是就開始引入打包工具(grunt果善,gulp诊笤,webpack),包管理工具(npm巾陕,bower讨跟,yarn)纪他,說白了,這些工具是為了方便開發(fā)许赃。這些技術(shù)存在一個前提:nodejs止喷!至少你要會用nodejs,如果深入打包混聊,優(yōu)化打包工具弹谁,你要會nodejs編程。
那么問題來了句喜,nodejs為后臺語言预愤,但在這里應(yīng)用到了打包和包管理上,怎么算咳胃?答:不超綱植康,這是前端程序員必備技能,是前端的一部分展懈。流行起來vue销睁,react,angular之后存崖,打包和包管理這塊基本有cli搞定冻记,但是首屏渲染成了很大的問題,畢竟打包完了之后 js来惧,css都被打入了一個首頁里面冗栗,再加上大量的打包工具攜帶代碼,首先變得很慢供搀,因為首頁必須要加載完成之后才能顯示出來隅居。
到這里另一個舊概念被提出來,服務(wù)器渲染葛虐,這個概念不新胎源,之前java web的時候是經(jīng)常做的,或者html+java的時候也是∮炱辏現(xiàn)在我們要說的這種服務(wù)器渲染是用nodejs來做首頁的渲染乒融,從服務(wù)端拉下已經(jīng)整理好的html段返回給前端做展示。到這里你已經(jīng)逃不過nodejs開發(fā)了摄悯,但此時nodejs依舊扮演者前端技術(shù)的角色。如果你的項目有些數(shù)據(jù)很固定比如組織架構(gòu)愧捕,或者人員信息奢驯,每次展示都從服務(wù)器拉去其實很費時間,于是想做一下本地數(shù)據(jù)固化次绘,最后選擇了sqlite瘪阁。
總所周知撒遣,sql是后臺程序猿必備技術(shù)之一,前端和它八竿子打不著管跺!但此時你必須的用它了义黎,在這里依舊為view服務(wù)。前端展示問題基本解決了豁跑,你還覺得不夠廉涕,于是想用nodejs做中間層處理并發(fā)以及給請求加殼,過濾和轉(zhuǎn)發(fā)艇拍。這里你用到了http.request來發(fā)送請求狐蜕,這么說,你的nodejs最多算是中端卸夕,或者前端技術(shù)层释,ok,前端程序員必備快集!有些同學(xué)看到這里覺得會這么多算是全棧了贡羔,no,你還是沒有脫離前端个初,你還是一個純純的前端乖寒!
前端入門簡單,深入很有學(xué)問勃黍,精通前端難上加難宵统。