2018--我的前端之路
最近看了一篇螞蟻金服團隊寫的文章,名字叫做“未來的前端工程師”。上面列舉了前端工程師未來可以的發展方向、行業動態、技術棧等等,看完後自己也進行了一些思考,新的一年該如何往下走。
前端三大框架已成主流,前端工程化也已逐漸成熟,ts讓前端開發大型專案更加容易,rn讓前端能夠快速進入app的開發,nodejs讓前端涉及後端變得容易,當然還有小程式、pwa等等。看起來前端又來到了一個繁榮的時候,但冷靜下來想想,作為一名前端工程師,到底需要具備哪些能力,需要掌握哪些知識,才能更好的完成自己工作。
現在前端涉及到的範圍太廣,可以學習的東西太多太多,而人的精力是有限的,所以還是需要選擇合適的方向進行學習。簡單的列舉一下學習的內容:
一、三大框架
目前來看vue和react已經是主流了,生態也比較完善,angular的使用的會少一些,所以優先學習vue和react為主,angular可以視情況而定學習。當然不僅僅是學習框架的使用,還需要學習他們執行的原理,以及周邊生態的一些原理,先看vue的原始碼,稍微簡單一些。
二、webpack
webpack現在很多專案以及離不開他了,雖然他的配置比較繁瑣,但是功能很強大,所以webpack是必須要掌握的內容,同時瞭解他的打包機制、loader和外掛原理也是很有必要的。rollup和parcel是最近兩個新的打包工具,可以暫時觀望。
三、typescript
typescript是一門很棒的語言(雖然很多人不這麼認為),提供了靜態檢測等功能,但它不是必須學習的內容,原生的js已經滿足很多人的開發需求了。
四、react-native
rn讓前端可以參與的app的開發中,提供了比h5更好的體驗,同時比原生開發有更高的效率,但是目前rn並不完善,也有很多需要解決的問題。目前可以嘗試的寫寫demo,瞭解整個開發流程。
五、nodejs
前端幾乎已經離不開node了,npm包管理,開發時啟動node服務等等,所以nodejs算是一個必須學習的內容了,掌握node的一些開發思想也是很有必要的,當然更多的後端知識可以視情況而定。
六、小程式
小程式的開發其實比較簡單,需要學習的時間並不長,可以嘗試著自己寫一個小程式體驗。
七、pwa
從去年開始一些大公司已經在使用pwa了,而蘋果也開始支援pwa了,所以可能是一個未來的趨勢,可以先了解pwa的一些基礎內容,之後再進行更深入的學習,優先順序較低。
八、資料視覺化、物聯網、人工智慧等等
這些屬於比較細分的一些領域了,根據自己的需求和規劃進行選擇性的學習。
九、計算機基礎
其實有些前端工程師的計算機基礎會差一些,包括我自己,像資料結構、演算法、作業系統等等也是需要學習的內容,它可能不會給你在目前的工作中帶來太大的幫助,但是在有些場景下這些知識會帶來一些解決問題的靈感。
分割線
學習的內容已經總結的差不多了,再談談最近的工作情況。最近因為一些需求的原因,需要和後端、app的同學打交道,這個時候我突然發現了自己的一些優勢—能夠比較好的和他們溝通。這和自己之前的工作經歷有關,之前在創業公司待了2年多的時間,做過1年的android,參與過ios開發,也做過簡單的後端開發,對各個系統都有一定的瞭解,所以溝通也會方便很多,自己也能寫個java介面什麼的,也減輕了後端同學的工作量。所以之前2年的工作經歷對自己的幫助也是蠻大的。
但最近在和後端、app同學打交道的時候發現一個問題,前端的話語權很弱。在和後端同學一起開發的時候,介面資料定義等等都是由後端決定的,專案和系統的拆分等等也是後端同學決定的。在和app同學一起開發rn的時候,底層的專案、依賴是app同學決定的,路由跳轉、元件封裝等等也是app同學來做的,前端更多的就只能在基礎上寫寫頁面和功能而已。當然這可能這和自己公司的情況有關,也有分工合作的原因在裡面。
還有就是最近自己在看計算機網路的書,學到了很多東西,有很多生活中的問題也可以得到解釋,比如路由器的簡單工作原理、網路請求訪問原理等等,還是很有意思的一件事情,希望能夠儘快學習完吧。
最後附上螞蟻金服文章的地址:
未來的前端工程師
over…