今天小編給大家分享一下web前端工程師要掌握的基礎知識和技能有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
1 網頁的基本結構(HTML + CSS)
HTML是一種標記語言,而不是編程語言,最基本是標簽是<html>和<body>,CSS是用來定義如何顯示HTML元素的。對HTML+CSS很容易入門,但很多人不夠深入,舉幾個例子:<meta> 標簽是作什么用的?margin-left與left有什么區別,應該在什么情況下使用?再出個DIV+CSS布局問題:一個寬度不確定的DIV里面放三個水平對齊的DIV,左右兩個DIV寬度固定為150px,中間那個DIV充滿剩余的寬度。如果這些問題你目前還不知道,對那個布局問題幾分鐘內不能解決,說明你對HTML+CSS還不夠深入。
2 瀏覽器是怎么展現網頁的
不同內核的瀏覽器對網頁的渲染是不一樣的,目前瀏覽器都有客戶端調試工具,下圖展現一個google首頁在IE9下的加載細節:
在做web性能優化時,對瀏覽器渲染及細節要進一步了解。說個比較有用的知識點:目前瀏覽器并行加載的上限是6,老版本的瀏覽器會有所不同。
3 網頁的生命周期
不同的web框架下,頁面的生命周期會有所不同,大體還是一樣:客戶端發送GET請求,服務器返回相應頁面,客戶端完成操作及數據,然后POST給服務器。一定要對數據的傳遞(前臺與后臺,頁面之間)的細節了然于心。
4 DHTML DOM BOM Javascript AJAX
這是Web前端開發的重中之中,大多數時候我們都在和他們打交道。說幾個注意點:javascript是單線程編程,所謂的javascript異步編程只不過是計劃在未來的某個時間上執行相應事件而已;詳細了解DOM事件機制;客戶端存儲(HTML5中增加了localStorage和sessionStorage);javascript不像服務器端語言那樣嚴謹,調試不是很方便,所以一開始要養成嚴謹的javascript編輯習慣;javascript很強大很靈活,不要幻想短時間內熟練(更別說精通)它,并寫些框架、類庫,初始階段還是先用熟練已成熟的框架(比如jquery)當入門;一定要熟練使用客戶端調試工具。
6 服務器端語言開發經驗,PS切圖技術
Web前端開發介于設計與開發中間,所以兩端的東西都得懂點。編輯語言是相通的,之前編寫過服務器語言,對學習javascript是十分有益的,從圖片轉成靜態HTML頁面,少不了PS切圖技術。
5 瀏覽器的兼容性
由于歷史原因 ,瀏覽器的兼容性一直都折磨web前端工程師的地方,雖然有W3組織,并制定了一些規范,雖然瀏覽器產商都正在努力改進并接近其規范,但現實網絡環境中各種內核、各種版本的瀏覽器都有一席之地。解決瀏覽器兼容性靠經驗積累,可喜的事這方面資料網上有很多。http://www.w3help.org/zh-cn/這是個很好的參考網站。
6 快速學習能力和主動學習意愿
web前端的發展很快,從事這一行業一定要有快速學習能力和主動學習意愿,這樣才能適應web產品的要求。在web前端領域沒有絕對的是與非,解決一個問題的方法有很多,但我們要找到一個更合適的方法,找到一個更合適的方法需要經驗作積累,總之web前端入門容易,想熟練很難,需要更多的主動學習意愿。
7 良好的溝通能力
優秀的前端工程師需要具備良好的溝通能力,因為你的工作與很多人的工作息息相關,比如項目經理、設計師、最終用戶、開發工程師,前端工程師位于這幾類人的交匯點上,這些角色的要求你都得照顧好,平衡這四類人的需求,拿出一個比較合適的方案。由此可見溝通能力對前端工程師要求更高。
首先,前端工程師必須得掌握HTML、CSS和JavaScript。只懂其中一個或兩個還不行,你必須對這三門語言都很熟悉。也不是說必須對這三門語言都非常精通,但你至少要能夠運用它們完成大多數任務,而無需地頻繁地尋求別人的幫助。
優秀的前端工程師應該具備快速學習能力。推動Web發展的技術并不是靜止不動的,沒錯吧?我甚至可以說這些技術幾乎每天都在變化,如果沒有快速學習能力,你就跟不上Web發展的步伐。你必須不斷提升自己,不斷學習新技術、新模式;僅僅依靠今天的知識無法適應未來。Web的明天與今天必將有天壤之別,而你的工作就是要搞清楚如何通過自己的Web應用程序來體現這種翻天覆地的變化。
計算機科學這個大門類下面的許多分支在人們眼中實際上都不外乎科學。但是,我們所說的前端不是什么科學,而是藝術。藝術家不僅要掌握謀生的技術,還要懂得如何運用。對同一個問題的解決方案在這種情況適用,在另一種情況下可能就不適用。對Web應用程序的前端而言,解決同一問題的方案經常會有很多。沒有哪個方案是錯的,但其中確實有一些是更合適的。優秀的前端工程師應該知道在什么情況下使用哪種方案更合適,而在什么情況下應該重新選擇。
優秀的前端工程師需要具備良好的溝通能力,因為你的工作與很多人的工作息息相關。在任何情況下,前端工程師至少都要滿足下列四類客戶的需求。
產品經理——這些是負責策劃應用程序的一群人。他們能夠想象出怎樣通過應用程序來滿足用戶需求,以及怎樣通過他們設計的模式賺到錢(但愿如此)。一般來說,這些人追求的是豐富的功能。
UI設計師——這些人負責應用程序的視覺設計和交互模擬。他們關心的是用戶對什么敏感、交互的一貫性以及整體的好用性。他們熱衷于流暢靚麗但并不容易實現的用戶界面。
項目經理——這些人負責實際地運行和維護應用程序。項目管理的主要關注點,無外乎正常運行時間(uptime)——應用程序始終正??捎玫臅r間、性能和截止日期。項目經理追求的目標往往是盡量保持事情的簡單化,以及不在升級更新時引入新問題。
最終用戶——當然是應用程序的主要消費者。盡管我們不會經常與最終用戶打交道,但他們的反饋意見至關重要;沒人想用的應用程序毫無價值。最終用戶要求最多的就是對個人有用的功能,以及競爭性產品所具備的功能。
那么,前端工程師應該最關注哪些人的意見呢?答案是所有這四類人。優秀的前端工程師必須知道如何平衡這四類人的需求和預期,然后在此基礎上拿出最佳解決方案。由于前端工程師處于與這四類人溝通的交匯點上,因此其溝通能力的重要性不言而喻。如果一個非??岬男鹿δ芤驗闀绊懬岸诵阅?,必須刪繁就簡,你怎么跟產品經理解釋?再比如,假設某個設計如果不改回原方案可能會給應用程序造成負面影響,你怎么才能說服UI設計師?作為前端工程師,你必須了解每一類人的想法從何而來,必須能拿出所有各方都能接受的解決方案。從某種意義上說,優秀的前端工程師就像是一位大使,需要時刻抱著外交官的心態來應對每一天的工作。
我告誡新來的前端工程師最多的一句話,就是不要在沒有作出評估之前就隨便接受某項任務。你必須始終記住,一定先搞清楚別人到底想讓你干什么,不能簡單地接受“這個功能有問題”之類的大概其的說法。而且,你還要確切地知道這個功能或設計的真正意圖何在?!凹右粋€按鈕”之類的任務并不總意味著你最后會加一個按鈕。還可能意味著你會找產品經理,問一問這個按鈕有什么用處,然后再找UI設計師一塊探討按鈕是不是最佳的交互手段。要成為優秀的前端工程師,這種溝通至關重要。
以上就是“web前端工程師要掌握的基礎知識和技能有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。