A. 如何成為前端工程師
一、技術的必須的
作為一名最基礎的前端工程師你必須掌握HTML、CSS和JavaScript。三者必須同時精通,類似我字樣對前端知識一知半解的,一遇到問題就停下工作就四處搜索解決方案的,首先就算不上一個合格的前端人員。像我這樣的如果當了前端工程師那工期肯定是不能保證的。合格的前端工程師第一要學會的就是在沒有任何外來幫助的情況下(包括搜索引擎),能夠完成大多數任務。
以下知識點是作為一個前端工程師必須了解和熟悉的:
DOM結構——兩個節點之間可能存在哪些關系以及如何在節點之間任意移動。
DOM操作——怎樣添加、移除、移動、復制、創建和查找節點。
事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別。
XMLHttpRequest——這是什麼、怎樣完整地執行一次GET請求、怎樣檢測錯誤。
嚴格模式與混雜模式——如何觸發這兩種模式,區分它們有何意義。
盒模型——外邊距、內邊距和邊框之間的關系,IE < 8中的盒模型有什麼不同。
塊級元素與行內元素——怎麼用CSS控制它們、它們怎樣影響周圍的元素以及你覺得應該如何定義它們的樣式。
浮動元素——怎麼使用它們、它們有什麼問題以及怎麼解決這些問題。
HTML與XHTML——二者有什麼區別,你覺得應該使用哪一個並說出理由。
JSON——它是什麼、為什麼應該使用它、到底該怎麼使用它,說出實現細節來。
產品經理——這些是負責策劃應用程序的一群人。他們能夠想像出怎樣通過應用程序來滿足用戶需求,以及怎樣通過他們設計的模式賺到錢(但願如此)。一般來說,這些人追求的是豐富的功能。
UI設計師——這些人負責應用程序的視覺設計和交互模擬。他們關心的是用戶對什麼敏感、交互的一貫性以及整體的好用性。他們熱衷於流暢靚麗但並不容易實現的用戶界面。
項目經理——這些人負責實際地運行和維護應用程序。項目管理的主要關注點,無外乎正常運行時間——應用程序始終正常可用的時間、性能和截止日期。項目經理追求的目標往往是盡量保持事情的簡單化,以及不在升級更新時引入新問題。
最終用戶——當然是應用程序的主要消費者。盡管我們不會經常與最終用戶打交道,但他們的反饋意見至關重要;沒人想用的應用程序毫無價值。最終用戶要求最多的就是對個人有用的功能,以及競爭性產品所具備的功能。
前端工程師
SVG/Canvas/VML
D3/Raphaël/DataV
知識管理/總結分享
溝通技巧/團隊協作
需求管理/PM
交互設計/可用性/可訪問性知識
編譯原理
計算機網路
操作系統
演算法原理
軟體工程/軟體測試原理
D2/WebRebuild
NodeParty/W3CTech/HTML5夢工廠
JSConf/滬JS(JSConf.cn)
QCon/Velocity/SDCC
JSConf/NodeConf
YDN/YUIConf
MongoDB/CouchDB
HTML5/CSS3
響應式設計
Zeptojs/iScroll
V5/Sencha Touch
PhoneGap
jQuery Mobile
CSRF/XSS
ADsafe/Caja/Sandbox
類庫模塊化
業務邏輯模塊化
文件載入
CommonJS/AMD
YUI3模塊
LABjs
SeaJS/Require.js
壓縮合並
文檔輸出
項目構建工具
YUI Compressor
Google Clousure Complier
CleanCSS/UglifyJS
JSDoc
Dox/Doxmate
make/Ant
GYP
Grunt
Yeoman
數據結構
OOP/AOP
原型鏈/作用域鏈
閉包
函數式編程
設計模式
Javascript Tips
JSPerf
YSlow 35 rules
PageSpeed
HTTPWatch
DynaTrace』s Ajax
高性能JavaScript
HTTP1.1
ECMAScript3/5
W3C/DOM/BOM/XHTML/XML/JSON/JSONP
CommonJS/AMD
HTML5/CSS3
jQuery/Underscore/Mootools/Prototype.js
YUI3/Dojo/ExtJS
Backbone/KnockoutJS/Emberjs
Coding style
單元測試
自動化測試
JSLint/JSHint
CSSLint
Markup Validation Service
QUnit/Jasmine
Mocha/Should/Chai
WebDriver
IDE
調試工具
版本管理
VIM/Sublime Text2
Notepad++/EditPlus
WebStorm
Firebug/Firecookie
YSlow
IEDeveloperToolbar/IETester
Fiddler
Git/SVN
Github/Bitbucket/Google Code
HTML/HTML5
CSS/CSS3
PhotoShop/Paint.net
JavaScript/Node.js
JavaScript語言精粹
IE6/7/8/9
Firefox
Chrome/Safari/Opera
瀏覽器
編程語言
切頁面
開發工具
代碼質量
前端庫/框架
前端標准/規范
性能
編程知識儲備
部署流程
代碼組織
安全
移動Web
JavaScript生態
前沿技術社區/會議
計算機知識儲備
軟技能
可視化
後端工程師
Unix/Linux/OS X/Windows
SQL
MySQL/MongoDB/Oracle
C/C++/Java/PHP/Ruby/Python/…
編程語言
操作系統
數據結構
上述這些知識點都應該是你「想都不用想」就知道的東西。除了上述的前端知識,也還需學會至少一門後端編程語言,讓你自己學會如何與後端進行更好的交互。
很多前端工程師對一些庫非常的熟悉,jQuery,Bootstrap等,但是對於庫的熟悉並不能提現你的優秀,整整優秀的是那些理解庫背後的機制,特別是能夠徒手寫出一個自己的庫的人。
真正合格的前端工程師是能實現具體的功能要求,而優秀的前端工程師需要解決的問題是尋找一個最優的解決方案。
二、溝通很重要
優秀的前端工程師需要具備良好的溝通能力,因為你的工作與很多人的工作息息相關。在任何情況下,前端工程師至少都要滿足下列四類客戶的需求。
不要在沒有作出評估之前就隨便接受某項任務。你必須始終記住,一定先搞清楚別人到底想讓你干什麼,不能簡單地接受「這個功能有問題」之類的大概其的說法。而且,你還要確切地知道這個功能或設計的真正意圖何在。「加一個按鈕」之類的任務並不總意味著你最後會加一個按鈕。還可能意味著你會找產品經理,問一問這個按鈕有什麼用處,然後再找UI設計師一塊探討按鈕是不是最佳的交互手段。要成為優秀的前端工程師,這種溝通至關重要。
那麼,前端工程師應該最關注哪些人的意見呢?答案是所有這四類人。優秀的前端工程師必須知道如何平衡這四類人的需求和預期,然後在此基礎上拿出最佳解決方案。由於前端工程師處於與這四類人溝通的交匯點上,因此其溝通能力的重要性不言而喻。如果一個非常酷的新功能因為會影響前端性能,必須刪繁就簡,你怎麼跟產品經理解釋?再比如,假設某個設計如果不改回原方案可能會給應用程序造成負面影響,你怎麼才能說服UI設計師?作為前端工程師,你必須了解每一類人的想法從何而來,必須能拿出所有各方都能接受的解決方案。從某種意義上說,優秀的前端工程師就像是一位大使,需要時刻抱著外交官的心態來應對每一天的工作。
專業技術可能會引領你進入成為前端工程師的大門,但只有運用該技術創造的應用程序以及你跟他人並肩協同的能力,才會真正讓你變得優秀。
三、提升無止境
優秀的前端工程師應該具備快速學習能力。推動Web發展的技術並不是靜止不動的,這些技術幾乎每天都在變化,如果沒有快速學習能力,你就跟不上Web發展的步伐。你必須不斷提升自己,不斷學習新技術、新模式;僅僅依靠今天的知識無法適應未來。Web的明天與今天必將有天壤之別,而你的工作就是要搞清楚如何通過自己的Web應用程序來體現這種翻天覆地的變化。
四、前端開發知識架構
參考鏈接:
http://www.cn-cuckoo.com/2010/01/10/nicholas-c-zakas-talk-about-what-makes-a-good-front-end-engineer-1356.html
JacksonTian/fks · GitHub
B. Web前端課程都學什麼
html、CSS3、js、node開發、vue、React、微信小程序等等。
C. 零基礎如何學習前端
前端前景是很不錯的,像前端這樣的專業還是一線城市比較好,師資力量跟得上、就業的薪資也是可觀的,學習前端可以按照路線圖的順序,
0基礎學習前端是沒有問題的,關鍵是找到靠譜的前端培訓機構,你可以深度了解機構的口碑情況,問問周圍知道這家機構的人,除了口碑再了解機構的以下幾方面:
1. 師資力量雄厚
要想有1+1>2的實際效果,很關鍵的一點是師資隊伍,你接下來無論是找個工作還是工作中出任哪些的人物角色,都越來越愛你本身的技術專業前端技術性,也許的技術專業前端技術性則絕大多數來自你的技術專業前端教師,一個好的前端培訓機構必須具備雄厚的師資力量。
2. 就業保障完善
實現1+1>2效果的關鍵在於能夠為你提供良好的發展平台,即能夠為你提供良好的就業保障,讓學員能夠學到實在實在的知識,並向前端學員提供一對一的就業指導,確保學員找到自己的心理工作。
3. 學費性價比高
一個好的前端培訓機構肯定能給你帶來1+1>2的效果,如果你在一個由專業的前端教師領導並由前端培訓機構自己提供的平台上工作,你將獲得比以往更多的投資。
希望你早日學有所成。
D. 前端程序員需要掌握哪些基本技術
web前端主要掌握詳情頁的交互效果,以及與後端伺服器暢通,完成業務邏輯,Web前端工程師是中間橋梁,需要各方面對接,需要掌握的技能比較多。
web簡介:
web的本意是蜘蛛網和網的意思,在網頁設計中我們稱為網頁的意思。現廣泛譯作網路、互聯網等技術領域。表現為三種形式,即超文本(hypertext)、超媒體(hypermedia)、超文本傳輸協議(HTTP)等。
最早的網路構想可以追溯到遙遠的1980年蒂姆·伯納斯·李構建的ENQUIRE項目。這是一個類似維基網路的超文本在線編輯資料庫。
盡管這與我們現在使用的萬維網大不相同,但是它們有許多相同的核心思想,甚至還包括一些伯納斯·李的萬維網之後的下一個項目語義網中的構想。
E. web前端開發技能等級證書怎麼考需要學什麼課程
web前端開發技能等級證書考試為上機考試,分為理論考試和實操考試兩場,需要學習HTML5+CSS3、JS交互設計、Node開發、前端框架以及小程序與APP開發等課程。
web前端開發技能等級考試注意事項:
1、考生需要攜帶身份證原件並將本人准考證和身份證放在桌面指定位置以備監考人員核對;
2、考生遲到30分鍾禁止進入考場,考試前20分鍾根據監考人員的提示,考生錄入個人信息,登錄考試系統。
F. web前端都要學習什麼課程
WEB前端學習應該要學習那些課程?
在這里我們把前端學習分為9個階段,進行學習:
第一階段:
HTML+CSS:
HTML進階、CSS進階、div+css布局、HTML+css整站開發、
JavaScript基礎:
Js基礎教程、js內置對象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時器和焦點圖。
JS基本特效:
常見特效、例如:tab、導航、整頁滾動、輪播圖、JS製作幻燈片、彈出層、手風琴菜單、瀑布流布局、滾動事件、滾差視圖。
JS高級特徵:
正則表達式、排序演算法、遞歸演算法、閉包、函數節流、作用域鏈、基於距離運動框架、面向對象基礎、
JQuery:基礎使用
懸著器、DOM操作、特效和動畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。
第二階段:
HTML5和移動Web開發
HTML5:
HTML5新語義標簽、HTML5表單、音頻和視頻、離線和本地存儲、SVG、WebSocket、Canvas.
CSS3:
CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動畫、景深和深透、3D效果製作、Velocity.js框架、元素進場、出場策略、炫酷CSS3網頁製作。
Bootstrap:
響應式概念、媒體查詢、響應式網站製作、刪格系統、刪格系統原理、Bootstrap常用模板、LESS和SASS。
移動Web開發:
跨終端WEB和主流設備簡介、視口、流式布局、彈性盒子、rem、移動終端JavaScript事件、手機中常見JS效果製作、Zepto.js、手機聚劃算頁面、手機滾屏。
第三階段:
HTTP服務和AJAX編程
WEB伺服器基礎:
伺服器基礎知識、Apache伺服器和其他WEB伺服器介紹、Apache伺服器搭建、HTTP介紹。
PHP基礎:
PHP基礎語法、使用PHP處理簡單的GET或者POST請求、
AJAX上篇:
Ajax簡介和非同步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。
AJAX下篇:
JSON和JSON解析、數據綁定和模板技術、JSONP、跨域技術、圖片預讀取和lazy-load技術、JQuery框架中的AjaxAPI、使用Ajax實現爆布流案例額。
第四階段:
面向對象進階
面向對象終極篇:
從內存角度到理解JS面向對象、基本類型、復雜類型、原型鏈、ES6中的面向對象、屬性讀寫許可權、設置器、訪問器。
面向對象三大特徵:
繼承性、多態性、封裝性、介面。
設計模式:
面向對象編程思維、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。
第五階段:
封裝一個屬於自己的框架
框架封裝基礎:
事件流、冒泡、捕獲、事件對象、事件框架、選擇框架。
框架封裝中級:
運動原理、單物體運動框架、多物體運動框架、運動框架面向對象封裝。
框架封裝高級和補充:
JQuery框架雛形、可擴展性、模塊化、封裝屬於傳智自己的框架。
第六階段:
模塊化組件開發
面向組件編程:
面向組件編程的方式、面向組件編程的實現原理、面向組件編程實戰、基於組件化思想開發網站應用程序。
面向模塊編程:
AMD設計規范、CMD設計規范、RequireJS,LoadJS、淘寶的SeaJS。
第七階段:
主流的流行框架
Web開發工作流:
GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack。
MVC/MVVM/MVW框架:
Angular.js、Backbone.js、Knockout/Ember。
常用庫:
React.js、Vue.js、Zepto.js。
第八階段:
HTML5原生移動應用開發
Cordova:
WebApp/NativeApp/HybirdApp簡介、Cordova簡介、與PhoneGap之間的關系、開發環境搭建、Cordova實戰(創建項目,配置,編譯,調試,部署發布)。
Ionic:
Ionic簡介和同類對比、模板項目解析、常見組件及使用、結合Angular構建APP、常見效果(下拉刷新,上拉載入,側滑導航,選項卡)。
ReactNative:
ReactNative簡介、ReactNative環境配置、創建項目,配置,編譯,調試,部署發布、原生模塊和UI組件、原生常用API。
HTML5+:
HTML5+中國產業聯盟、HTML5PlusRuntime環境、HBuilder開發工具、MUI框架、H5+開發和部署。
第九階段:
Node.js全棧開發:
快速入門:
Node.js發展、生態圈、Io.js、Linux/Windows/OSX環境配置、REPL環境和控制台程序、非同步編程,非阻塞I/O、模塊概念,模塊管理工具、開發流程,調試,測試。
核心模塊和對象:
全局對象global,process,console,util、事件驅動,事件發射器、加密解密,路徑操作,序列化和反序列化、文件流操作、HTTP服務端與客戶端。
Web開發基礎:
HTTP協議,請求響應處理過程、關系型資料庫操作和數據訪問、非關系型資料庫操作和數據訪問、原生的Node.js開發Web應用程序、Web開發工作流、Node.js開發Blog案例。
快速開發框架:
Express簡介+MVC簡介、Express常用API、Express路由模塊、Jade/Ejs模板引擎、使用Express重構Blog案例、Koa等其他常見MVC框架。
最後學習計劃有啦,那就趕快開始學習吧!
G. 成為前端工程師需要學習哪些內容可以自學嗎
如果你的自學能力強的話可以自學,如果自我約束能力和自學能力一般建議找個培訓機構。
自學的話給以下幾點建議:
1、Web前端工程師是協調前端工程師、後端程序員實現網站頁面活程序的界面美化、交互體驗的IT技術開發人員;
2、需要精通HTML、CSS、JavaScript、jQuery、Ajax等核心的Web前端技術,具備互聯網交互設計能力;(HTML:不是編程語言,僅僅是數據格式;CSS:無類型的樣式修飾語言,算弱類型語言,需理解每個元素屬性、樣式等;JavaScript:學習起來相對來說不算太難,入手快;jQuery、Ajax:如果想在前端這塊混的好,一定要掌握,雖然不一定要用,但一定要會。)
3、熟悉Vue、React、angularjs 等最新的框架。
選擇培訓機構的話主要注意以下幾個點:
1. 看培訓機構是注重理論學習還是項目實戰演練,實戰的項目 是虛擬項目,還是真實的項目。
2. 老師是不是經驗豐富的程序員,這點很重要。經驗豐富的程 序員比只會理論知識沒有實戰經驗的老師要更有價值,你從 他身上更多的是學習項目經驗,這個的價值很大。
3. 學習過程中是不是可以隨時退費
4. 是不是推薦就業
5. 學習環境和氛圍
6.小班教學優於大班教學
H. 前端開發工程師需要學習什麼知識
web前端開發工程師一般分為三種級別,一般分為初級工程師、中級工程師、高級工程師。
1.初級前端工程師:能熟練使用html、css、js,主要工作還是搭建靜態頁面。進階知識的話就是響應式這一塊了,一套代碼能適配pc+手機是初級前端工程師的進階。
2.中級前端工程師:作為一名中級前端工程師的話,除了上面的以外,還需要會使用一些框架之類的東西,像bootstrap、jquery之類的。進階的知識應該是ajax這一塊了,當然ajax並不是很難,了解怎麼與後台互動式學習ajax的關鍵點。
3.高級前端工程師:想成為高級前端工程師,首先要學習的就是前端工程化,進階框架angular、vue、react ,和jquery有著很大區別,vue是數據控制頁面渲染及狀態,而jquery是DOM節點控制渲染,vue渲染頁面更容易更優雅。vue能夠把前端項目徹底工程化,有配置文件、可以安裝第三方模塊、配合webpack打包、可以實現模塊化開發等等,當然簡單是它最大的優勢。進階就是要學習es6 7 語法、vuex、Element_ui (開發pc端框架)、vux(開發手機端框架)、Mint UI(開發手機端框架)、Nodejs(後端語言,js語法)。
I. 前端開發工程師必讀書籍有哪些值得推薦
1丶JavaScript入門
《JavaScript權威指南(第六版)》 ★★★★★
淘寶前端團隊翻譯的,看譯者列表都是一堆大神。這本書又叫犀牛書,號稱javascript開發者的聖經,網上對此書評價很多,大概意思都是說這本書是一本JavaScript文檔手冊,沒有完整看過一遍此書的都不能算是一名合格的前端工程師。 我也是從這本書開始接觸前端開發的,當時還是華章出版社的校園大使,免費申請到了這本書,可惜的是兩年來我一直把它作為一本cookbook來查閱,一直沒有好好通讀一遍。個人感覺這本書還是寫得枯燥了些,不過內容絕對是五顆星,無可挑剔!
2丶《JavaScript高級程序設計》 ★★★★★
又稱紅寶書,雅虎首席前端架構師,YUI的作者Zakas出品。雖然書名帶了「高級」二字,但是講得也很基礎,而且行文風格很流暢,每一小節就像是一篇博客,讀起來並不枯燥,個人感覺比上面那本犀牛書可讀性更強。說到這里,也推薦大家多多關注作者的博客:NCZOnline - The official website of Nicholas C. Zakas ,上面也有許多高質量的博文。感覺這本書就像是作者平時的博文按照前端知識體系組織成了一本技術書。
作為初學者如果覺得上面兩本書作為入門書來說太厚了,也可以看看這本,不厚,評價也很高,但是由於本人沒看過,就不作過多評價了。
3丶《JavaScript編程精解》 ★★★★
用上下班時間看完的第三本書。看起來比較吃力,第五章函數式編程和第六章的面向對象編程很多都沒看懂。全書游戲式的編程教程還是很有意思的。譯者tom大叔名頭很大,翻譯的質量也只是中規中矩吧。不過,還是get到很多技巧!這本書的推薦語說這本書用來入門很好,但是個人認為初學者並不合適看這本書入門,作者在代碼示例中不自覺得使用了一些高級用法,初學者看容易暈菜。聽說最近出了第二版,加入了NodeJS的內容,這本書是開源的:Eloquent JavaScript
4丶《JQuery權威指南》 ★★★
錯誤很多啊,不過其中的語法+示例的形式,確實很適合初學者。但是錯誤實在太多了,而且有些語句還不通順,看著很累啊,只能說寫得好代碼的人,書不一定寫得好。
J. 如何系統的學習web前端
您好,系統的學習web前端包括8個方面,按照順序學習就可以了。
1.前端核心基礎
HTML +_CSS核心、JavaScript基礎語法、JavaScript面向對象、JavaScript DOM和BOM編程、jQuery框架
2.HTML5 + CSS3 + 移動端核心
HTML5新特性、Canvas專列、CSS3新特性、CSS3進階、CSS3實例演練
3.移動端
移動端核心、移動端適配、移動端特效
4.伺服器端
伺服器端開發、資料庫操作、前後端交互核心、微信公眾號開發
5.JavaScript高級
JavaScript基礎深入剖析、JavaScript面向對象深入講解、JavaScript非同步編程、JavaScript函數式編程
JavaScript設計模式
6.前端必備
性能優化、版本控制工具、模塊化、項目構建工具
7.高級框架
React框架基本使用、React框架進階、Vue框架基本使用、Vue框架進階、Vue源碼分析
8.小程序
原生小程序入門、原生小程序API使用、小程序框架Mpvue