網站前端開發工程師學習,需要掌握哪些知識?
大家好,我是小邱!一個不負正業的程序員。
在此給大家推薦一些提高效率的工具。
思維導圖工具-XMind,免費,Windows/Mac平臺都有,當我們學習知識的時候,仔仔一直堅信理解并梳理清楚才能夠算真學會了。所以我會結合博客和XMind,讓知識體系更為清晰。圖形類工具-PowerPoint,Mac平臺OmniGraffle,可能你也發現了,這篇文章里面的配圖很多都是用Omni制作的。不會休息的程序員不是好的切圖仔,所以使用Pomodoro管理我們自己的節奏吧,寫上20分鐘,休息上5分鐘,在5分鐘的時候思考那些沒解決的bug,保證會比坐在電腦前想著要舒服,值得高興的是,它又是一個全平臺產品。下面是學習前端的一些學習路線:
HTML部分對HTML5的理解,Web語義化,SEO頁面加載的過程結構組織新增API 如本地存儲、CanvasCSS部分CSS3 transition transform animatew3c盒子模型 和 IE盒子模型,box-sizing屬性BFC選擇器優先級less 與 sassbackground-* 系列屬性,這個不要忽視了,還是很重要的JS部分原型 閉包聲明提升基本數據類型高階函數JSON、JSONP 跨域 iframe 通信Ajax原生DOM操作(比如 逆序DOM節點)事件捕捉,捕獲,冒泡,代理Array常用函數String常用函數ES5 + ES6VUE框架部分(大部分按照簡歷來)HTTP1/2 理解、狀態碼、優化、緩存控制(必考)TCP三次握手,四次揮手XSS與CSRF(必考)學習經歷和方法性能優化單元測試React + Redux總結有一個好的學習方法比什么都重要,雖然這篇文章是討論前端的,但是學習的方法并不局限在前端上,掌握好的學習方式,可以無形中減少我們的學習成本,努力不是用消耗的時間來衡量的,我們需要的是學好,更需要玩好,開心才是最重要的。
零基礎的前端開發初學者應如何系統地學習?
所以語言來學習都有共同之處。作為一名年輕數的前端開發轉的話,如果從零到一去學習前端開發知識,我給出以下建議。
第一,學習HTML和CSS的基礎知識。這里你需要熟悉HTML各個標簽的功能和作用,學習css的各種屬性等。因為你拿到美工提供給你的設計之后,把它開發成一個精美頁面,就在是內容來說,需要HTML和css的知識。如果你不清楚每一個屬性是什么樣子的,那么你在開發的時時候效率比較低,還先查一下需要用什么屬性再進行開發。
這類知識的學習可以充分利用目前的在線平臺,例如菜鳥教程,慕課網等等。如果你想通過書本學習,可以找銷量比較高的書。
第二點,學習JavaScript相關知識。在前端里js是非常重要的,頁面中的聯動數據處理,或者是彈窗或者是一些觸發事件等等,都是需要js來實現的。
js就要比html和css復雜很多,你可以用js實現一個算法,而另外兩種不能。書籍的話推薦《avaScript DOM 編程藝術》、大厚本里Zakas的《JavaScript高級程序設計》 、犀牛書《JavaScript權威指南》、《高性能JavaScript》等等
JavaScript學習可以參考上面提到,從零到一,從一到N,循序漸進掌握。此外,還需要學習AJAX、jQuery相關知識,一個是跟后端交互,一個是快速、簡潔的JavaScript框架。
第三點,學習前端框架web前端三大主流框架都是Angular、React、Vue。前端框架的使用可以讓你如虎添翼,更方便快速的開發。
(1) Angular
Angular原名angularJS誕生于2009年,之前都是用jquery開發,自從angular的出現讓開發者有了新的選擇,這個框架之前開發中有使用過,它把后端的一些開發模式移植到前端來實現,如MVC、依賴注入等。
(2) React
React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其創新式的VirtualDOM,性能上碾壓angularJS,一經推出,火的一塌糊涂。 特點很多,VirtualDOM、JSX、Diff算法等,支持ES6語法,采用函數式編程,門檻稍高,但也更靈活,能讓開發具有更多可能性。
(3) Vue
Vue作為最晚推出的框架(2014年),借鑒了前輩angular和react的特點(如VirtualDOM、雙向數據綁定、diff算法、響應式屬性、組件化開發等)并做了相關優化,使其使用起來更加方便,更容易上手,比較少適合初學者。國內目前使用vue的開發者越來越多,的確也比較好用
第四點,著手開發一個練手的應用。除了一系列基礎知識的學習之外,必要的開發練習還是很重要的。你在學習基礎知識的時候同時加以練習,這樣你可以知道每一個變量它具體實現的是什么樣的效果。
其實是將你學過的所有知識給我廢話哦。開發一個完整的應用,將你所學的知識盡可能的應用其中,這樣對你會有更大的提升,因為學習編程語言的目的最終的結果就是開發出一個完整的應用。我實際開發應用的過程中,你就會知道某個方法在具體場景下如何使用。