無(wú)聊的前端工程師
酷炫的前端工程師熱衷于超越各種極限,他們總喜歡追逐***、***秀、最耀眼的用戶(hù)界面框架和前端編程庫(kù)。我們經(jīng)常發(fā)現(xiàn),他們一直在試圖縮小 Web 程序與原生程序之間的差距,而且,正是由于這個(gè)原因,他們已將用戶(hù)界面的外觀和行為變得越來(lái)越像一款原生程序。你可能會(huì)問(wèn),是哪一類(lèi)應(yīng)用程序?iPhone?Android?哪個(gè)版本?這些問(wèn)題都很不錯(cuò),可惜與我們討論的主題無(wú)關(guān)。然而,還有一類(lèi)前端工程師,我們姑且稱(chēng)其為無(wú)聊的前端工程師。以下就是一首贊美他們的頌歌,如果你愿意的話,請(qǐng)簡(jiǎn)稱(chēng)他們 BFED(boring front-end developer 的縮寫(xiě))。
瀏覽器支持
BFED 認(rèn)為,用戶(hù)體驗(yàn)不可能完全相同。一個(gè)網(wǎng)站會(huì)被各種各樣的瀏覽器訪問(wèn),不管是微軟***研發(fā)的 gasp(微軟為 Windows 10設(shè)計(jì)的***瀏覽器的早期別名),還是陳舊過(guò)時(shí)的 IE6,都有可能。應(yīng)該有計(jì)劃地持續(xù)改進(jìn)和提升應(yīng)用程序的瀏覽器兼容性。BFED覺(jué)得,放棄對(duì)一個(gè)或一類(lèi)瀏覽器的支持,不是什么偉大的英雄壯舉。相反,BFED知道,忘記這些用戶(hù)的存在,不僅會(huì)傷害他們的感情,而且會(huì)影響他們對(duì)公司或產(chǎn)品的認(rèn)知。
預(yù)處理器
當(dāng)我們考慮是否需要給現(xiàn)有的技術(shù)堆棧增加一個(gè)預(yù)處理器(如:LESS、SASS、CoffeeScript 等)的時(shí)候,BFED認(rèn)為,這是一個(gè)影響深遠(yuǎn)的選擇,不只是“少寫(xiě)一點(diǎn)代碼”的小事。對(duì)于一名剛加入團(tuán)隊(duì)的新手來(lái)說(shuō),這樣做是否增加了額外的難度?代碼調(diào)試是否變得更加困難?如果這些問(wèn)題的答案是“Yes” 的話,通常情況下,BFED 就會(huì)對(duì)預(yù)處理器說(shuō) “No”。
可訪問(wèn)性
BFED認(rèn)為,用戶(hù)的能力存在著不同程度的差異,即使是同樣一臺(tái)設(shè)備,無(wú)論是鼠標(biāo),還是鍵盤(pán),或者其他任何東西,不同用戶(hù)的使用習(xí)慣可能完全迥異。一個(gè)網(wǎng)站也是一樣,它應(yīng)該能夠適應(yīng)不同的訪問(wèn)者,這與他們?cè)O(shè)備屏幕的大小或者瀏覽器的功能無(wú)關(guān)。
用戶(hù)界面設(shè)計(jì)
BFED愿意接受瀏覽器的各種限制和約束。他們認(rèn)為,在一定程度上,適應(yīng)性設(shè)計(jì)與用戶(hù)環(huán)境探測(cè)的意義不大,因?yàn)檫@個(gè)世界本來(lái)就是可怕、荒唐且代價(jià)高昂的。
為了避免浪費(fèi)時(shí)間,***在設(shè)計(jì)用戶(hù)體驗(yàn)過(guò)程的早期就讓 BFED加入團(tuán)隊(duì)。因?yàn)橛行┛此浦匾膹?fù)雜用戶(hù)界面設(shè)計(jì),實(shí)際上占用了大量時(shí)間,但是最終你將發(fā)現(xiàn),簡(jiǎn)單的設(shè)計(jì)方案可能更為有效。
BFED建議采用原生的表單控件,只有這樣,才能得到瀏覽器的***支持。這一點(diǎn)在移動(dòng)端尤為關(guān)鍵,過(guò)度控制這些控件的外觀,實(shí)際上對(duì)你的品牌和形象并沒(méi)有太多好處。
BFED 還會(huì)建議,超鏈接應(yīng)該看起來(lái)就像超鏈接,下劃線必須保留,這樣更方便用戶(hù)識(shí)別。
第三方 CSS & JavaScript 類(lèi)庫(kù)與框架
BFED 在選擇第三方代碼時(shí),決策依據(jù)是代碼質(zhì)量,而不是流行度。他們認(rèn)為,代碼質(zhì)量比流行度更重要。
用戶(hù)界面架構(gòu)
BFED 始終信奉以下格言:
作為一名優(yōu)秀的 JavaScript 工程師,我和我的團(tuán)隊(duì)將盡***努力盡量少寫(xiě) JavaScript 代碼。 - James Norton
更有甚之,BFED 認(rèn)為,單頁(yè)應(yīng)用程序容易引發(fā)一些嚴(yán)重問(wèn)題,應(yīng)該極力避免這樣的架構(gòu)。為了給用戶(hù)提供更好的體驗(yàn)和呵護(hù),如有可能,盡量使用服務(wù)器端技術(shù)。
履歷
BFED開(kāi)發(fā)一個(gè)程序時(shí),會(huì)根據(jù)問(wèn)題的所在環(huán)境和實(shí)際情況,選擇適宜的解決方案。他們不會(huì)為了方便他們找尋下一個(gè)工作崗位,而采用時(shí)髦的熱門(mén)技術(shù)來(lái)提升自己的履歷,從而達(dá)到最終提高自己的薪資待遇的目的。
結(jié)論
你想要成為一名優(yōu)秀的前端工程師嗎?那就先讓自己變得無(wú)聊吧。
本文靈感來(lái)自 Cap Watkins 的文章《無(wú)聊的設(shè)計(jì)師》。















 
 
 






 
 
 
 