10 回答

TA貢獻19條經驗 獲得超33個贊
入門
在我理解下的基礎知識,就是我們可以寫一些基本的樣式,并能對頁面的元素進行操作。舉例來說,就是我們用Spring和JSP寫了一個博客,然后我們可以用jQuery來對頁面進行一些簡單的操作,并可以調用一些API。因此,我們需要基本的HTML / CSS知識。只是要寫好CSS并不是一件簡單的事,這需要很多實戰經驗。隨后,我們還需要有JavaScript的經驗,要不怎么做前端呢?
同時,我們還需要對DOM有一些基礎的了解,才能做一些基本的操作,如修改顏色等等。在這種情況下,最簡單的方案就是使用jQuery這樣的工具。不過,如果可以自己操作DOM是再好不過的了。
中級篇
中級篇就更有意思了,現在我們就需要對頁面進行更復雜的操作。Ajax和JSON這兩個技能是必須的,當我們要動態的改變頁面的元素時,我們就需要從遠程獲取最新的數據結果。并且我們也需要提交表單到服務器,RESTful就是必須要學會的技能。未來我們還需要Fetch API,ReactiveX這些技能。
除此我們還需要掌握好HTML的語義化,像DIV / CSS這也會必須會的技能,我們應該還會使用模板引擎和SCSS / SASS。而這個層面來說,我們開始使用Node.js來完成前端的構建等等的一系列動作,這時候必須學會使用命令行這類工具。并且,在這時候我們已經開始構建單頁面應用了。
高級篇
JavaScript是一門易上手的語言,也充滿了相當多的糟粕的用法。幾年前人們使用CoffeeScript編成成JavaScript來編寫更好的前端代碼,現在人們有了ES6、TypeScript和WebPack來做這些事。盡管現在瀏覽器支持不完善,但是他們是未來。同樣的還有某些CSS3的特性,其對于某些瀏覽器來說也是不支持的。而這些都是基于語言本來說的,要寫好代碼,我們還需要掌握面向對象編程、函數式編程、MVC / MVVM / MV*這些概念。作為一合格的工程師,我們還需要把握好安全性(如跨域),做好 授權(如HTTP Basic、JWT等等)。
工程化
這個標題好像是放錯了,這部分的內容主要都是自動構建的內容。首先,我們需要有基本的構建工具,無論你是使用gulp、grunt,還是只使用npm,這都不重要。重要的是,你可以自動化的完成構建的工具,編譯、靜態代碼分析(JSLint、CSS Lint、TSLint)、對代碼質量進行分析(如Code Climate,可以幫你檢測出代碼中的Bad Smell)、運行代碼中的測試,并生成測試覆蓋率的報告等等。這一切都需要你有一個自動構建的工作流。
兼容性
雖然我們離兼容IE6的時代已越來越遠了,但是我們仍然有相當多的兼容性工作要做?;镜募嫒菪詼y試就是跨瀏覽器的測試,即Chrome,IE,Firefox,Safari等等。除此還有在不同的操作系統上對同一瀏覽器的測試,某些情況下可能表現不一致。如不同操作系統的字體大小,可能會導致一些細微的問題。
而隨著移動設備的流行,我們還需要考慮下不同Android版本下的瀏覽器內核的表現不致,有時候還要一下不成器的Windows Phone。除此,還有同一個瀏覽器的不同版本問題,常見于IE。。
前端特定
除了正常的編碼之外,前端還有一些比較有意思的東西,如CSS3和JavaScript動畫。使用Web字體,可惜這個不太適合漢字使用。還有Icon字體,畢竟這種字體是矢量的。不過Icon字體還有一些問題,如瀏覽器對其的抗鋸齒優化,還有一個痛是你得準備四種不同類型的字體文件。因此,產生了一種東西SVG Sprite,在以前這就是CSS Sprite,只是CSS Sprite不能縮放。最后,我們還需要掌握一些基本的圖形和圖表框架的使用。

TA貢獻319條經驗 獲得超234個贊
HTML5-->CSS3(Sass/Less)-->JavaScript
JavaScript是基礎啊,學好后再學下面的東西
jQuery/移動端zepto,react,vuejs,angular.js,node.js……

TA貢獻16條經驗 獲得超0個贊
CSS樣式、JavaScript特效、JQuery(javaScript庫)差不多前端基礎有了,接下來就看你做前端開發還是后臺開發了,后臺開發還要學java或php,還有數據庫
添加回答
舉報