国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

挑戰(zhàn)“三大框架”的解決方案

這篇具有很好參考價(jià)值的文章主要介紹了挑戰(zhàn)“三大框架”的解決方案。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

最近這些年,隨著三大框架React、Vue、Angular版本逐漸穩(wěn)定,前端技術(shù)棧的迭代似乎緩慢下來。

如果我們把目光拉伸到未來十年的視角,前端行業(yè)會出現(xiàn)哪些框架有可能會挑戰(zhàn)React、Vue、Angular呢?

嶄露頭角的 Svelte 應(yīng)該是其中的選項(xiàng)之一。

簡介

Svelte 是一個(gè)構(gòu)建 web 應(yīng)用程序的工具。它被預(yù)測為未來十年可能取代React和Vue等其他框架的新興技術(shù)。

有一個(gè)關(guān)鍵的區(qū)別:Svelte 在 構(gòu)建/編譯階段 將你的應(yīng)用程序轉(zhuǎn)換為理想的 JavaScript 應(yīng)用,而不是在 運(yùn)行階段 解釋應(yīng)用程序的代碼。這意味著你不需要為框架所消耗的性能付出成本,并且在應(yīng)用程序首次加載時(shí)沒有額外損失。

你可以使用 Svelte 構(gòu)建整個(gè)應(yīng)用程序,也可以逐步將其融合到現(xiàn)有的代碼中。你還可以將組件作為獨(dú)立的包(package)交付到任何地方,并且不會有傳統(tǒng)框架所帶來的額外開銷。

發(fā)展趨勢

開發(fā)者滿意度

從2019年開始, Svelte出現(xiàn)在榜單中。2020年,Svelte在滿意度排行榜中超越了react,躍升到了第一位。在過去的兩年里,也是碾壓三大框架的存在,還能與最新的 Solid 并駕齊驅(qū)(都是90%)。

開發(fā)者興趣度

在開發(fā)者興趣度方面,在過去的四年里,Svelte 一直蟬聯(lián)了第一。

市場占有率

2020年,Svelte 的市場占有率從第6名躍升到第4名,僅次于 React、Angular、Vue 老牌前端框架。


隨著 Svelte 在社區(qū)里慢慢流行起來,它的占有率還會提升。

在最新的《State of JS survey》中,Svelte 被預(yù)測為未來十年可能取代React和Vue等其他框架的新興技術(shù)。

Svelte 特點(diǎn)

No Runtime —— 無運(yùn)行時(shí)代碼

React 和 Vue 都是基于運(yùn)行時(shí)的框架,當(dāng)用戶在你的頁面進(jìn)行各種操作改變組件的狀態(tài)時(shí),框架的運(yùn)行時(shí)會根據(jù)新的組件狀態(tài)(state)計(jì)算(diff)出哪些DOM節(jié)點(diǎn)需要被更新,從而更新視圖。

而 Svelte 會在編譯階段將代碼編譯到更加貼近dom操作的代碼?;蛘哒f,Svelte 生成的是命令式的dom創(chuàng)建過程,直接操作Dom。

Less Code —— 更少的代碼

我們直接來看官網(wǎng)的例子:


實(shí)現(xiàn)的功能也很簡單,就是兩個(gè)Input的值求和,然后展示出來。圖中是用svelte編寫的代碼。 看下 React 書寫的版本:

import React, { useState } from 'react';

export default () => { 

    const [a, setA] = useState(1); 
    const [b, setB] = useState(2); 
    function handleChangeA(event) { setA(+event.target.value); } 
    function handleChangeB(event) { setB(+event.target.value); }

    return ( 

       <div> 
          <input type="number" value={a} onChange={handleChangeA}/> 
          <input type="number" value= onChange={handleChangeB}/> 
          <p>{a} +  = {a + b}</p> 
       </div> 

    );

}

再來看下 Vue 版本:

<template> 

    <div> 
       <input type="number" v-model.number="a"> 
       <input type="number" v-model.number="b"> 
       <p>{{a}} + {} = {{a + b}}</p> 
   </div> 

</template> 

<script> 

    export default { 
       data: function() { 
          return { a: 1, b: 2 }; 
       } 
    }; 

</script>

三者對比:

框架名稱 svelte react vue
demo字符數(shù) 145 445 263

單純從代碼字符數(shù)上,Svelte比Vue和React少。但就此得出說svelte的編碼體積更小,這樣是不對的。我們一起來看下編譯后的對比:

框架名稱 svelte react vue
體積 1.6k 22k 42k

從上述對比中可以看出,svelte 編譯后的體積很少,包體積1.6k,對于一般中小型項(xiàng)目而言,整體運(yùn)行的代碼(編譯后的代碼+包體積)還是比較小的,所以可以說svelte項(xiàng)目的代碼較小。

PS: 對于大型項(xiàng)目而言,因?yàn)閟velte隨著業(yè)務(wù)的進(jìn)行,代碼編譯產(chǎn)物陡峭,大型項(xiàng)目體積并不會比react、vue等小,因此需要辯證看待。

svelte 生成的是命令式的dom創(chuàng)建過程,虛擬 dom 的框架生成的是虛擬 dom 結(jié)構(gòu)創(chuàng)建的過程(vdom 渲染函數(shù))。在基于虛擬 DOM 的框架里,虛擬dom到真實(shí)dom的轉(zhuǎn)換過程,被封裝在運(yùn)行時(shí)里,所以每個(gè)組件虛擬 dom 創(chuàng)建過程僅僅是數(shù)據(jù)結(jié)構(gòu)的表述,更為緊湊,代碼產(chǎn)物也就比較少。

Hight-Performance ——高性能

在Virtual Dom已經(jīng)是前端框架標(biāo)配的今天, Svelte 聲稱自己是沒有Virtual Dom加持的, 那性能如何呢?

Jacek Schae 在《A RealWorld Comparison of Front-End Frameworks with Benchmarks》中用主流的前端框架來編寫 RealWorld 應(yīng)用,使用 Chrome 的Lighthouse Audit測試性能,得出數(shù)據(jù)是Svelte 略遜于Vue, 但好于 React。


Svelte 性能還不錯(cuò),至少沒有我們預(yù)期的那么糟糕。

PS:sveltedom 是把數(shù)據(jù)和真實(shí)dom之間的映射關(guān)系,在編譯的時(shí)候就通過AST等算出來,保存在p函數(shù)中。p函數(shù)就是一堆“if(...){...}”判斷,直接保證dom的更新。同時(shí),這也說明“如果項(xiàng)目中涉及了dom操作越多,那這個(gè)p函數(shù)就越大,編譯后的代碼提交就會增大”。

其他

本文沒有涉及 Svelte 的語法,且 Svelte 的語法極其簡單,官方教程學(xué)習(xí)文檔也比較詳細(xì),相信大家很快就會上手語法的,這里就不做官網(wǎng)搬運(yùn)工了。附上地址供大家參閱。

官方地址
https://www.sveltejs.cn/文章來源地址http://www.zghlxwxcb.cn/news/detail-437097.html

到了這里,關(guān)于挑戰(zhàn)“三大框架”的解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 容錯(cuò)技術(shù)在云計(jì)算中的挑戰(zhàn)與解決方案

    云計(jì)算是一種基于互聯(lián)網(wǎng)的計(jì)算資源分配和共享模式,它允許用戶在需要時(shí)從任何地方訪問計(jì)算能力、存儲和應(yīng)用程序。隨著云計(jì)算的普及和發(fā)展,其規(guī)模和復(fù)雜性不斷增加,這使得云計(jì)算系統(tǒng)面臨著許多挑戰(zhàn),其中容錯(cuò)技術(shù)在云計(jì)算中的應(yīng)用是非常重要的。容錯(cuò)技術(shù)是一種

    2024年02月22日
    瀏覽(26)
  • “Docker 技術(shù)在企業(yè)中的應(yīng)用及挑戰(zhàn)解決方案“

    Docker 技術(shù)是一種基于容器化的應(yīng)用部署和管理技術(shù)。隨著云計(jì)算的普及和應(yīng)用的不斷增多,Docker 技術(shù)在企業(yè)中的應(yīng)用越來越廣泛。本文將介紹 Docker 技術(shù)的基本概念、優(yōu)勢和應(yīng)用場景,并討論如何在企業(yè)中應(yīng)用 Docker 技術(shù)。 一、Docker 技術(shù)概述 Docker 技術(shù)是一種基于容器化的應(yīng)

    2024年02月08日
    瀏覽(16)
  • 生成式AI入門必讀:基本概念、數(shù)據(jù)挑戰(zhàn)與解決方案

    生成式AI入門必讀:基本概念、數(shù)據(jù)挑戰(zhàn)與解決方案

    隨著生成式 AI(通常簡稱為 GenAI)的興起,我們的世界發(fā)生了翻天覆地的變化。而隨著 AI 生成內(nèi)容的革命性應(yīng)用程序的出現(xiàn),人們也認(rèn)為生成式 AI 將從根本上影響社會的各個(gè)行業(yè)和部門。 組織們都在競相捕捉生成式 AI 的潛力。如果您也是其中一員,那么您的首要任務(wù)就是了

    2024年04月26日
    瀏覽(27)
  • 白鯨開源 X SelectDB 金融大數(shù)據(jù)聯(lián)合解決方案公布!從源頭解決大數(shù)據(jù)開發(fā)挑戰(zhàn)

    白鯨開源 X SelectDB 金融大數(shù)據(jù)聯(lián)合解決方案公布!從源頭解決大數(shù)據(jù)開發(fā)挑戰(zhàn)

    隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展、云計(jì)算技術(shù)的成熟、人工智能技術(shù)的興起和數(shù)字化經(jīng)濟(jì)的崛起,數(shù)據(jù)已成為企業(yè)的核心資產(chǎn)。在金融行業(yè)中,數(shù)字化已成為了支撐各類業(yè)務(wù)場景的核心力量,包括個(gè)人理財(cái)、企業(yè)融資、股票交易、保險(xiǎn)理賠、貸款服務(wù)、支付結(jié)算、投資咨詢、資產(chǎn)管理

    2024年02月09日
    瀏覽(30)
  • 從傳統(tǒng)到智能化:汽車內(nèi)部通信的安全挑戰(zhàn)與SecOC解決方案

    從傳統(tǒng)到智能化:汽車內(nèi)部通信的安全挑戰(zhàn)與SecOC解決方案

    01/需求背景 Demand background 在傳統(tǒng)的汽車電子結(jié)構(gòu)中,車內(nèi)的電控單元(ECU)數(shù)量和復(fù)雜性受到限制,通信帶寬也受到限制。因此,人們普遍認(rèn)為車內(nèi)各個(gè)ECU之間的通信是可靠的。只要ECU節(jié)點(diǎn)接收到相應(yīng)的消息,就會對其進(jìn)行處理。然而,隨著汽車行業(yè)和互聯(lián)網(wǎng)的持續(xù)發(fā)展,汽

    2024年02月10日
    瀏覽(23)
  • 從視頻源頭到邊緣智能:實(shí)現(xiàn)端到端AI解決方案的技術(shù)挑戰(zhàn)與實(shí)踐

    從視頻源頭到邊緣智能:實(shí)現(xiàn)端到端AI解決方案的技術(shù)挑戰(zhàn)與實(shí)踐

    隨著人工智能技術(shù)的快速發(fā)展,端到端AI解決方案在各個(gè)領(lǐng)域的應(yīng)用越來越廣泛。這些解決方案能夠?qū)崿F(xiàn)從數(shù)據(jù)采集到結(jié)果輸出的完整流程,將人工智能算法與物理設(shè)備、網(wǎng)絡(luò)通信和云服務(wù)等技術(shù)有機(jī)結(jié)合,為用戶提供全面、高效的智能化體驗(yàn)。 使用邊緣計(jì)算的好處在于它能

    2024年02月13日
    瀏覽(21)
  • Java并發(fā)編程挑戰(zhàn)與解決方案:上下文切換、死鎖、資源限制及底層實(shí)現(xiàn)原理

    Java并發(fā)編程挑戰(zhàn)與解決方案:上下文切換、死鎖、資源限制及底層實(shí)現(xiàn)原理

    深入探討Java并發(fā)編程中的挑戰(zhàn),包括上下文切換、死鎖、資源限制,并介紹解決方案如減少上下文切換、避免死鎖等。了解Java并發(fā)機(jī)制的底層實(shí)現(xiàn)原理和線程間通信方法。

    2024年02月01日
    瀏覽(33)
  • 醫(yī)療機(jī)器人軟件中的機(jī)器人安全和隱私保護(hù):挑戰(zhàn)和解決方案

    隨著人工智能技術(shù)的發(fā)展,醫(yī)療機(jī)器人被廣泛應(yīng)用于各種醫(yī)療場景,如手術(shù)室、病房等。醫(yī)療機(jī)器人可以協(xié)助醫(yī)生完成手術(shù)、監(jiān)測患者狀態(tài)等任務(wù),提高醫(yī)療效率和精度。然而,與此同時(shí),醫(yī)療機(jī)器人軟件中的機(jī)器人安全和隱私保護(hù)問題也變得越來越重要。 醫(yī)療機(jī)器人軟件中

    2024年02月16日
    瀏覽(23)
  • 解決方案PPT的編寫框架

    作為售前、產(chǎn)品經(jīng)理,少不了面對各種PPT、DOCX的寫、改、編,有沒有一種簡潔的方式可以輕松構(gòu)建框架。 本文只討論P(yáng)PT的構(gòu)建思路,不涉及PPT的美化設(shè)計(jì)。 我們先來分析下PPT的類型。 目前自工作接觸以來,發(fā)現(xiàn)PPT通常分為兩種:閱讀型、宣講型。 閱讀型PPT最常見的就是在

    2023年04月19日
    瀏覽(16)
  • 物聯(lián)網(wǎng)(IoT)安全挑戰(zhàn)與解決方案: 分析物聯(lián)網(wǎng)設(shè)備面臨的安全威脅,以及如何設(shè)計(jì)和管理安全的IoT生態(tài)系統(tǒng)

    物聯(lián)網(wǎng)(IoT)安全挑戰(zhàn)與解決方案: 分析物聯(lián)網(wǎng)設(shè)備面臨的安全威脅,以及如何設(shè)計(jì)和管理安全的IoT生態(tài)系統(tǒng)

    ? 隨著科技的飛速發(fā)展,物聯(lián)網(wǎng)(IoT)作為連接世界的橋梁,已經(jīng)成為現(xiàn)代社會不可或缺的一部分。然而,隨著IoT設(shè)備數(shù)量的不斷增加,其安全問題也日益顯著。本文將深入探討IoT領(lǐng)域面臨的安全挑戰(zhàn),以及我們?nèi)绾瓮ㄟ^創(chuàng)新的解決方案來構(gòu)建一個(gè)安全可靠的IoT生態(tài)系統(tǒng)。

    2024年02月12日
    瀏覽(45)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包