鄭州前端開發(fā)培訓(xùn):前端開發(fā)真的很稀缺!
云和教育作為云和數(shù)據(jù)旗下高端泛IT職業(yè)教育品牌,開設(shè)有UI總監(jiān)班、PHP高薪班、JAVA大數(shù)據(jù)班、HTML5專家班、Unity虛擬現(xiàn)實大師班五大精品課程。
課程設(shè)置緊跟時代“前端”發(fā)展和“后端”需要。采用小班教學(xué),金牌講師面授輔導(dǎo),采用沉浸式的教學(xué)模式,8+2的學(xué)習(xí)模式,學(xué)員畢業(yè)即擁有1-2年工作經(jīng)驗,貼近企業(yè)需求,保證高薪就業(yè)!
前言
上周的微信小程序讓前端這個職業(yè)再次推向了一波小高潮。有篇文章說微信小程序會讓前端失業(yè),嚇得拿出java高級程序3看了一遍序。本文是簡書作者@JoyceCheng翻譯的。
正文從這開始~
這是一個合理的問題。對外行而言,前端開發(fā)一定看起來易如反掌吧。但如果是這樣的話,為什么前端開發(fā)者不是多如牛毛呢?
答案很簡單:前端開發(fā),就像任何特殊行業(yè)或體育比賽一樣,比它看起來難得多。它不難,直至你把腳趾放進去,方知水很深。
前端開發(fā)比它看上去要復(fù)雜許多
且不說服務(wù)器端的開發(fā)有多難,要知道客戶端的工作所遇到的問題仍然很重要。作為一名前端開發(fā)者,大部分的工作必須用HTML和CSS完成,這使得解決問題可用的工具十分有限。 Java到處都有用,但是功能檢測意味著性能開銷。它意味著更多的代碼,以及更多代碼出錯的機會。此外,一旦你的網(wǎng)站開始增長,CSS的使用將會很痛苦。它非常靜態(tài),于是你最終不得不把代碼大量記在腦子里。
陡峭的學(xué)習(xí)曲線,部分原因是由于該領(lǐng)域不斷變化的性質(zhì)。在前端,總有新東西可學(xué):響應(yīng)式媒體查詢,HTML應(yīng)用緩存,CSS轉(zhuǎn)換,WebGL等。所有這些工具為前端開發(fā)者帶來了令人興奮的新的可能性,但也改變了他們工作完成的方式。
這也意味著前端開發(fā)的教學(xué)方式在盡可能頻繁并準確地改變著。不幸的是,沒有哪位教練能夠期待與不斷變化的技術(shù)保持同步,也就是說每一個新進入職場的前端開發(fā)者都已經(jīng)落后了好幾個階段,他們必須努力填補自己的工具箱,而必要資源的供應(yīng)是永無止境的。
前端開發(fā)不止于開發(fā)
前端不僅僅是代碼。它跟代碼與用戶的交互有關(guān)。在客戶端的開發(fā)中,不佳的設(shè)計很容易成為產(chǎn)品與受眾之間的障礙。一名好的前端開發(fā)者需要理解網(wǎng)絡(luò)性能和決定線上成功的不同評判標準。這意味著HTTP緩存,優(yōu)化DNS查詢時間,極簡化構(gòu)建腳本,并且為項目選擇最佳的CSS布局機制。
不僅如此,一名好的前端開發(fā)者還需要理解市場。這意味著明白用戶的心理,為產(chǎn)品的易用性與可用性區(qū)分優(yōu)先次序,并維持強大的搜索引擎優(yōu)化。這還意味著對設(shè)計理論有一個基本的了解,并偶爾參與幾乎不可能實現(xiàn)的平面設(shè)計工作。
對于客戶端開發(fā)而言,注重產(chǎn)品的安全也是很重要的,要防止CSRF,XSS,DNS鎖定和點擊劫持。但并不是所有的前端開發(fā)都是客戶端的——即使前端開發(fā)者也需要時不時地深入到服務(wù)器端代碼。這是對的:一個好的前端開發(fā)者也需要是一個好的后端開發(fā)者。
這意味著產(chǎn)品要兼容一切
開發(fā)者彼得-保羅·科赫,道格拉斯·克羅克福德,和尼古拉斯·扎卡斯都同意——“前端開發(fā)是世界上最糟糕的開發(fā)環(huán)境?!痹蛟谟冢杭嫒菪浴R坏┮幻岸碎_發(fā)者完成了他的工作(以及一大堆其他的工作),他們得立馬回到工作上,確保產(chǎn)品在每一種瀏覽器、移動設(shè)備,甚至陽光下的高端烤箱上功能最佳。這可是一大堆的工作啊。
即興思考一下,你能想到多少互聯(lián)網(wǎng)瀏覽器?僅舉幾例,前端開發(fā)者有Chrome,F(xiàn)irefox,Opera,Safari,IE瀏覽器,以及現(xiàn)在的Edge要開發(fā)——更別提每個瀏覽器過去的各種版本,都必須考慮兼容性。想想這個:IE瀏覽器的每個版本,從6到10,都有其自身獨特的缺陷與局限。但是,滿足每一個瀏覽器的需求仍然很重要,否則的話許多用戶將無法訪問你的產(chǎn)品。
而這僅僅是臺式機市場?,F(xiàn)在考慮一下用戶可能用來訪問你的服務(wù)的每一種型號的智能手機與平板,它們每一個都要求不同的輸入方式。這項服務(wù)在沒有鍵盤的情況下還能工作嗎?沒有鼠標呢?它支持觸摸屏嗎?它有手勢嗎?這項服務(wù)必須在所有情況下都有效——即使是在用戶調(diào)整輸出以滿足自己的需求的時候。無論用戶是調(diào)整文本大小,改換顏色還是完全禁用CSS或Java,產(chǎn)品都必須保持工作。就如同前端開發(fā)者布拉特·博赫卡里奧夫所說,“我們在各種能想到的設(shè)備所運行的不一致的平臺上使用著蹩腳的工具…不管是什么,要確保產(chǎn)品適用于每一個人?!?/p>
所以,為什么優(yōu)秀的前端開發(fā)者這么難找?因為要成為一名優(yōu)秀的前端開發(fā)者是很難的——或許比你想象的要難得多。一名優(yōu)秀的前端開發(fā)者必須要有耐心,決心和意愿,去滿足傳統(tǒng)開發(fā)之外的多種不同角色,與此同時要確保產(chǎn)品對于盡可能多的受眾而言是最優(yōu)的——是的,那必定是來之不易的。