淺談2019年前端發(fā)展趨勢分析

2019年已經(jīng)過去一半,前端領(lǐng)域有了較大的變化,是時候總結(jié)一下前端的發(fā)展變化了。
核心觀點:
- 前端三大框架已趨于平穩(wěn),標(biāo)準(zhǔn)化,向 Web Components 看齊。
- 小程序(各種平臺)爆發(fā),互聯(lián)網(wǎng)創(chuàng)業(yè)優(yōu)先選擇小程序。多端受到重視,不再只是 all in mobile。
- WebAssembly 讓更多語言可以運行在瀏覽器上。
- PWA 進入穩(wěn)定期,尤其是 PWA 桌面版,可以讓我們更好的看清楚 PC 桌面版開發(fā)的全貌。
- Flutter 發(fā)展較快,最大硬傷是Dart語言。RN原有的開發(fā)方式會退出歷史舞臺。
- TypeScript已經(jīng)慢慢成為前端的主流開發(fā)語言,將成為必備開發(fā)技能。
- 開發(fā)團隊前后端分離已經(jīng)進入深水期。
- 其他:ServerLess\GraphSQL發(fā)展迅猛、D3、webgl、SVG、webpack不再是唯一的打包工具選項(Rollup、parcel零配置)、WebRTC、靜態(tài)生成、人工智能前端化
三大框架趨于一致和平穩(wěn)
- Vue3.0發(fā)布
- React16版本
- Angular 8
Vue 3 的 Class API 和 React 的寫法幾乎是一模一樣,三大框架基本開始趨同,未來會更加像Web Components.
PWA 進入穩(wěn)定期
PWA 和 native app(移動應(yīng)用)的核心區(qū)別在于以下幾點:
- 安裝:PWA 是一個不需要下載安裝即可使用的應(yīng)用。
- 緩存使用:native app 主要是對 sqlite 緩存,以及文件讀寫操作,而 PWA 對緩存數(shù)據(jù)庫操作支持的非常好,足以應(yīng)對各種場景。
- 基本能力補齊,比如推送。
現(xiàn)在 PWA 已經(jīng)支持的很好了,唯一麻煩的是緩存策略和發(fā)版比較麻煩,應(yīng)用輕量化的趨勢已經(jīng)很明朗了
小程序火爆
如果說和 PWA 比較像的,大概就是小程序了,小程序也可以說是今年最火的技術(shù)。
微信小程序的下一步計劃,支持 NPM、小程序云、可視化編程、支持分包等,聽起來很美好,但坑依然不少。小程序原生提供的 DSL 不夠好用,所以就有了上層開發(fā)框架或者腳手架來優(yōu)化開發(fā)效率,目前比較主流的有 3 個:
今年還冒出了微信小程序之外的頭條小程序、支付寶小程序、百度智能小程序等,未來還會有很多。同時,手機廠商大概是看到了小程序?qū)ζ鋺?yīng)用商店的威脅,小米、華為、OPPO、vivo 等九大國內(nèi)手機廠商聯(lián)手成立了“快應(yīng)用聯(lián)盟”,基于 react-native 技術(shù)棧,整體也很不錯,尤其是天貓調(diào)用菜鳥裹裹的快應(yīng)用,安卓下有非常好的體驗。相較而言,微信是基于 Webview 的,而快應(yīng)用使用的是原生渲染方案,其他家也大抵如此。
WebAssembly
WebAssembly 是一種新的字節(jié)碼格式,目前主流瀏覽器都已經(jīng)支持 WebAssembly。 和 JS 需要解釋執(zhí)行不同的是,WebAssembly 字節(jié)碼和底層機器碼很相似,可以快速裝載運行,因此性能相對于 JS 解釋執(zhí)行而言有了極大的提升。 也就是說 WebAssembly 并不是一門編程語言,而是一份字節(jié)碼標(biāo)準(zhǔn),需要用高級編程語言編譯出字節(jié)碼放到 WebAssembly 虛擬機中才能運行, 瀏覽器廠商需要做的就是根據(jù) WebAssembly 規(guī)范實現(xiàn)虛擬機。
移動端
Flutter 是 Google 推出的幫助開發(fā)者在 Android 和 iOS 兩個平臺,同時開發(fā)高質(zhì)量原生應(yīng)用的全新移動 UI 框架,和 React-native/Weex 一樣支持熱更新。Flutter 使用 Google 自己家的 Dart 語言編寫,剛好今年 Dart 2 也正式發(fā)布,不知道二者之間是否有關(guān)聯(lián)。目前 Dart 主攻 Flutter 和 Web 兩塊,同時提供了 pub 包管理器,儼然是一門全新的語言,學(xué)習(xí)成本有些高。反觀 TypeScript 就非常容易被接受,基于 npm 生態(tài),兼容 ES 語法
TypeScript
強大的靜態(tài)編譯能力,讓JavaScript編程更上一層樓,尤其是大團的開發(fā),簡直是利器。
原生支持ES6、對各個框架的支持度都完美契合。2019年是TS的爆發(fā)年。
總結(jié)
進入2019年,前端發(fā)展進入深水區(qū),不再是開發(fā)的附庸,前端將會是未來開發(fā)的主力,技術(shù)變化也將風(fēng)起云涌,對于初學(xué)前端小伙伴們,選擇一個具備國際視野和開發(fā)趨勢的老師是非常重要的。有興趣的小伙伴可以看一下老馬親帶的AICODER程序員全棧培訓(xùn)。
作者:FlyDragon
出處:http://www.cnblogs.com/fly_dragon/
關(guān)于作者:專注于微軟平臺項目架構(gòu)、管理和企業(yè)解決方案。如有問題或建議,請多多賜教!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- 在此我整理出自己對程序員的職業(yè)規(guī)劃的一些見解,希望能幫助到他人,也是自己對職業(yè)生涯規(guī)劃思考的一次總結(jié)2021-09-23
- 展望未來,總結(jié)過去10年的程序員生涯,給程序員小弟弟小妹妹們的一些總結(jié)性忠告,需要的朋友可以參考下2021-09-23
- 這篇文章是小編收集知乎上的一些文章結(jié)合自己的經(jīng)歷,為大家分享一下如何規(guī)劃自己的未來2021-09-23
- 這篇文章主要給大家介紹了關(guān)于學(xué)C++的以后可以從事哪些崗位的相關(guān)資料,文中分成6個方向詳細介紹了關(guān)于C++可以從事的崗位,對剛學(xué)習(xí)C++有所迷茫的同學(xué)有一定的參考價值,需2020-11-17
Java程序員應(yīng)該學(xué)習(xí)哪些技術(shù)
這篇文章主要介紹了Java程序員應(yīng)該學(xué)習(xí)哪些技術(shù),這是很多人都關(guān)心的問題,小編整理了一下,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起2020-06-19如何快速學(xué)習(xí)Python編程?可以做什么職業(yè)?
這篇文章主要介紹了如何快速學(xué)習(xí)Python編程?可以做什么職業(yè)?這是很多小白所疑惑的問題,那么下面小白就帶著大家一起來了解一下2020-06-19- 這篇文章主要介紹了Web前端發(fā)展前景以及技術(shù)揭秘,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-12-17
- 這篇文章主要介紹了淺談2019年前端發(fā)展趨勢分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-12-10
- 這篇文章主要介紹了從四大云計算公司走向 看云行業(yè)發(fā)展趨勢,結(jié)合當(dāng)前云計算供應(yīng)商發(fā)展業(yè)績數(shù)據(jù)分析了當(dāng)前云計算的前景與發(fā)展方向,需要的朋友可以參考下2019-10-18
大數(shù)據(jù)專業(yè)的就業(yè)前景與薪酬待遇淺析
這篇文章主要介紹了大數(shù)據(jù)專業(yè)的就業(yè)前景與薪酬待遇,結(jié)合當(dāng)前市場環(huán)境與科技發(fā)展趨勢分析總結(jié)了大數(shù)據(jù)專業(yè)的就業(yè)前景、就業(yè)方向、薪資待遇等,需要的朋友可以參考下2019-10-16