成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

2018年前端開發(fā)回顧

crelaber / 2975人閱讀

摘要:在整個(gè)年,看到發(fā)布版增加了許多功能,包括新的生命周期方法新的上下文指針事件延遲函數(shù)和。它在等待渲染異步響應(yīng)時(shí)數(shù)據(jù),是延遲函數(shù)背后用來(lái)管理組件的代碼分割的。發(fā)布自第版開始將近年后,于年發(fā)布。

前端發(fā)展發(fā)展迅速,非常的快。 本文將回顧2018年一些重要的前端新聞,事件和 JavaScript 趨勢(shì)。

想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來(lái)篇優(yōu)質(zhì)文章等著你!

WebAssembly 發(fā)布 1.0 版本的核心規(guī)范

WebAssembly被認(rèn)為是 web 的未來(lái)。它的目標(biāo)是通過(guò)提供在web上運(yùn)行的二進(jìn)制格式來(lái)最大化性能、減少文件大小并支持多種語(yǔ)言的 web 開發(fā)。

2017年底,所有主流瀏覽器都宣布支持 WebAssembly。在2018年2月,WebAssembly有三個(gè)主要版本:

核心規(guī)范1.0

WebAssembly的JavaScript接口

WebAssembly的 Web API

NPM 各個(gè)熱門前端庫(kù)(框架)下載量比較

下載數(shù)排名前的分別為 React,jQuery,Angular 和 Vue。以下是它們的拆線圖:

react 庫(kù)不斷改進(jìn),依舊稱霸前端

React在 web 開發(fā)領(lǐng)域占據(jù)主導(dǎo)地位已有多年,而且在 2018 年期間絲毫沒(méi)有放緩。根據(jù)Stackoverflow 的調(diào)查,它仍然是最受歡迎的一個(gè)前端庫(kù)。

核心 React 團(tuán)隊(duì)在更新庫(kù)和添加功能方面非?;钴S。在整個(gè)2018年,看到React v16發(fā)布版增加了許多功能,包括新的生命周期方法、新的上下文API、指針事件、延遲函數(shù)和 React.memo 。還有,最受關(guān)注的兩個(gè)特性是 React Hook和 Suspense API。

React Hooks 得到了一些強(qiáng)烈的反饋,許多開發(fā)人員都喜歡這個(gè)更新。Hooks 是一種使用 useState 功能向函數(shù)組件添加狀態(tài)的方法,它還將管理生命周期事件。

另一個(gè)新的特性是 React Suspense,它是一種管理 在 React 組件內(nèi)部獲取數(shù)據(jù)的方法。它在等待渲染異步響應(yīng)時(shí)數(shù)據(jù),Suspense 是延遲函數(shù)背后用來(lái)管理組件的代碼分割的。最終的設(shè)想是能夠通過(guò)Suspense 管理所有異步加載,例如API請(qǐng)求,它還允許緩存來(lái)自請(qǐng)求的結(jié)果。

一般顯示加載狀態(tài)的例子是如 isFetching 為 true 時(shí)在屏幕上顯示加載圖標(biāo)。 使用 Suspense,可以對(duì)UI進(jìn)行細(xì)粒度控制,以指定等待時(shí)要顯示的回退組件,等待時(shí)間以及如何管理導(dǎo)航。 許多人甚至認(rèn)為 Suspense 可以消除對(duì) Redux 的需求。

Vue 迅速成長(zhǎng),github stars 數(shù)量超過(guò) React

在 2017 年實(shí)現(xiàn)爆炸式增長(zhǎng)后,Vue在2018年繼續(xù)增長(zhǎng)。事實(shí)上,它在GitHub stars 數(shù)量已經(jīng)超過(guò)了 React。

雖然 Vue深受歡迎,但它在實(shí)際(國(guó)外)使用中仍遠(yuǎn)遠(yuǎn)落后于 React 和 Angular。但,Vue 擁有一個(gè)仍在增長(zhǎng)的充滿激情的用戶群,而且這個(gè)庫(kù)將在未來(lái)幾年成為一股強(qiáng)大的力量。

vue 3 更新計(jì)劃

在11月14日-16日于多倫多舉辦的 VueConf TO 2018 大會(huì)上,尤雨溪發(fā)表了名為 “ Vue 3.0 Updates ” 的主題演講,對(duì) Vue 3.0 的更新計(jì)劃、方向進(jìn)行了詳細(xì)闡述。目前該演講的 PPT 也已上傳至 Google 文檔,感興趣的可點(diǎn)此查閱。本次版本主要圍繞以下幾個(gè)版本來(lái)升級(jí):

更快

更小

更易于維護(hù)

更多的原生支持

更易于開發(fā)使用

完整的ppt地址:https://link.juejin.im/?targe...

Angular 依然活躍,版本7發(fā)布

今年10月,Angular在其流行的UI框架的第7版中又發(fā)布了另一個(gè)主要版本。 從早期的 AngularJS MVC架構(gòu)到使用更為現(xiàn)代的組件的Angular包,Angular 已經(jīng)有了大量的增長(zhǎng), 隨著這種增長(zhǎng),它已被進(jìn)一步采用。

雖然 Angular 沒(méi)有 React 和 Vue 等庫(kù)中看到的那種狂熱開發(fā)都及使用者,但它仍然是大型專業(yè)項(xiàng)目的主要選擇。許多開發(fā)人員在使用 React 時(shí)都會(huì)感到疲憊,因?yàn)樗枰こ處熢诠芾順?gòu)建管道的同時(shí)做出許多依賴和架構(gòu)決策。

另一方面,Angular 從開發(fā)人員那里省去許多決策,并提供更常見(jiàn)的代碼模式。Angular 是一個(gè)非常規(guī)范化的完整框架,CLI 管理所有構(gòu)建步驟。專業(yè)環(huán)境的另一個(gè)好處是,Angular 需要TypeScript。Angular 已經(jīng)在 web 開發(fā)世界中挖掘出了它的價(jià)值,并繼續(xù)被采用。

注意:@angular/core 代表新的 Angular, angular 代表舊的 Angular

GraphQL 學(xué)習(xí)意愿高漲,但仍未超過(guò) REST

GraphQL 已經(jīng)被 GitHub 等技術(shù)領(lǐng)導(dǎo)者采用。然而,它并沒(méi)有像一些人預(yù)測(cè)的那樣迅速起飛。根據(jù)State of JS survey ,只有1/5的前端開發(fā)人員使用過(guò) GraphQL,但是令人吃驚的是,62.5% 的開發(fā)人員聽說(shuō)過(guò)并希望使用它。

js 內(nèi)嵌 css 使用更加廣泛

Web開發(fā)似乎已經(jīng)走上了在 JavaScript 下統(tǒng)一所有內(nèi)容的道路,這一點(diǎn)在 CSS-in-JS 的采用中得到了體現(xiàn),其中樣式是使用 JavaScript 字符串創(chuàng)建的。這允許通過(guò)使用JS語(yǔ)法 import/export 共享樣式和依賴項(xiàng)。它還簡(jiǎn)化了動(dòng)態(tài)樣式,因?yàn)?CSS-in-JS 組件可以將道具插入到它的樣式字符串中。下面是一個(gè)經(jīng)典的 CSS vs CSS-in-JS 的例子。

要使用 CSS 管理動(dòng)態(tài)樣式,必須管理組件中的類名并根據(jù) state/props更新它,還需要一個(gè)保存CSS類的變量:

使用 CSS-in-JS ,不用再管理CSS類。只需通過(guò) props 傳遞給樣式組件,它就可以處理動(dòng)態(tài)樣式。 代碼更清晰,通過(guò)基于 props 管理 CSS 的動(dòng)態(tài)樣式,更清晰地分離了樣式和React的關(guān)注點(diǎn)。 它現(xiàn)在讀取就像普通的 React 和JavaScript代碼一樣:

CSS-in-JS的兩個(gè)主要庫(kù)分別是 styled-components 件和 emotion 。styled-components] 已經(jīng)存在了很長(zhǎng)一段時(shí)間,并且被越來(lái)越多的人采用,但是 emotion 正在迅速得到普及,許多開發(fā)人員發(fā)現(xiàn)它是首選庫(kù)。事實(shí)上,Kent C. Dodds 甚至不贊成他自己的 CSS-in-JSS庫(kù),,更傾向于emotion 因?yàn)樗苡绪攘Α?/p>

當(dāng)使用單個(gè)文件組件時(shí),Vue 還支持開箱即用的有作用域的CSS。通過(guò) scoped 屬性添加到組件的樣式標(biāo)記,Vue 將使用 CSS-in-JS技術(shù)來(lái)定義樣式,以便它們不會(huì)滲透到其他組件中。

此外,Angular 通過(guò)“視圖封裝”支持CSS的作用域,這是默認(rèn)打開的。

疲于使用各種 CLI 工具的情況有所改善

跟上最新的庫(kù)、正確配置應(yīng)用程序并做出正確的架構(gòu)決策,這些都不是什么秘密。這種痛苦催生了管理工具的 CLI 包的創(chuàng)建,讓開發(fā)人員能夠?qū)W⒂趹?yīng)用程序。在 2018 年,這種 CLI 已成為開發(fā)人員創(chuàng)建應(yīng)用程序的主要方式。流行的框架包括 Next.js (SSR代表React), Create-React-App(客戶端React), Nuxt.js(用于Vue的SSR)、Vue CLI(客戶端Vue)、Expo CLI(用于React Native),Angular 默認(rèn)情況下支持。

靜態(tài)網(wǎng)站生成工具繼續(xù)發(fā)展

隨著JavaScript革命的發(fā)展,每個(gè)人都喜歡學(xué)習(xí)最新最好的庫(kù),但是完成一些項(xiàng)目時(shí),我們意識(shí)到并非每個(gè)網(wǎng)站都需要成為一個(gè)復(fù)雜的單頁(yè)面應(yīng)用程序(SPA)。這導(dǎo)致了靜態(tài)站點(diǎn)生成的增長(zhǎng)。這些工具允許在自己喜歡的庫(kù)(如React或Vue)中編寫代碼,但在構(gòu)建期間生成靜態(tài)HTML文件,允許我們立即為用戶提供完整構(gòu)建的頁(yè)面。

靜態(tài)站點(diǎn)很棒,因?yàn)樗鼈兲峁┝诵阅芘c簡(jiǎn)單性的結(jié)合。使用在構(gòu)建時(shí)呈現(xiàn)的HTML文件,可以立即向用戶發(fā)送一個(gè)頁(yè)面,并不需要 SSR 或 CSR 代碼,允許頁(yè)面幾乎在瞬間加載。然后在客戶機(jī)上下載必要的 JavaScript文件,從而實(shí)現(xiàn)單頁(yè)體驗(yàn)。

靜態(tài)站點(diǎn)非常適合構(gòu)建個(gè)人網(wǎng)站或博客,但是它們可以很容易地?cái)U(kuò)展到更大的應(yīng)用程序。已經(jīng)看到了構(gòu)建靜態(tài)網(wǎng)站的流行框架的興起,比如 Gatsby 和 React static for React應(yīng)用,以及 VuePress for Vue應(yīng)用。

無(wú)服務(wù)器架構(gòu)與 JAMstack

隨著靜態(tài)網(wǎng)站的日益普及,我們也看到了后端的持續(xù)增長(zhǎng)以補(bǔ)充它們。在過(guò)去的幾年里,無(wú)服務(wù)器架構(gòu)已經(jīng)成為web開發(fā)中的一個(gè)流行詞,因?yàn)樗軌蛟诮档统杀镜耐瑫r(shí)解耦客戶機(jī)和服務(wù)器代碼。

無(wú)服務(wù)器架構(gòu)的一個(gè)擴(kuò)展是 JAMStack (JavaScript、Api、Markup)。JAMStack 理念基于上一節(jié)討論的靜態(tài)站點(diǎn)概念。由于預(yù)先構(gòu)建的標(biāo)記,它允許快速加載時(shí)間,并通過(guò)為服務(wù)器使用可重用 Api 在客戶機(jī)上成為一個(gè)動(dòng) 態(tài)SPA。在2018年,甚至看到了有史以來(lái)的第一場(chǎng)J AMStack 黑客馬拉松。freeCodeCamp、Netlify和GitHub聯(lián)手舉辦了一場(chǎng)面對(duì)面和在線的黑客馬拉松,開發(fā)人員可以在 GitHub 總部編寫代碼,或者與世界各地的其他開發(fā)人員聯(lián)系。

TypeScript可能是JavaScript的未來(lái)(但對(duì)于Flow就不一樣了)

JavaScript 因?yàn)闆](méi)有靜態(tài)類型變量而受到批評(píng)。試圖糾正這一問(wèn)題的兩個(gè)主要庫(kù)是 TypeScript 和 Flow,但TypeScript似乎是最受歡迎的。事實(shí)上,在 Stack Overflow 調(diào)查中,TypeScript的受歡迎程序高于 JavaScript 本身,分別為 67% 和 61.9%。根據(jù) JS 的現(xiàn)狀調(diào)查,超過(guò)80%的開發(fā)者想要使用 TS 或者已經(jīng)在使用它。對(duì)于Flow,只有 34% 的開發(fā)人員正在使用它或希望使用它。

所有跡象表明,TypeScript 是 JS 中靜態(tài)類型的首選解決方案,許多人選擇它而不是 JavaScript。2018年,TS 的npm 下載量大幅增長(zhǎng),而流量卻非常平穩(wěn)。TypeScript看起來(lái)正在從一個(gè)狂熱的追隨者轉(zhuǎn)變?yōu)閺V泛的采用。

webpack 4 發(fā)布

Webpack 3發(fā)布僅8個(gè)月后,版本4就發(fā)布了。Webpack 4 繼續(xù)推動(dòng)簡(jiǎn)單和更快的構(gòu)建,聲稱改進(jìn)了98%。它選擇了合理的默認(rèn)值,在沒(méi)有插件的情況下處理更多的開箱即用的功能,并且不再需要開始使用配置文件。Webpack 現(xiàn)在也支持 WebAssembly,并允許直接導(dǎo)入 WebAssembly 文件。

Babel 7 發(fā)布

自第6版開始將近3年后,Babel 7 于 2018 年發(fā)布。Babel 是將 ES6 + 代碼轉(zhuǎn)換為 ES5 的庫(kù),使JavaScript 代碼跨瀏覽器兼容。

7.0 帶來(lái)的不兼容性變更:

刪除對(duì)未維護(hù)的 Node 版本的支持:0.10,0.12,2,5

通過(guò)切換到使用“scoped”包將現(xiàn)已遷移到 @babel 命名空間,這有助于區(qū)分官方軟件包,因此 babel-core 將成為 @babel/core

刪除(并停止發(fā)布)任何年度預(yù)設(shè)(preset-es2015 等), @babel/preset-env 取代了對(duì)這些內(nèi)容的需求,因?yàn)樗怂心甓忍砑觾?nèi)容以及針對(duì)特定瀏覽器集的能力

同時(shí)刪除“Stage”預(yù)設(shè)(@babel/preset-stage-0 等),轉(zhuǎn)而選擇多帶帶的提案。同樣,默認(rèn)情況下從 @babel/polyfill 刪除提案

對(duì)部分軟件包進(jìn)行重命名:任何關(guān)于 TC39 提議的插件現(xiàn)在更改為 -proposal 而不再是 -transform 。即,@babel/plugin-transform-class-properties 變更為 @babel/plugin-proposal-class-properties

為某些面向用戶的軟件包在 @babel/core 上引入 peerDependency (如,babel-loader, @babel/cli, etc)

2019年的預(yù)測(cè)

隨著基礎(chǔ)的建立和對(duì)改進(jìn) web 體驗(yàn)的不斷推動(dòng),WebAssembly將開始普及。

React 依然高居榜首,但 Vue 和 Angular 的用戶數(shù)量仍會(huì)增長(zhǎng)。

CSS-in-JS 可能會(huì)成為默認(rèn)的樣式化方法,而不是普通的CSS樣式。

開發(fā)人員是否可以重新審視原生Web組件?

毫無(wú)疑問(wèn),性能仍然是關(guān)注的焦點(diǎn),諸如 PWAs 和代碼分離之類的事情成為每個(gè)應(yīng)用程序的標(biāo)準(zhǔn)。

在使用 PWA 的基礎(chǔ)上,web 變得更加本地化,具有離線功能和無(wú)縫的桌面/移動(dòng)體驗(yàn)。

CLI工具繼續(xù)的改進(jìn),以抽象出構(gòu)建應(yīng)用程序的繁瑣方面,讓開發(fā)人員專注于業(yè)務(wù)開發(fā)。

更多的公司采用具有統(tǒng)一代碼庫(kù)的移動(dòng)解決方案,如React Native或Flutter。

docker、k8s 等工具會(huì)更加流行

GraphQL 使用方面會(huì)有了飛的增長(zhǎng),并被更多的公司使用。

虛擬現(xiàn)實(shí)技術(shù)利用A-Frame、React VR和谷歌VR等庫(kù)取得了長(zhǎng)足的進(jìn)步。

原文:https://levelup.gitconnected....

編輯中可能存在的bug沒(méi)法實(shí)時(shí)知道,事后為了解決這些bug,花了大量的時(shí)間進(jìn)行l(wèi)og 調(diào)試,這邊順便給大家推薦一個(gè)好用的BUG監(jiān)控工具Fundebug。

你的點(diǎn)贊是我持續(xù)分享好東西的動(dòng)力,歡迎點(diǎn)贊!

交流

干貨系列文章匯總?cè)缦?,覺(jué)得不錯(cuò)點(diǎn)個(gè)Star,歡迎 加群 互相學(xué)習(xí)。

https://github.com/qq44924588...

我是小智,公眾號(hào)「大遷世界」作者,對(duì)前端技術(shù)保持學(xué)習(xí)愛(ài)好者。我會(huì)經(jīng)常分享自己所學(xué)所看的干貨,在進(jìn)階的路上,共勉!

關(guān)注公眾號(hào),后臺(tái)回復(fù)福利,即可看到福利,你懂的。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/100250.html

相關(guān)文章

  • 2016年總結(jié) - 收藏集 - 掘金

    摘要:然而這次的文章,就像賀師俊所說(shuō)的這篇文章是從程序員這個(gè)老年度總結(jié)前端掘金年對(duì)我來(lái)說(shuō),是重要的一年。博客導(dǎo)讀總結(jié)個(gè)人感悟掘金此文著筆之時(shí),已經(jīng)在眼前了。今天,我就來(lái)整理一篇,我個(gè)人認(rèn)為的年對(duì)開發(fā)有年終總結(jié)掘金又到 2016 Top 10 Android Library - 掘金 過(guò)去的 2016 年,開源社區(qū)異?;钴S,很多個(gè)人與公司爭(zhēng)相開源自己的項(xiàng)目,讓人眼花繚亂,然而有些項(xiàng)目只是曇花一...

    DataPipeline 評(píng)論0 收藏0
  • 2017年 JavaScript 框架回顧 -- 前框架

    摘要:年,已經(jīng)成為了最受歡迎的前端框架。年前端框架情況上圖顯示了年月至年月的個(gè)月期間,各個(gè)框架的絕對(duì)受歡迎程度及其增長(zhǎng)情況。葡萄城公司成立于年,是全球領(lǐng)先的集開發(fā)工具商業(yè)智能解決方案管理系統(tǒng)設(shè)計(jì)工具于一身的軟件和服務(wù)提供商。 概述: 對(duì)于 JavaScript 社區(qū)來(lái)說(shuō),npm 的主要功能之一就是幫助開發(fā)者發(fā)掘所需的 npm Registry 中的庫(kù)和框架。npm 強(qiáng)大的搜索功能能夠幫助找到...

    huashiou 評(píng)論0 收藏0
  • 2016年前盤點(diǎn)合集

    摘要:年已經(jīng)過(guò)去,這一年前端領(lǐng)域發(fā)生了什么有哪些技術(shù)和項(xiàng)目引人注目工程師們觀點(diǎn)和看法又有怎樣的變化在此,整理了一些對(duì)過(guò)去的年盤點(diǎn)的資料,一是希望能借此提高自己的姿勢(shì)水平,二是希望能為年的學(xué)習(xí)有所指導(dǎo)。 2016年已經(jīng)過(guò)去,這一年前端領(lǐng)域發(fā)生了什么?有哪些技術(shù)和項(xiàng)目引人注目?工程師們觀點(diǎn)和看法又有怎樣的變化?在此,整理了一些對(duì)過(guò)去的2016年盤點(diǎn)的資料,一是希望能借此提高自己的姿勢(shì)水平,二是希...

    aisuhua 評(píng)論0 收藏0
  • 2019年前的3個(gè)趨勢(shì)

    摘要:組件成為前端最基本的物料,融合在組件中的方案日趨成熟。組件成為最基本的前端物料,讓組件化更徹底在的調(diào)研報(bào)告中,開發(fā)者有愿意繼續(xù),有愿意繼續(xù)。需要留意的是,有表示對(duì)感興趣,因此獲得的最感興趣獎(jiǎng)。 簡(jiǎn)介: JavaScript 應(yīng)用范圍廣泛,靜態(tài)類型語(yǔ)言 TypeScript 會(huì)繼續(xù)得到更多開發(fā)者的青睞。 組件成為前端最基本的物料,CSS 融合在組件中(CSS in JS)的方案日趨成熟...

    yanwei 評(píng)論0 收藏0
  • 每周清單第 47 期:NPM 年度報(bào)告與 2018 展望,Airbnb React Router

    摘要:確定新的包命名規(guī)則為了盡可能避免包的誤植域名現(xiàn)象,將不會(huì)再允許使用相似的包命名不過(guò)會(huì)進(jìn)一步鼓勵(lì)開發(fā)者使用自己的命名空間來(lái)發(fā)布包。本文是對(duì)其幾十年來(lái)技術(shù)之路的回顧與展望,也是一代技術(shù)人的青春回憶。 showImg(https://segmentfault.com/img/remote/1460000012846628); 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了...

    makeFoxPlay 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<