去年開始,大前端開始浮出水面,今年,大前端趨勢已經愈發明顯,層出不窮的跨平臺技術,QCon、GMTC等一線會議開始設定大前端議題,阿里、京東、美團和去哪兒開始推出自己的跨平臺實踐。這些都在告訴我們,大前端要來了。
一些自媒體開始看衰原生開發:“快看,那個學Android的上吊了”,“聽說iOS開發沒人要了”,這些言論頻繁出現在各大社群中,給原生開發者造成了極度的不安。之前,大家只需要學好原生開發即可,而現在,原生開發還沒學好,大前端的浪潮就要來了,大家變得焦慮、惶恐、不知所措,擔心突然有一天自己就被淘汰了。
我是個原生開發者,對Android、iOS和前端都有一定研究,我最拿手的當然是Android開發了。時至今日,我在Android領域也算小有名氣,我的知名度都是Android給的,按道理我應該比大家更加懼怕大前端才對,但是卻恰恰相反,我沒有絲毫恐懼。
為什麼呢?因為我現在看懂了大前端。我對大前端一直沒有公開發聲,因為我怕誤人子弟。最近半年,我一直在觀察大前端,包括技術發展和行業動向,為的就是有一天能看明白,然後寫一篇文章給大家指路。
為了不跑題,先說下我們為什麼應該開心。
首先,亂世造英雄。如今的Android和iOS領域,早已穩定,各方技術大牛霸佔一方,新人很難再脫穎而出。但是縱觀大前端領域卻是百廢待興,沒有公認的大牛出現。這意味著,新手只要努力,就有了再一次崛起的機會。如果你在Android領域不瘟不火,那何不在大前端領域大放異彩呢?
其次,大前端雖然來勢洶洶,但是其存在硬傷:
已有的跨平臺方案都有很大的缺點。
ReactNative和weex:Facebook和阿里的方案,執行效率是硬傷,首頁不能用RN已是共識,而且目前在統一Android和iOS程式碼方面尚存在不足。
Flutter:Google的方案,不支援線上熱修復,和跨平臺方案天然的動態化屬性不符,目前尚在preview階段,希望能夠儘快release。
PWA:Google的方案,用純web的方式統一三端,很好的idea。但是需要藉助Google play Service和瀏覽器支援,國外大部分Android手機和iOS的新版本都可以支援PWA,但遺憾的是,就我對國內生態的瞭解,國內的瀏覽器沒法統一支援PWA。
微信小程式:騰訊的方案,屬於微信內的生態閉環,註定沒法成為世界統一的方案,更適合小工具和小遊戲,一般都作為原生APP的延伸入口。
很顯然,跨平臺技術還需要發展,這需要時間,上面的一切我總結為一句話:
大前端的車輪將在曲折中前進,留給我們的時間還很多
我給原生開發者的建議,一句話:
7分精力投給原生開發,剩下3分投給大前端
大前端如何學習呢?首先要把HTML、CSS、和JavaScript那一堆東西學一下,然後再把各個跨平臺方案也學習下。學習的過程無須太深入,入門即可,等大前端時代真正到來之時,你就已經比大多數人(如果他看到我這篇文章依然無動於衷的話)領先了。
無須焦慮,只需要開開心心,做好自己該做的,就可以應對一切變化,而我會始終和大家站在一起。另外就是,如果覺得這篇文章對你有幫助,請點贊和轉發,這是對我最好的支援。