前端技能路線詳解:真正的從入門到放棄

本文可能會(huì)嚴(yán)重打擊你的自信心谤牡,請(qǐng)做心里準(zhǔn)備。姥宝。翅萤。

在完整APP的遷移之后,終于可以好好寫這些內(nèi)容了腊满。第一篇就是對(duì)之前的前端技能圖譜進(jìn)行一些細(xì)致的解釋套么。當(dāng)然這些是個(gè)人的經(jīng)驗(yàn)培己,所以可存在一些區(qū)別,不過總的來(lái)說還是差不多的胚泌。

入門

在我理解下的基礎(chǔ)知識(shí)省咨,就是我們可以寫一些基本的樣式,并能對(duì)頁(yè)面的元素進(jìn)行操作诸迟。舉例來(lái)說茸炒,就是我們用Spring和JSP寫了一個(gè)博客愕乎,然后我們可以用jQuery來(lái)對(duì)頁(yè)面進(jìn)行一些簡(jiǎn)單的操作阵苇,并可以調(diào)用一些API。因此感论,我們需要基本的HTML / CSS知識(shí)绅项。只是要寫好CSS并不是一件簡(jiǎn)單的事,這需要很多實(shí)戰(zhàn)經(jīng)驗(yàn)比肄。隨后快耿,我們還需要有JavaScript的經(jīng)驗(yàn),要不怎么做前端呢芳绩?

同時(shí)掀亥,我們還需要對(duì)DOM有一些基礎(chǔ)的了解,才能做一些基本的操作妥色,如修改顏色等等搪花。在這種情況下,最簡(jiǎn)單的方案就是使用jQuery這樣的工具嘹害。不過撮竿,如果可以自己操作DOM是再好不過的了。

中級(jí)篇

中級(jí)篇就更有意思了笔呀,現(xiàn)在我們就需要對(duì)頁(yè)面進(jìn)行更復(fù)雜的操作幢踏。Ajax和JSON這兩個(gè)技能是必須的,當(dāng)我們要?jiǎng)討B(tài)的改變頁(yè)面的元素時(shí)许师,我們就需要從遠(yuǎn)程獲取最新的數(shù)據(jù)結(jié)果房蝉。并且我們也需要提交表單到服務(wù)器,RESTful就是必須要學(xué)會(huì)的技能微渠。未來(lái)我們還需要Fetch API惨驶,ReactiveX這些技能。

除此我們還需要掌握好HTML的語(yǔ)義化敛助,像DIV / CSS這也會(huì)必須會(huì)的技能粗卜,我們應(yīng)該還會(huì)使用模板引擎和SCSS / SASS。而這個(gè)層面來(lái)說纳击,我們開始使用Node.js來(lái)完成前端的構(gòu)建等等的一系列動(dòng)作续扔,這時(shí)候必須學(xué)會(huì)使用命令行這類工具攻臀。并且,在這時(shí)候我們已經(jīng)開始構(gòu)建單頁(yè)面應(yīng)用了纱昧。

高級(jí)篇

JavaScript是一門易上手的語(yǔ)言刨啸,也充滿了相當(dāng)多的糟粕的用法。幾年前人們使用CoffeeScript編成成JavaScript來(lái)編寫更好的前端代碼识脆,現(xiàn)在人們有了ES6设联、TypeScript和WebPack來(lái)做這些事。盡管現(xiàn)在瀏覽器支持不完善灼捂,但是他們是未來(lái)离例。同樣的還有某些CSS3的特性,其對(duì)于某些瀏覽器來(lái)說也是不支持的悉稠。而這些都是基于語(yǔ)言本來(lái)說的宫蛆,要寫好代碼,我們還需要掌握面向?qū)ο缶幊痰拿汀⒑瘮?shù)式編程耀盗、MVC / MVVM / MV*這些概念。作為一合格的工程師卦尊,我們還需要把握好安全性(如跨域)叛拷,做好 授權(quán)(如HTTP Basic、JWT等等)岂却。

工程化

這個(gè)標(biāo)題好像是放錯(cuò)了忿薇,這部分的內(nèi)容主要都是自動(dòng)構(gòu)建的內(nèi)容。首先淌友,我們需要有基本的構(gòu)建工具煌恢,無(wú)論你是使用gulp、grunt震庭,還是只使用npm瑰抵,這都不重要。重要的是器联,你可以自動(dòng)化的完成構(gòu)建的工具二汛,編譯、靜態(tài)代碼分析(JSLint拨拓、CSS Lint肴颊、TSLint)、對(duì)代碼質(zhì)量進(jìn)行分析(如Code Climate渣磷,可以幫你檢測(cè)出代碼中的Bad Smell)婿着、運(yùn)行代碼中的測(cè)試,并生成測(cè)試覆蓋率的報(bào)告等等。這一切都需要你有一個(gè)自動(dòng)構(gòu)建的工作流竟宋。

兼容性

雖然我們離兼容IE6的時(shí)代已越來(lái)越遠(yuǎn)了提完,但是我們?nèi)匀挥邢喈?dāng)多的兼容性工作要做∏鹣溃基本的兼容性測(cè)試就是跨瀏覽器的測(cè)試徒欣,即Chrome,IE蜗字,F(xiàn)irefox打肝,Safari等等。除此還有在不同的操作系統(tǒng)上對(duì)同一瀏覽器的測(cè)試挪捕,某些情況下可能表現(xiàn)不一致粗梭。如不同操作系統(tǒng)的字體大小,可能會(huì)導(dǎo)致一些細(xì)微的問題担神。而隨著移動(dòng)設(shè)備的流行楼吃,我們還需要考慮下不同Android版本下的瀏覽器內(nèi)核的表現(xiàn)不致始花,有時(shí)候還要一下不成器的Windows Phone妄讯。除此,還有同一個(gè)瀏覽器的不同版本問題酷宵,常見于IE亥贸。。

前端特定

除了正常的編碼之外浇垦,前端還有一些比較有意思的東西炕置,如CSS3和JavaScript動(dòng)畫。使用Web字體男韧,可惜這個(gè)不太適合漢字使用朴摊。還有Icon字體,畢竟這種字體是矢量的此虑。不過Icon字體還有一些問題甚纲,如瀏覽器對(duì)其的抗鋸齒優(yōu)化,還有一個(gè)痛是你得準(zhǔn)備四種不同類型的字體文件朦前。因此介杆,產(chǎn)生了一種東西SVG Sprite,在以前這就是CSS Sprite韭寸,只是CSS Sprite不能縮放春哨。最后,我們還需要掌握一些基本的圖形和圖表框架的使用恩伺。

軟件工程

這一點(diǎn)上和大部分語(yǔ)言的項(xiàng)目一樣赴背,我們需要使用版本管理軟件,如git、svn凰荚,又或者是一些內(nèi)部的工具耸三。總之你肯定要有一個(gè)浇揩,而不是 2016.07.31.zip這種文件仪壮。然后,你還需要一些依賴管理工具胳徽,對(duì)于那些使用Webpack积锅、Browserify來(lái)將代碼編寫成前端代碼的項(xiàng)目來(lái)說,npm還是挺好用的养盗。不過就個(gè)人來(lái)說缚陷,對(duì)于傳統(tǒng)的項(xiàng)目來(lái)說我總覺得bower有些難用。我們還需要模塊化我們的源碼文件往核,才能使其他人更容易開始項(xiàng)目箫爷。

調(diào)試

作為一個(gè)工程師來(lái)說,調(diào)試是必備的技能聂儒。大部分瀏覽器都自帶有調(diào)試工具虎锚,他們都不錯(cuò)——如果你使用過的話。在調(diào)試的過程中衩婚,直接用Console就可以輸出值窜护、計(jì)算值等等。如果你的項(xiàng)目在構(gòu)建的過程中有一些問題非春,你就需要debugger這一行代碼了柱徙。在一些調(diào)用遠(yuǎn)程API的項(xiàng)目里,我們還需要一些更復(fù)雜的工具奇昙,即抓包工具护侮。在調(diào)試移動(dòng)設(shè)備時(shí),像Wireshark储耐、Charles這一類的工具羊初,就可以讓我們看到是否有一些異常的請(qǐng)求。當(dāng)然在這個(gè)時(shí)候弧岳,還有一個(gè)不錯(cuò)的工具就是像Chrome自帶的遠(yuǎn)程設(shè)備調(diào)試凳忙。對(duì)于移動(dòng)網(wǎng)站來(lái)說,還要有Responsive視圖禽炬。

測(cè)試

我遇到的很多前端工程師都是不寫測(cè)試的涧卵,于是我便把它單獨(dú)地抽了出現(xiàn)。對(duì)于一個(gè)前端項(xiàng)目來(lái)說腹尖,正常情況下柳恐,我們要有單元測(cè)試、功能測(cè)試,還有要一些UI測(cè)試來(lái)驗(yàn)證頁(yè)面間是否可以跳轉(zhuǎn)乐设。對(duì)于依賴于第三方服務(wù)的應(yīng)用來(lái)說讼庇,還要有一個(gè)Mock的服務(wù)來(lái)方便我們測(cè)試。如果是前后端分離的項(xiàng)目近尚,我們還需要有集成測(cè)試蠕啄。

性能與優(yōu)化

要對(duì)Web應(yīng)用進(jìn)行性能優(yōu)化,可能不是一件容易的事戈锻,有時(shí)候我們還知道哪些地方可以優(yōu)化歼跟。這時(shí)候人們就可以使用Yahoo的YSlow,或者我最喜歡的Google PageSpeed來(lái)檢測(cè)頁(yè)面的一些問題格遭,如有沒有開啟GZip哈街、有沒有壓縮、合并拒迅、Minify JS代碼等等骚秦。我們還應(yīng)該借助于NetWork這一類的工具,查看頁(yè)面加載時(shí)璧微,一些比較漫的資源文件作箍,并對(duì)其進(jìn)行優(yōu)化。在一些情況下往毡,我們還需要借助如Chrome的Timline蒙揣、Profiel等工具來(lái)查看可以優(yōu)化的地方靶溜。

設(shè)計(jì)

前端工程師還需要具備基本的UI技能开瞭。多數(shù)情況下拿到的只是一張圖,如果是一個(gè)完整的頁(yè)面罩息,我們就需要快速分割頁(yè)面布局嗤详。而依賴于不同的頁(yè)面布局瓷炮,如響應(yīng)式葱色、網(wǎng)格、FlexBox布局也會(huì)有不同的設(shè)計(jì)娘香。而有些時(shí)候苍狰,我們就需要自己規(guī)劃,制作一個(gè)基本的線框圖(Wireframe)等等烘绽。

SEO

如果以搜索引擎作為流量來(lái)源淋昭,我們還需要考慮頁(yè)面的內(nèi)容,除非你用的是競(jìng)爭(zhēng)排名安接。像Sitemap可能就不是我們考慮的內(nèi)容翔忽,而我們還要考慮很多點(diǎn)。首先,我們需要保證頁(yè)面的內(nèi)容是對(duì)于搜索引擎是可見的歇式,并且對(duì)應(yīng)的頁(yè)面還要有基本的Title驶悟、Description和Keyword。然后在一些關(guān)鍵的字體材失,如欄目標(biāo)題等等可以用H2之類的大字的地方就不要放過痕鳍。同時(shí)在頁(yè)面設(shè)計(jì)的過程中,我們還需要考慮一些內(nèi)部鏈接的建設(shè)龙巨。它即可以提供頁(yè)面的可見度额获,又可以提高排名。最后恭应,如果你是面向的是Google等支持結(jié)構(gòu)化數(shù)據(jù)的搜索引擎抄邀,你還需要考慮一下MicroData / MicroFormat這一類東西。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末昼榛,一起剝皮案震驚了整個(gè)濱河市境肾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胆屿,老刑警劉巖奥喻,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異非迹,居然都是意外死亡环鲤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門憎兽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)冷离,“玉大人,你說我怎么就攤上這事纯命∥靼” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵亿汞,是天一觀的道長(zhǎng)瞭空。 經(jīng)常有香客問我,道長(zhǎng)疗我,這世上最難降的妖魔是什么咆畏? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮吴裤,結(jié)果婚禮上旧找,老公的妹妹穿的比我還像新娘。我一直安慰自己嚼摩,他們只是感情好钦讳,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布矿瘦。 她就那樣靜靜地躺著,像睡著了一般愿卒。 火紅的嫁衣襯著肌膚如雪缚去。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天琼开,我揣著相機(jī)與錄音易结,去河邊找鬼。 笑死柜候,一個(gè)胖子當(dāng)著我的面吹牛搞动,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播渣刷,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼鹦肿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了辅柴?” 一聲冷哼從身側(cè)響起箩溃,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碌嘀,沒想到半個(gè)月后涣旨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡股冗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年霹陡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片止状。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡烹棉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出导俘,到底是詐尸還是另有隱情峦耘,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布旅薄,位于F島的核電站,受9級(jí)特大地震影響泣崩,放射性物質(zhì)發(fā)生泄漏少梁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一矫付、第九天 我趴在偏房一處隱蔽的房頂上張望凯沪。 院中可真熱鬧,春花似錦买优、人聲如沸妨马。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)烘跺。三九已至湘纵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間滤淳,已是汗流浹背梧喷。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脖咐,地道東北人铺敌。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像屁擅,于是被迫代替她去往敵國(guó)和親偿凭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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