web前端工程師的學習路徑,每個階段都需要學什麼?

来源:https://www.cnblogs.com/TT485480/archive/2020/05/04/12825462.html
-Advertisement-
Play Games

初識前端 前端開發工作已經變的越來越複雜,僅僅是想羅列一份前端開發的學習列表就已經是一件艱巨的工作。曾經只要會編寫 HTML, CSS 和Javascript 就是能夠找到一份前端開發工作的全部要求。而現在,web 開發遠遠不止是簡單編碼。因為我們的互聯網上有了更多的內容,也因為有更多的人、更多設備 ...


初識前端

前端開發工作已經變的越來越複雜,僅僅是想羅列一份前端開發的學習列表就已經是一件艱巨的工作。曾經只要會編寫 HTML, CSS 和Javascript 就是能夠找到一份前端開發工作的全部要求。而現在,web 開發遠遠不止是簡單編碼。因為我們的互聯網上有了更多的內容,也因為有更多的人、更多設備可以訪問互聯網, web 前端開發技能也就更多了。

新手學習前端的話,一定要想想為什麼要學習它,是出於一種什麼心態,然後定位好自己,多向大牛請教,多教一些沒有自己水平高的人,那樣往往能讓自己成長的快,切勿急躁。在這裡一定要對自己做分析,然後找出一種適合的學習方法。

好吧,其實只要你有熱情,這些還是很有趣的,現在就來仔細看看,一份前端開發的工作,到底需要你準備些什麼?

web前端的學習路線
結合我的學習經歷、近年來輔導學生的經驗以及公司中實際項目的需求,在這裡將Web前端的學習分為以下幾個階段,具體的學習路線圖如圖所示。

 

 第一階段——HTML的學習

超文本標記語言(HyperText Mark-up Language 簡稱HTML)是一個網頁的骨架,無論是靜態網頁還是動態網頁,最終返回到瀏覽器端的都是HTML代碼,瀏覽器將HTML代碼解釋渲染後呈現給用戶。因此,我們必須掌握HTML的基本結構和常用標記及屬性。

HTML 的學習是一個記憶和理解的過程,在學習過程中可以藉助Dreamweaver的“拆分”視圖輔助學習。在“設計”視圖中看效果,在“代碼”視圖中學本質, 將各種視圖的優勢發揮到極致,這種對照學習的方法彌補了單純識記HTML標簽和屬性的枯燥乏味,想必對各位初學的小盆友們來說必定是極好的!

在學習了HTML之後,我們只是掌握了各種“原材料”的製作方法,要想蓋一幢樓房就還需要把這些“原材料”按照我們設計的方案組合佈局在一起併進行一些樣式的美化。

 

第二階段——CSS的學習

CSS是英文Cascading Style Sheets的縮寫,叫做層疊樣式表,是能夠真正做到網頁表現與內容分離的一種樣式設計語言。相對於傳統HTML的表現而言其樣式是可以復用的,這樣就極大地提高了我們開發的速度,降低了維護的成本。

同時CSS中的盒子模型、相對佈局、絕對佈局等能夠實現對網頁中各對象的位置排版進行像素級的精確控制。通過此階段的學習,我們就可以順利完成“一幢樓房”的建設。

“樓房”建設完成之後,我們可以交給用戶使用,但是如果想讓用戶獲得更佳的體驗,我們還可以對“樓房”進行更深一步的“裝修”,讓它看起來更“豪華”一些。

 

第三階段——JavaScript的學習

JavaScript是一種在客戶端廣泛使用的腳步語言,在JavaScript當中為我們提供了一些內置函數、對象和DOM操作,藉助這些內容我們可以來實現一些客戶端的特效、驗證、交互等,使我們的頁面看起來不那麼呆板,屌絲瞬間逆襲高富帥!有麽有?

此時,也許你還沉浸在JavaScript給你帶來的驚喜之中,但你的項目經理卻突然對你大吼道

“這個效果在××瀏覽器下不相容,重新搞……”

“不相容?”瞬間石化了有木有?

“我擦,坑爹啊!那可是花了我一個晚上寫了幾百行代碼搞定的啊,吐血了都!”

 JavaScript的相容性和複雜性有時候的確讓我們頭疼,還好有“大神”幫我們做了封裝。

 

第四階段——jQuery的學習

jQuery 是一個免費、開源的輕量級的JavaScript庫,並且相容各種瀏覽器(jQuery2.0及後續版本放棄了對IE6/7/8瀏覽器的支持),同時現在有很多基於jQuery的插件可供選擇,這樣在我們實現一些豐富的動態效果時更方便快捷,大大節省了我們開發的時間,提高了開發速度,這也充分體現了其 write less,do more的核心宗旨。這個Feel倍兒爽!有麽有?

 

第五階段——bootstrap的學習

“豪華大樓”至此拔地而起,但是每天這樣日復一日,年復一年的蓋樓,好繁瑣!能不能將大樓裡面每一個單獨部件模塊化,當需要蓋樓時就像堆積木一樣組合在一起,這樣豈不是爽歪歪?可以實現嗎?答案是肯定的。

這種思想在Web前端開發中也是適合的,於是乎就出現了各種前端框架,在這裡推薦給大家的是Bootstrap。

Bootstrap是Twitter推出的一個開源的用於前端開發的工具包,是一個CSS/HTML框架,並且支持響應式佈局。一經推出後頗受歡迎,一直是GitHub上的熱門開源項目。

在項目開發過程中,我們可以藉助Bootstrap提供的CSS樣式、組件、JavaScript插件等快速的完成頁面佈局和樣式設置,然後再有針對性的微調樣式,這樣基於框架進行開發大大縮短了開發周期。站在巨人的肩膀上就是爽!

web前端的學習建議

最後給大家聊聊在學習Web前端中的一些建議和方法:

在CSS佈局時需要註意的一個問題是很多同學缺乏對頁面佈局進行整體分析,不能夠從巨集觀上對頁面中盒子間的嵌套關係進行把握,就急於動手去做,導致頁面中各元素間的關係很混亂,容易出現盒子在浮動時錯位等情況。建議大家在佈局時採用“自頂向下,逐步細化”的思想,先用幾個盒子將頁面從整體上劃分,然後逐步在盒子中繼續嵌套盒子。

“君子生非異也,善假於物也”,在學習的過程中還要多瀏覽一些優秀的網站,善於分析借鑒其設計思路和佈局方法,見多方能識廣,進而才可以融會貫通,取他人之長為我所用。  

同時還要善於使用Firebug這個利器。Firebug一方面可以在我們學習過程中幫助我們調試自己的頁面,另一方面我們可以使用Firebug方便地查看、分析別人網站的源代碼,“偷”也是一種技能!

每個人的成長與基礎不一樣,結合自己的實際情況,在執行。還是重覆一下,前端的核心是js,css不難,但需要來積累。對前端我是這麼看的:

css就像一瓶酒,得品。

html,css總共就那些標簽跟選擇器屬性什麼的,但是要寫一個有擴展性,健壯性或維護性的頁面不容易。現在寫頁面基本條件反射,不是如何快速的完成,而是思考如果有界面需求修改,怎麼在修改代碼最少的情況下快速完成需求任務。這是對前端耐力,體力,智力的三重考驗。

js就像一把劍,得磨。

js剛開始只是為了較驗,隨便技術社會的發展,承擔的角色越來越重,剛開始玩玩jQuery感覺已經會js了,其實只是冰山一角。隨著對js的瞭解越來越多,他即變態又可愛,即好玩又難控,即有很多相容問題,但解決相容是我們基本生存之道。從ajax到jsmvc一路走一路看,高載潮一浪高過一浪

人生就是一場夢,得作。

技術只是生活的一部分,曾經雄心鬥志,如今低頭寫碼。改變能改變的,接受不能改變的。人生有限,兄爭朝夕啊。人生學習的態度是:不急不躁,不快不慢。持之以恆,相信自己。不求能改變世界,但求能改變自己的生活。不求健步如飛,但求一步一腳印。感謝磨難,他使我們內心更為堅強。感謝挫折,他使我們不斷的成長,感謝bug,他使我們的思維更加深邃。感謝前端,他使我們更加的相信,撐起一片天空需要十八般武藝。

文章部分內容來自於互聯網,學對自己有用的東西,感覺有不對的地方可以直接無視,只是一個參考,願大家的前端之路越走越遠。 

如果你還沒有決定成為哪種程式員,市場高薪搶聘的 WEB程式員是你不錯的選擇。WEB程式員有大量的機會,適合不同類型的人的需要。你可能是零基礎起步學web前端、一個兼職的或者全職的專業程式員,WEB開發會給你提供很多。

我目前是在職前端開發,如果你現在也想學習前端開發技術,
在入門學習前端的過程當中有遇見任何關於學習方法,學習路線,學習效率等方面的問題,
你都可以申請加入我的前端學習交流裙:前面:603 中間:985 最後:993。裡面聚集了一些正在自學前端的初學者
裙文件裡面也有我做前端技術這段時間整理的一些前端學習手冊,前端面試題,
前端開發工具,PDF文檔書籍教程,需要的話都可以自行來獲取下載。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • attr 與 prop 都可以對某個屬性進行獲取和設置的操作,二者的用法相同: <script src = 'jQuery.js'></script> <script> // attr: // 設置單個屬性 $(element).attr(name,value); // 設置多個屬性 $(eleme ...
  • Promise.all(): 1 <body> 2 <div id="pic" ></div> 3 <script> 4 const imgs = [ 5 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=158 ...
  • const的定義 const用來聲明常量(固定不變的數),只讀,且必須有初始化值。 const聲明的常量,字母一般大寫。(另外, "let" 的規則也同樣適用於const,它們的不同是const聲明常量,let聲明變數。) 一、只讀 二、必須有初始化值 三、const的實質 const聲明的常量不可 ...
  • 一、沒有聲明提升 var有聲明提升。 用let來聲明變數時,不會將聲明提升到最頂部。 因此,當我們使用let來聲明變數時,一定要 先聲明再使用 。 註意: let聲明的變數不會被掛載到window對象上。 二、塊級作用域 var不存在塊級作用域,只有全局作用域和函數作用域。 ES6中存在 塊級作用域 ...
  • 同步方法在promise示例中變成非同步執行: console.log(1); let p = new Promise(resolve => { console.log(2); resolve(); console.log(3); }); console.log(4); p.then(() => { ...
  • 上一篇講述了 編輯器的下載和漢化.接下進行下一個準備操作: 谷歌瀏覽器的安裝:這一步2020年了,應該誰都會了吧.哈哈哈(還是簡單說一下) 1.打開我們偉大的 IE 瀏覽器 2.直接打 谷歌瀏覽器 普通下載 直接安裝即可 3. 然後進行一些預設設置,因為有些小伙伴的谷歌瀏覽器的搜索引擎可能用不了(被 ...
  • JavaScript實現對象混合與對象淺度克隆和對象的深度克隆 1.實現對象混合: this.myPlugin = this.myPlugin || {}; /** * 將obj2混合到obj1產生新對象 * 實現方式1 */ this.myPlugin.mixObj = function (obj ...
  • 構造函數中的方法每當new一個對象的時候,就會創建一個構造函數里的方法,如果多個實例對象就會創建多個方法,占用記憶體,沒有提高代碼的復用性; 將方法定義到構造函數的原型對象里,創建多個實例對象而共用一個方法,方法創建了一次。 <script> function Persion(name, age) { ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...