由于node的出現,前端工程師不需要依賴于后端程序而直接運行,從而前后端分離起來。所以當開發一個新產品的時候服務只需要寫一次,但是面向用戶的產品可能有很多,例如網站、Android客戶端、iOS客戶端和微信小程序等。由于各個平臺使用的技術棧都不一樣,代碼無法復用,非常浪費人力、物力。
1.大前端是指
其實大前端的概念很好理解,就是所有前端的統稱,比如Android、iOS、web、Watch等,接近用戶的那一層也就是UI層,然后將其統一起來,就是大前端。大前端的特點在于一次開發,同時適用于所有平臺,開發者不用為一個APP需要做Android和iOS兩種模式而擔心。大前端是web統一的時代,利用web不僅能開發出網站,更可以開發手機端web應用和移動端應用程序。
2.大前端要學什么
目前的主流跨平臺方案有很多種:Cordova/phoneGap、React Native、Weex、微信小程序、PWA和Flutter等,根據其原理性,可以分為三大類:
1、H5+原生(Cordova、Ionic、微信小程序)
2、JavaScript開發+原生渲染 (React Native、Weex、快應用)
3、自繪UI+原生(Flutter)
此外還有增強版Web App(PWA),PWA完全使用前端技術棧,不過它需要手機和瀏覽器的支持。由于國內廠商和瀏覽器的統一性問題,PWA在國內的發展并不是很好。大前端不僅會成為移動開發與Web前端的發展趨勢,也將會是未來的顯示設備終端的開發技術趨勢。大前端將做更多的終端開發、工程化等工作,而不僅僅只是開發Web頁面。大前端工程師將能搞定所有端上的開發。與充滿爭議的全棧工程師相比,它更具可操作性。但同時對開發者而言,要會更多的技術棧,比如原生開發者要學習html、css、js等前端知識,前端開發人員也要學習Android或iOS的原生開發技術,然后了解一下常見的跨平臺技術,只有這樣才能更好的融入到大前端的這個大家庭中。
從理論上來講,大前端的實現,會讓前端工程師未來的工作量相對減少。但是同時由于跨平臺技術的融入,前端工程師必須在原有前端知識的基礎上,更多的去掌握一個適合自己的跨平臺解決方案。