精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

前端框架Svelte放棄TypeScript,JS贏!

OSC開源社區 ? 來源:OSC開源社區 ? 2023-05-11 10:39 ? 次閱讀

根據 Svelte repo 中"TS to JSDoc Conversion"PR 的描述,Svelte 團隊將會從目前使用的 TypeScript 遷移到 JSDoc。

a8a01a30-ef56-11ed-90ce-dac502259ad0.jpg

前端 UI 框架 Svelte 創始人 Rich Harris 在推特的回復印證了這一消息。他表示這個決定沒有改變 Svelte 的類型安全。

a8cb3c38-ef56-11ed-90ce-dac502259ad0.png

負責 Svelte 編譯器的開發者則說道,改用 JSDoc 后,代碼不需要編譯構建即可進行調試 —— 簡化了編譯器的開發工作。畢竟目前的調試工作比較復雜,需要使用構建步驟進行調試。 另外,使用 JSDoc 不會影響編譯器的開發安全,因為它的類型幾乎等同于 TypeScript,依然可以使用 tsc 編譯器檢查類型。

a8dd946e-ef56-11ed-90ce-dac502259ad0.png

當然,Svelte 開發者(不是編譯器開發者)仍會像現在一樣獲得類型定義文件。因此對于 Svelte 開發者來說,在類型方面不會有任何變化。 Svelte 不是第一個放棄 TypeScript 的前端框架。早在 2020 年,Deno就遷移了一部分內部 TypeScript 代碼到 JavaScript,以減少構建時間。當時Deno 團隊計劃刪除所有內部代碼構建時的 TS 類型檢查與捆綁。

a90453b0-ef56-11ed-90ce-dac502259ad0.png

對此,Deno 團隊給出的理由是:

在變更文件時,TypeScript 往往需要幾分鐘的編譯時間,這導致連續編譯過程變得非常緩慢;

在創建 Deno 可執行文件以及面向用戶的 API 源文件時,TypeScript 結構會引發一系列運行時性能問題;

TypeScript 本身對于 Deno 代碼的組織工作毫無幫助,反而增強了代碼組織負擔。Deno 團隊提出的一大現實問題,是 TypeScript 會在兩個位置復制相互獨立的 Body 類,https://github.com/denoland/deno/issues/4748

由于 TypeScript 編譯器無法幫助開發者生成 d.ts 文件,內部代碼與運行時 TypeScript 聲明必須以手動方式保持同步;

他們維護著兩臺 TS 編譯器主機:一臺用于內部 Deno 代碼,另一臺用于外部用戶代碼,但二者的作用其實非常相似。

總結就是減少構建時間、降低發布的代碼體積、減少編寫的代碼量。 要注意的是,當時 Deno 僅在內部代碼中停用 TypeScript,Deno 用戶代碼中的 TypeScript 部分仍將保留,類型檢查自然也將并存。 從這些案例可以看出,雖然 TypeScript 常被視為 JavaScript 的改進版本,但問題也許沒那么簡單。與任何其他語言一樣,TypeScript 也有自己的缺陷。其最重要的問題之一,在于緩慢的編譯速度。在從純 JavaScript 轉換至 TypeScript 時,小型項目可能編譯變慢的問題還不算嚴重,但大型項目(例如復雜的 React 應用程序)則將深受其害。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 前端
    +關注

    關注

    1

    文章

    190

    瀏覽量

    17727
  • 編譯器
    +關注

    關注

    1

    文章

    1618

    瀏覽量

    49057

原文標題:前端框架Svelte放棄TypeScript,JS贏!

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    鴻蒙跨端實踐-JS虛擬機架構實現

    在Roma跨端方案中,JS虛擬機是框架的核心,負責執行動態化的JS代碼。在Android平臺采用了基于V8的J2V8,iOS平臺則使用了系統自帶的JSCore,而在HarmonyOS中,由于業界無
    的頭像 發表于 09-30 14:42 ?2338次閱讀
    鴻蒙跨端實踐-<b class='flag-5'>JS</b>虛擬機架構實現

    工程師必備!Node.js和常見管理工具介紹(附操作演示)

    在現代軟件開發中,JavaScript已成為一種廣泛使用的編程語言,在web前端開發、后端開發、移動應用端開發等領域中都有它的身影。在本文中,將從JavaScript語言為出發點,揭示這一
    的頭像 發表于 08-30 12:34 ?264次閱讀
    工程師必備!Node.<b class='flag-5'>js</b>和常見管理工具介紹(附操作演示)

    bootstrap框架和vue框架的區別

    Bootstrap和Vue都是目前非常流行的前端開發框架,它們各自具有獨特的優勢和特點。 設計理念 Bootstrap是一個基于HTML、CSS和JavaScript的前端開發框架,主
    的頭像 發表于 07-11 09:55 ?782次閱讀

    bootstrap框架用什么軟件開發

    Bootstrap是一個流行的前端框架,用于快速開發響應式和移動優先的Web應用程序。它提供了一套預定義的CSS和JavaScript組件,使得開發者可以快速構建出漂亮的用戶界面
    的頭像 發表于 07-11 09:50 ?429次閱讀

    鴻蒙開發:【從TypeScript到ArkTS的適配規則】

    ArkTS通過規范約束了TypeScript(簡稱TS)中過于靈活而影響開發正確性或者給運行時帶來不必要額外開銷的特性
    的頭像 發表于 05-14 09:37 ?1888次閱讀
    鴻蒙開發:【從<b class='flag-5'>TypeScript</b>到ArkTS的適配規則】

    鴻蒙TypeScript學習21天:【聲明文件】

    TypeScript 作為 JavaScript 的超集,在開發過程中不可避免要引用其他第三方的 JavaScript 的庫。
    的頭像 發表于 04-19 15:02 ?546次閱讀
    鴻蒙<b class='flag-5'>TypeScript</b>學習21天:【聲明文件】

    鴻蒙語言TypeScript學習第16天:【類】

    TypeScript 支持面向對象的所有特性,比如 類、接口等。
    的頭像 發表于 04-15 09:29 ?974次閱讀
    鴻蒙語言<b class='flag-5'>TypeScript</b>學習第16天:【類】

    鴻蒙TypeScript 開發學習第9天:【TypeScript Number】

    TypeScript 與 JavaScript 類似,支持 Number 對象。 Number 對象是原始數值的包裝對象。
    的頭像 發表于 04-07 18:02 ?762次閱讀
    鴻蒙<b class='flag-5'>TypeScript</b> 開發學習第9天:【<b class='flag-5'>TypeScript</b> Number】

    鴻蒙TypeScript入門學習第6天:【條件語句】

    條件語句用于基于不同的條件來執行不同的動作。 TypeScript 條件語句是通過一條或多條語句的執行結果(True 或 False)來決定執行的代碼塊。
    的頭像 發表于 04-01 13:51 ?719次閱讀
    鴻蒙<b class='flag-5'>TypeScript</b>入門學習第6天:【條件語句】

    鴻蒙TypeScript開發入門學習第3天:【TS基礎類型】

    任意值是 TypeScript 針對編程時類型不明確的變量使用的一種數據類型,它常用于以下三種情況。
    的頭像 發表于 03-28 15:02 ?502次閱讀
    鴻蒙<b class='flag-5'>TypeScript</b>開發入門學習第3天:【TS基礎類型】

    鴻蒙TypeScript入門學習第2天【TypeScript安裝】

    本文介紹 TypeScript 環境的安裝。 我們需要使用到 npm 工具安裝,如果你還不了解 npm,可以參考我之前文檔。
    的頭像 發表于 03-27 15:22 ?475次閱讀
    鴻蒙<b class='flag-5'>TypeScript</b>入門學習第2天【<b class='flag-5'>TypeScript</b>安裝】

    【鴻蒙】NAPI 框架生成工具實現流程

    NAPI 框架生成工具 可以根據用戶指定路徑下的 ts(typescript)接口文件一鍵生成 NAPI 框架代碼、業務代碼框架、GN 文件等。在開發
    的頭像 發表于 02-28 17:00 ?647次閱讀
    【鴻蒙】NAPI <b class='flag-5'>框架</b>生成工具實現流程

    web前端開發和前端開發的區別

    、CSS和JavaScript等技術來構建用戶界面,實現用戶與應用程序的交互。Web前端開發包括網頁設計、網頁編碼、前端框架使用以及優化頁面性能等任務。 前端開發是一個更廣泛的概念,它
    的頭像 發表于 01-18 09:54 ?3382次閱讀

    什么是LlamaIndex?LlamaIndex數據框架的特點和功能

    LlamaIndex是一個數據框架,用于讓基于LLM的應用程序攝取、結構化和訪問私有或領域特定的數據。它提供Python和Typescript版本。
    的頭像 發表于 01-05 11:08 ?9181次閱讀
    什么是LlamaIndex?LlamaIndex數據<b class='flag-5'>框架</b>的特點和功能

    【堅果派】JS開源庫適配OpenHarmony系列——第一期實操

    由于OpenHarmony應用是基于ArkTS開發,而ArkTS是在保持TypeScript(簡稱TS)基礎語法風格的基礎上,對TS的動態類型特性施加更嚴格的約束,引入靜態類型。因此在開發OpenHarmony三方庫時,建議首選在成熟的JS/TS開源三方庫上開發。
    的頭像 發表于 12-26 10:48 ?1105次閱讀
    【堅果派】<b class='flag-5'>JS</b>開源庫適配OpenHarmony系列——第一期實操