新型前端開發工程師的三個境界 后端開發工程師如何快速轉前端


初入軟件開發這一行時,當時還沒有前后端分離這個概念,所有的開發工程師既能寫html,也能寫后台服務,隨着技術的發展,前后端分離成為趨勢,目前團隊不少人能熟悉的寫java后台服務,卻難以hold住前端頁面的開發,前端頁面開發成為瓶頸。針對這個情況,籌划了一個前端培訓專題,讓后端的同事可以通過學習快速掌握前端開發技能。

願景

  • 培養全棧工程師,前后端均可以Hold住

前端技能梳理

我們把前端同事做的事情簡單的梳理下,大概可以分為:

效果圖 -> HTML還原

將UED設計的效果圖還原為頁面,這個也是以前狹義的UI完成的工作。梳理下這個工作需要的技能:

  • 熟悉HTML\CSS、熟悉常見布局,div+css
  • 熟悉瀏覽器兼容
  • 熟悉PS切圖

隨着前端UI框架的發展,當你使用bootstrap、elements、iview這類框架時,80%的功能開發可以不需要這一步,因此一個小團隊有1個這樣的工程師就OK了。

HTML->應用

單獨的HTML是缺乏靈魂的,還需要綁定數據,這樣才是一個完整的頁面。在前后端未分離的時代,通常是后端基於前端還原的html來進行開發,通過模板技術綁定數據。而隨着ajax的興起,前端 MVVM框架的流行,前后端分離,數據綁定工作前移到前端,因此前端的職責之一就是調用后端的服務,並顯示到頁面上。

同樣的,梳理下這個工作需要的技能:

  • 了解或者熟悉html
  • 熟悉HTTP
  • 基本的javascript應用
  • 熟悉一個js框架的應用,比如jq、vue.js

一個合格的后端,在熟悉javascript的情況下,可以很快掌握。

復雜的單頁應用

現在流行一個詞“大前端”,前端更大的挑戰就是構建復雜的單頁應用,比如易企秀的H5編輯器,單個頁面里包含了非常多的功能和邏輯,這類頁面有個特點:

  • 包含復雜的業務邏輯
  • 通常需要上千行的javascript代碼
  • 需要良好的設計模式來組織和維護代碼,MVC\MVVM等概念在前端運用

而隨着技術的發展,javascript可以用來開發手機端app(react-native、weex),本質上來說還是開發復雜的單頁應用。特別是使用vuex這類狀態管理庫時,如果懂的后端的數據庫概念,可以事半功倍的理解其原理。

總結一下,開發復雜的單頁應用,需要具備的技能:

  • 熟悉數據結構和算法
  • 熟悉常用的設計模式
  • OOP思維
  • 模塊化開發
  • db思維
  • 熟悉javascript,熟悉es2015\es2017

一句話總結起來,復雜的前端應用開發所需要的技能,恰恰是后端開發所擅長的,只是編程語言從java、c#變成了javascript,僅此而已。

新型前后端一體化工程師的三個境界

怎么來評價一個人的前端能力,簡單起見,划分為三個境界:

  • 第一層(必須具備)

    • 依葫蘆畫瓢
    • 可以根據還原的HTML或者UI框架,實現簡單頁面的開發和數據綁定
    • 熟悉HTML常見標簽、CSS盒子模型、CSS優先級,常見布局
    • 會使用Vue.js/jquery,Iview、Element等工具庫
  • 第二層(努力可以達到)

    • 可以熟練的開發單頁應用
    • javascript了然於心,es2015\2016信手拈來
    • 熟悉Vue、React、angular、知道各自的優缺點,根據需要選擇合理的方案
    • 跟蹤前端發展趨勢、不盲從、獨立思考
  • 第三層(盡量追求,需要時間和積累)

    • 融會貫通,可以改造輪子、造新的輪子提升效率
    • 在公司、業界前端形成影響力

培訓規划

最后來定一下培訓的規划。

目標

  • 所有人達到第一層境界
  • 骨干需要達到第二層

培訓內容

課時1:HTTP+HTML+CSS基礎+常見布局+HTML5+CSS3

  • HTTP
    • HTTP get/post/put/delete
    • HTTP響應碼
    • chrome F12 network使用
  • html塊元素、內聯元素、表單
  • CSS 與盒子模型
  • 響應式布局
  • H5語義標簽,audio,canvas
  • CSS3動畫

課時2:javascript 基礎

  • 數據類型,數組、對象,表達式、條件、循環等
  • javascript常用對象
  • DOM編程
  • AJAX、jsonp
  • 正則、表單驗證

課時3:javascript進階

  • 深入js
    • 模塊化、AMD,require.js
    • 作用域鏈
    • 原型鏈與繼承
    • 閉包
    • OOP
  • es2015/2017
    • 箭頭函數等新語法糖
  • TypeScript

課時4:項目框架應用 Vue.js +IView使用培訓

  • Vue.js 漸進式理解
  • Vue.js 模板綁定
  • Vue.js 組件
  • Vue.js 單頁應用
  • Vuex 狀態管理
  • Vue Router
  • IView 組件庫介紹
  • 項目案例講解

課時5:基於Nodejs的前端新生態

  • NodeJs原理、歷史、發展
  • webpack
  • less
  • 代碼質量eslint

課時6: vue.js與手機app、微信小程序開發

  • 使用vue.js+weex開發手機app
  • 微信小程序開發

最后,歡迎大家拍磚和提出建議。


作者:Jadepeng
出處:jqpeng的技術記事本--http://www.cnblogs.com/xiaoqi
您的支持是對博主最大的鼓勵,感謝您的認真閱讀。
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM