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