chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

前端工程師應具備那些基本素質(zhì)

工程師人生 ? 來源:網(wǎng)絡整理 ? 作者:工程師吳畏 ? 2018-09-20 10:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

閑來無事,今天隨便聊聊前端工程師應該具備哪些素質(zhì),權當博大家一笑。

前端工程師到底是工作很簡單的“切圖仔”,還是包攬客戶端和中間層的“大前端”?招聘市場上有大量的公司對前端工程師求賢若渴;但同時求職市場上卻有大量的前端工程師在“求職若渴”。造成這種兩難局面的原因是用人單位與求職者對前端工程師的技能需求以及定位存在差異。

應該怎么定位前端工程師這個崗位?我們可以從前端的發(fā)展歷史中得到答案。

1.1.1 前端工程師的發(fā)展史

1990年,Tim Berners Lee發(fā)明了世界上第一個網(wǎng)頁瀏覽器WorldWideWeb。1995年,Brendan Eich只用了10天便完成了第一版網(wǎng)頁腳本語言(也就是目前我們熟知的JavaScript)的設計。在網(wǎng)絡條件與計算機設備比較落后的年代,網(wǎng)頁基本是靜態(tài)的。對網(wǎng)頁腳本語言功能的最初設想是僅僅能夠在瀏覽器終端中完成一些簡單地校驗,比如表單驗證。所以網(wǎng)頁腳本語言的特點是:功能簡單、語法簡潔、易學習、易部署。那個年代的web應用是重服務端、輕客戶端的模式,web開發(fā)人員以服務端開發(fā)為主,并且兼顧瀏覽器端,沒有所謂的前端工程師。

2005年,AJAX技術的問世令靜態(tài)的網(wǎng)頁“動”了起來,異步請求和局部刷新徹底改變了網(wǎng)頁的交互模式。同時,網(wǎng)絡速度與個人計算機的普及給網(wǎng)站帶來了更多用戶,用戶對網(wǎng)站的需求也越來越多。需求與技術的同步增長讓早期的重服務端、輕客戶端的天平有所傾斜,也就是從那個時候開始出現(xiàn)了第一批專職的前端工程師。這批前端工程師相對于服務端工程師的優(yōu)勢主要體現(xiàn)在對交互與UI的敏感度和專業(yè)度。很多設計出身的人投入了前端工程師的行列,所以有了一個現(xiàn)在前端工程師們很不喜歡的稱謂:美工。但不可否認的是,第一批前端工程師主要負責的是CSS與HTML的開發(fā),雖然有了AJAX技術,但受限于JavaScript引擎的性能,JavaScript語言在瀏覽器端的邏輯仍然十分簡單。

2008年,Google推出了全新的JavaScript引擎V8,采用JIT(實時編譯)技術解釋編譯JavaScript代碼,大大提高了JavaScript的運行性能。隨后,Netscape公司的SpiderMonkey和蘋果公司的JavaScriptCore也緊隨V8,加入了JavaScript引擎的性能追逐戰(zhàn)。JavaScript引擎性能的提升讓許多早期不能在瀏覽器端實現(xiàn)的功能得以實現(xiàn),瀏覽器能夠承載幾千行甚至幾萬行的邏輯,web應用服務端與客戶端的天平再次向客戶端一方發(fā)生傾斜。業(yè)內(nèi)開始提倡REST(Representational State Transfer,具象狀態(tài)傳輸)風格的web服務API與SPA(Single Page Application,單頁應用)風格的客戶端。前端工程師承擔起了客戶端的交互、UI和邏輯的開發(fā),工作職責進一步加重。

2009年,Node.js的問世在前端界引發(fā)了軒然大波。Node.js將JavaScript語言帶到了服務端開發(fā)領域,截止目前,業(yè)內(nèi)已經(jīng)有很多公司將Node.js應用到企業(yè)級產(chǎn)品中。雖然Node.js仍然沒有PHP、Java等傳統(tǒng)服務端語言一樣普及,但由它引發(fā)的“大前端”模式已經(jīng)在web開發(fā)領域中蔓延。Node.js對前端生態(tài)的促進,以及對同構(gòu)開發(fā)的支持是PHP、Java等語言遠不能比的?!按笄岸恕蹦J较碌那岸斯こ處熆缭搅酥盀g覽器與服務端之間看似難以逾越的鴻溝,踏入了web服務端開發(fā)領域。

1.1.2 前端工程師的技能棧

從最初的重交互、UI,輕JavaScript的開發(fā)模式,到交互、UI、邏輯一把抓,再到“大前端”的服務端客戶端全掌控,前端工程師的工作內(nèi)容和工作職責不斷擴寬。從前端工程師的發(fā)展歷史中,我們可以總結(jié)出前端工程師的技能棧:

硬技能:HTML/CSS/JavaScript。這三項是前端工程師從蠻荒年代發(fā)展至今從未脫離的技術;

軟技能:用戶體驗。用戶體驗的web產(chǎn)品吸引用戶的第一道菜,也是前端工程師工作產(chǎn)出的重點;

擴展技能:Node.js。并非特指Node.js本身,而是Node.js所代表的web服務端知識。即使你不是一個“大前端”,了解web產(chǎn)品的運行原理是一個前端工程師必備的素養(yǎng)。

硬技能 - HTML/CSS/JavaScript

俗稱“前端工程師的三把刷子”,前端工程師必須掌握的三項技能。其實將HTML/CSS與JavaScript放在一起討論并不合適,HTML和CSS作為標記性語言,只有在瀏覽器環(huán)境或者類瀏覽器環(huán)境下才會被識別解析,所以這兩者可以認為是DSL(Domain Specific Lauguage,領域特定語言);而JavaScript與HTML/CSS的性質(zhì)不同,雖然不如C++、Java等高級語言那樣嚴謹,但其本質(zhì)上是一門編程語言。同其他編程語言一樣,對于JavaScript的要求,掌握其語法和特性是最基本的。但這些只是應用能力,最終考量的仍然是計算機體系的理論知識。所以,數(shù)據(jù)結(jié)構(gòu)、算法、軟件工程等基礎知識對于前端工程師同樣重要,這些知識能夠決定一個前端工程師的上限。

HTML/CSS/JavaScript這三者只是統(tǒng)稱,代表著前端工程師能力的三個方面。三者相互耦合,并非獨立。比如CSS必須與HTML配合、JavaScript邏輯的根本目的就是改變HTML或者CSS并且最終直觀地展示給用戶。任何一項都是一個龐大的技能樹,細分出很多子技能。對于HTML,掌握各個標簽的合理使用方案和基本的web API。對于CSS,在理解各屬性的工作模式的前提下能夠綜合使用,給出合理的解決方案;并且由于瀏覽器的實現(xiàn)差異,還必須掌握必要的hack方案,雖然這些hack方案最終都會被歷史的塵埃掩埋,但目前我們?nèi)匀粺o法避免兼容性問題。對于JavaScript,與其他任何一門編程語言一樣,除了要求掌握基本的語法,有基本的應用編程能力以外,還必須具備良好的抽象能力以及架構(gòu)能力。

軟技能 - 用戶體驗

除了以上提到的“硬技能”,前端工程師還必須掌握一項“軟技能”:用戶體驗。

前端工程師的產(chǎn)出是直接面向用戶的,良好的用戶體驗是一個web產(chǎn)品的基本要素。這里的用戶體驗并非指的是交互方案和視覺設計,當然這也是用戶體驗的一部分,此處我們討論的用戶體驗包括但不限于以下幾點:

保證內(nèi)容的快速展現(xiàn),減少的用戶等待時間;

保證操作的流暢度;

如果是移動設備,應盡量減少設備的耗電量;

上述幾點總結(jié)起來其實就兩個字:性能。如果說按時完成了業(yè)務的所有需求是保證了“量”,那么提升產(chǎn)品的性能就是保證了“質(zhì)”,兩者缺一不可。

JavaScript設計之初最經(jīng)典的應用場景是表單驗證。比如,一個需要驗證用戶名和密碼的表單,用戶沒有輸入任何內(nèi)容就點擊“發(fā)送”按鈕,仍然會發(fā)送一個請求到服務端進行驗證。這在今天的網(wǎng)絡技術下沒什么大不了,但在網(wǎng)絡速度慢而且上網(wǎng)費用昂貴的年代,這樣的代價是非常巨大的,并且用戶必須等待服務端處理后才能得到反饋。JavaScript在瀏覽器發(fā)送請求之前驗證內(nèi)容的有效性,避免一次無效的請求,即減輕了服務端壓力節(jié)省了成本,又減少了用戶等待時間提升了用戶體驗??梢奐avaScript設計的初衷便將用戶體驗zui。

現(xiàn)今社會的快速節(jié)奏下,用戶對于產(chǎn)品的需求也傾向于快速化:快速的展現(xiàn)、快速的迭代。用戶不想為了看一條新聞而去下載一款新聞軟件,打開網(wǎng)站即可快速查看。web產(chǎn)品本身就具備快速的基因,性能優(yōu)化的最終目標也是保證“足夠快”。所以,前端工程師不僅要求熟練地使用基本的開發(fā)技能,還必須具備性能優(yōu)化的意識和技能。

注:你可能會疑問:學習能力不算軟技能的一種嗎?學習能力是任何崗位都必須具備的軟技能之一,并不是專屬于前端工程師的軟技能。擴展技能 - Node.js

將Node.js定位為擴展技能,并非指的是Node.js本身,而是以Node.js為代表的web服務端知識。前端工程師掌握web客戶端的相關知識是基本要求,欠缺的是對web服務端了解。雖然并不是每個前端工程師都是“大前端”,并且讓前端工程師編寫不熟悉的服務端邏輯也并不十分恰當,專業(yè)的事應該由專業(yè)的人負責。但這并不意味著前端工程師不需要掌握服務端的理論知識。了解web應用從前到后的工作流程和整體架構(gòu)模型,有助于前端工程師編寫更合理的客戶端邏輯,以及對產(chǎn)品出現(xiàn)的問題及時定位。

綜上所述,一個合格的前端工程師應該掌握的技術棧可以用下圖概括:

前端工程師應具備那些基本素質(zhì)

前端工程師是承載用戶層所有功能的資源產(chǎn)出者。不僅僅是客戶端最終呈現(xiàn)給用戶的HTML/CSS/JavaScript等資源成品,還包括這些資源從零開始到最終產(chǎn)出的生產(chǎn)流水線所涵蓋的所有環(huán)節(jié)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 工程師
    +關注

    關注

    59

    文章

    1600

    瀏覽量

    70664
  • 前端
    +關注

    關注

    1

    文章

    241

    瀏覽量

    18678
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    硬件工程師面試必會:10個核心考點#硬件設計 #硬件工程師 #電路設計 #電路設計

    硬件工程師
    安泰小課堂
    發(fā)布于 :2025年09月23日 18:00:33

    有哪些芯片工程師才懂的梗?

    傅里葉變換,而是DesignforTest,可測性設計。但常因增加面積和復雜度被嫌棄,規(guī)模越大的芯片,DFT的設計越復雜。請看以下工程師對話:DFT工程師:沒有我,
    的頭像 發(fā)表于 07-25 10:03 ?534次閱讀
    有哪些芯片<b class='flag-5'>工程師</b>才懂的梗?

    做了電子工程師之后,最好拍的視頻出現(xiàn)了#硬件設計 #電子DIY #電子工程師

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年06月24日 17:45:57

    一個優(yōu)秀的射頻測試工程師需要具備哪些技能?

    一個優(yōu)秀的射頻測試工程師需要具備哪些技能?在無線技術高速發(fā)展的今天,射頻(RF)測試工程師是確保通信設備性能與用戶體驗的關鍵角色。從復雜的調(diào)制方案到無處不在的干擾,從功耗優(yōu)化到標準合規(guī)性,工程
    的頭像 發(fā)表于 05-16 10:08 ?1545次閱讀
    一個優(yōu)秀的射頻測試<b class='flag-5'>工程師</b>需要<b class='flag-5'>具備</b>哪些技能?

    (仰天長嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達半導體 #電子工程師

    電子工程師
    MDD辰達半導體
    發(fā)布于 :2025年04月27日 18:21:47

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚興科技 #搞笑

    硬件工程師
    揚興科技
    發(fā)布于 :2025年04月25日 17:15:37

    硬件工程師手冊(全套)

    的性能價格比達至最優(yōu)。 5、技術開放,資源共享,促進公司整體的技術提升。 §1.2.1 硬件工程師基本素質(zhì)與技術 硬件工程師掌握如下基本技能: 第一、由需求分析至總體方案、詳細設
    發(fā)表于 04-22 15:05

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚興科技

    硬件工程師
    揚興科技
    發(fā)布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發(fā)布于 :2025年03月25日 17:30:51

    電子工程師如何利用AI革新設計范式

    在AI重構(gòu)電子產(chǎn)品設計范式的進程中,工程師如何平衡創(chuàng)新與風險,以確保在提升設計效率和產(chǎn)品性能的同時,有效應對安全、隱私和數(shù)據(jù)質(zhì)量等挑戰(zhàn)?
    的頭像 發(fā)表于 03-19 15:17 ?1185次閱讀

    硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導體器件 #硬件工程師 #MDD辰達半導體

    硬件工程師
    MDD辰達半導體
    發(fā)布于 :2025年02月24日 19:00:35

    年薪30萬的嵌入式工程師,究竟需要掌握哪些技能?

    隨著智能硬件、物聯(lián)網(wǎng)、智能汽車、自動化控制等領域的迅速發(fā)展,嵌入式工程師的需求也水漲船高。尤其是在全球化和技術加速的時代,嵌入式開發(fā)不僅是一個熱門行業(yè),還是跨學科技術與創(chuàng)新的交匯點。對于那些具備扎實
    的頭像 發(fā)表于 01-16 10:59 ?2062次閱讀
    年薪30萬的嵌入式<b class='flag-5'>工程師</b>,究竟需要掌握哪些技能?