1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        為什么人們還沒有轉(zhuǎn)向Svelte

        共 3263字,需瀏覽 7分鐘

         ·

        2021-01-26 11:05

        Svelte是一個(gè)輕量級(jí)的基于組件的框架,比如React、Vue或Angular也都是,它允許開發(fā)人員用JavaScript編寫易于閱讀的代碼,然后將編寫的代碼編譯成在瀏覽器中運(yùn)行速度超快的高效JavaScript。

        當(dāng)其他框架(如React)采用虛擬DOM diffing技術(shù)時(shí),Svelte將你的代碼編譯成JavaScript,當(dāng)你的組件中的狀態(tài)變化時(shí),DOM就會(huì)更新。

        自從2016年11月由Richard Harris首次發(fā)布以來,很多開發(fā)者都愛上了這種新的構(gòu)建應(yīng)用的方法,在其官方Github倉庫上有超過3.9萬顆星,并在頂級(jí)JavaScript前端框架的選擇中爭得一席之地。

        盡管有這些數(shù)據(jù),但是,很多人在前端開發(fā)過程中都在猶豫要不要采用Svelte這個(gè)框架。

        根據(jù)trends.buildwith.com的數(shù)據(jù),截至2020年10月,總共只有約6000個(gè)注冊(cè)的直播和歷史網(wǎng)站使用Svelte作為首選前端庫。相比React的340萬左右、Vue的150多萬、Angular的370多萬,這個(gè)數(shù)據(jù)是超低的。

        Svelte根據(jù)使用趨勢的使用情況屏幕截圖:https://trends.builtwith.com/framework/Svelte
        Vue使用趨勢統(tǒng)計(jì)信息的屏幕截圖:https://trends.builtwith.com/Javascript/Vue

        為什么開發(fā)人員尚未切換到Svelte

        遲來的TypeScript支持

        例如,當(dāng)你從Angular這樣的框架中走出來時(shí),你會(huì)很習(xí)慣于開箱即為你預(yù)置一個(gè)TypeScript開發(fā)環(huán)境。Svelte團(tuán)隊(duì)在2020年7月才剛剛發(fā)布了包含官方支持TypeScript的更新。

        這意味著開發(fā)者現(xiàn)在可以在創(chuàng)建Svelte項(xiàng)目時(shí)運(yùn)行以下命令來設(shè)置TypeScript:

        npx degit sveltejs/template svelte-typescript-app
        cd svelte-typescript-app
        node scripts/setupTypeScript.js

        雖然事先可以使用TypeScript,但最初的設(shè)置過程相當(dāng)繁瑣,因?yàn)樗婕暗揭欢押臅r(shí)的自定義Webpack和Svelte預(yù)處理配置。Svelte現(xiàn)在默認(rèn)包含TypeScript支持,這是一件好事,因?yàn)檫@個(gè)主要的缺失點(diǎn)似乎是阻礙開發(fā)者學(xué)習(xí)和使用該框架的因素之一。前段時(shí)間Deno正式發(fā)布的時(shí)候,在開發(fā)者中考慮到的一個(gè)關(guān)鍵賣點(diǎn)就是它比Node的TypeScript集成優(yōu)勢。

        沒有官方的CRA或Svelte CLI

        如果你需要快速構(gòu)建一個(gè)React應(yīng)用的腳手架,你可以很容易地使用create-react-app CLI應(yīng)用(鑒于它已在全球范圍內(nèi)安裝),只需運(yùn)行 create react app myreactproject 命令就會(huì)自動(dòng)為你生成應(yīng)用腳手架。

        對(duì)于Vue來說,過程是類似的,只要你的機(jī)器上安裝了Vue CLI,你只需要運(yùn)行這個(gè)命令,你的腳手架就設(shè)置好了。

        vue init myvueproject

        然而Svelte并沒有官方維護(hù)的腳手架項(xiàng)目的CLI應(yīng)用,因?yàn)?svelte/cli 包已經(jīng)在2018年被廢棄。

        你需要總是從它的 npx 倉庫(已經(jīng)集成了 CLI)中提取腳手架模板。這意味著,每次你想創(chuàng)建一個(gè)Svelte應(yīng)用程序時(shí),你需要始終運(yùn)行以下命令來設(shè)置一個(gè)Svelte項(xiàng)目。

        npx degit sveltejs/template my-svelte-project
        cd my-svelte-project
        npm install
        npm run dev

        雖然這看似是一個(gè)小小的DX(開發(fā)者體驗(yàn))缺陷,但這絕對(duì)是Svelte團(tuán)隊(duì)可以研究的問題。

        小型社區(qū)

        與其他主要的前端開發(fā)框架相比,Svelte擁有一個(gè)非常小的社區(qū)。如果您使用的是擁有大型社區(qū)的流行語言,那么您更有可能找到需要合作的人,你也更有可能找到參考資料和資源。

        比如在Stack Overflow上,Svelte標(biāo)簽下提出的討論(問題和答案)只有一千多條。相比React的25萬+、Angular的23.4萬+、Vue的6.4萬+分別來說,還有很多工作要做。這意味著,如果你作為開發(fā)者在使用Svelte時(shí)遇到問題,得到幫助的機(jī)會(huì)相對(duì)較小。

        更少的包裝/工具支持

        很多開發(fā)者發(fā)現(xiàn),整合現(xiàn)有的包,有助于更快地實(shí)現(xiàn)任務(wù)。由于Svelte的普及率比較低,所以包和實(shí)用程序的支持比較少。例如,如果你想在React中實(shí)現(xiàn)一個(gè)date-picker組件,在NPM倉庫中就有數(shù)百個(gè)包可供選擇。然而,對(duì)于Svelte您就沒有這樣的奢侈了,因?yàn)榭晒╅_發(fā)人員挑選的特性很少,因此,開發(fā)人員通常要花時(shí)間從頭開始實(shí)現(xiàn)這些特性。

        行業(yè)需求低迷

        如果雇主對(duì)一個(gè)工具有足夠的需求,開發(fā)人員學(xué)習(xí)這個(gè)工具是有道理的。作為一名開發(fā)人員,如果學(xué)習(xí)一種工具有利可圖的話,您會(huì)希望獲得它的知識(shí)。

        Svelte在JavaScript世界中比較年輕,因此,行業(yè)對(duì)Svelte開發(fā)人員的需求不大,因?yàn)楹芏喙镜幕A(chǔ)設(shè)施中還沒有采用Svelte(還沒有)。

        為什么企業(yè)還不轉(zhuǎn)用Svelte?

        公司的支持

        React得到了Facebook的大力支持,因?yàn)樽畛蹰_發(fā)它的是Facebook內(nèi)部員工,Angular的開發(fā)團(tuán)隊(duì)由谷歌的開發(fā)人員領(lǐng)導(dǎo),他們也在自己的職業(yè)網(wǎng)站上使用Vue。比如蘋果,在他們的SwiftUI教程網(wǎng)站中也使用了Vue。然而Svelte并沒有(還沒有)得到這些大型科技公司的明顯支持。我堅(jiān)信,如果Svelte獲得這些公司的支持,將會(huì)有更多的公司開始采用Svelte。如果這些公司中的任何一家在其基礎(chǔ)設(shè)施中采用或支持該框架,Svelte的受歡迎程度可能會(huì)飆升。

        成熟度

        如果一項(xiàng)技術(shù)存在的時(shí)間較長,那么它就會(huì)被認(rèn)為比其對(duì)應(yīng)的技術(shù)更可靠,因?yàn)殡S著時(shí)間的推移,技術(shù)會(huì)隨著錯(cuò)誤修復(fù)、更多的文檔和教程、語言語法和安全性的改進(jìn)等方面而不斷改進(jìn)。

        由于Svelte(2016年發(fā)布)在前端框架領(lǐng)域比React、Vue、Angular等年輕,相對(duì)較新,所以對(duì)其成熟度存在一定程度的擔(dān)憂是很正常的。相信不少公司因?yàn)镾velte的年齡,對(duì)采用Svelte構(gòu)建產(chǎn)品的安全性持懷疑態(tài)度。

        最后

        從目前的流行程度和有用性來看,毫無疑問,Svelte是未來web開發(fā)的重要組成部分。作為一個(gè)Svelte開發(fā)者,如果能有更多的公司和開發(fā)者采用Svelte及其所有的美感,作為他們制作Web應(yīng)用的前端Web框架的選擇,那將是一件非常棒的事情。


        原文:https://blog.logrocket.com/why-people-arent-switching-to-svelte-yet/
        作者:Oluwaseun Raphael Afolayan

        粉絲福利

        臨走前留下,今天的福利

        • 福利1:《MongoDB 4.0從入門到達(dá)人》獲取資源請(qǐng)?jiān)诠娞?hào)對(duì)話框中回復(fù)關(guān)鍵字:043,如果沒有關(guān)注請(qǐng)掃下面的二維碼。更多福利資料請(qǐng)查看公眾號(hào)菜單
        • 福利2:在看+留言,我隨機(jī)抽取一位認(rèn)真留言的小伙伴,給他發(fā)一個(gè)紅包獎(jiǎng)勵(lì)

        最近文章


        -?END -

        點(diǎn)贊 + 在看 + 留言,下一個(gè)幸運(yùn)兒就是你!
        走心的分享更容易被抽中~

        開獎(jiǎng)時(shí)間?下期文末

        瀏覽 54
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲无码电影一区 | 扒开朱竹清白嫩的屁股眼 | 大鸡巴AV在线 | 杏爱视频成人免费A片 | 国产老女人乱淫免费 | 日韩久久精品电影 | 香蕉伊人在线 | 自拍偷拍网址 | 妈妈你真棒插曲快来救救我电影蜜桃 | 在野外被四个男人躁爽口述 |