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

    文章

    241

    浏览量

    18667
  • 编译器
    +关注

    关注

    1

    文章

    1669

    浏览量

    51077

原文标题:前端框架Svelte放弃TypeScript,JS赢!

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【汇思博SEEK100开发板试用体验】3/第一次使用OpenHarmony

    开发框架,语法基于TypeScript扩展 。 ​​类Web开发(JS)​​:沿用HML+CSS+JS传统模式,适合前端开发者 。 ​​项
    发表于 08-20 22:21

    具备光照鲁棒和自适应特征剔除的VSLAM前端框架

    现有的基于特征的VSLAM系统依赖于固定的前端参数,这使得它们在面对光照突变时显得十分脆弱,且特征跟踪也不稳定。为应对这些挑战,我们提出了“IRAF-SLAM”,这是一种具备光照鲁棒性且能自适应特征筛选的前端设计,旨在提升VSLAM在复杂且具有挑战性环境中的抗干扰能力。
    的头像 发表于 07-30 10:38 466次阅读
    具备光照鲁棒和自适应特征剔除的VSLAM<b class='flag-5'>前端</b><b class='flag-5'>框架</b>

    ArkUI介绍

    范式,分别是基于ArkTS的声明式开发范式(简称“声明式开发范式”)和兼容JS的类Web开发范式(简称“类Web开发范式”)。 声明式开发范式:采用基于TypeScript声明式UI语法扩展而来
    发表于 06-24 06:41

    前端模块 WCDMA/HSDPA skyworksinc

    电子发烧友网为你提供()前端模块 WCDMA/HSDPA相关产品参数、数据手册,更有前端模块 WCDMA/HSDPA的引脚图、接线图、封装手册、中文资料、英文资料,前端模块 WCDMA/HSDPA真值表,
    发表于 06-23 18:34
    <b class='flag-5'>前端</b>模块 WCDMA/HSDPA skyworksinc

    2.4 GHz 前端 skyworksinc

    电子发烧友网为你提供()2.4 GHz 前端相关产品参数、数据手册,更有2.4 GHz 前端的引脚图、接线图、封装手册、中文资料、英文资料,2.4 GHz 前端真值表,2.4 GHz 前端
    发表于 06-20 18:31
    2.4 GHz <b class='flag-5'>前端</b> skyworksinc

    ArkUI-X框架LogInterface使用指南

    ) { } } 设置ArkUI-X框架LogInterface以及日志拦截等级 在需要控制ArkUI-X框架日志及TypeScript日志的输出时,可以利用StageApplicationDelegate类中
    发表于 06-15 23:20

    2.4 GHz 前端模块 skyworksinc

    电子发烧友网为你提供()2.4 GHz 前端模块相关产品参数、数据手册,更有2.4 GHz 前端模块的引脚图、接线图、封装手册、中文资料、英文资料,2.4 GHz 前端模块真值表,2.4 GHz
    发表于 06-10 18:32
    2.4 GHz <b class='flag-5'>前端</b>模块 skyworksinc

    tscircuit - 电路开发的 React 范式​ 用TypeScript、React和 AI工具构建电子产品

    TypeScript、React 和 AI 工具构建电子产品。
    的头像 发表于 04-30 18:18 1201次阅读
    tscircuit - 电路开发的 React 范式​   用<b class='flag-5'>TypeScript</b>、React和 AI工具构建电子产品

    AIWA HS-JS415维修手册

    电子发烧友网站提供《AIWA HS-JS415维修手册.pdf》资料免费下载
    发表于 04-08 10:37 3次下载

    AIWA JS215维修手册

    电子发烧友网站提供《AIWA JS215维修手册.pdf》资料免费下载
    发表于 04-01 16:44 3次下载

    如何将firware安装到使用MC9S08JS16CWJ的新USBDM中?

    我正在根据您名为 USBDM_SWD_SER_JS16CWJ_V3_1 的文件制作一个 USBDM。 现在,我遇到了一个问题,我不知道如何将 firware 安装到使用 MC9S08JS
    发表于 03-24 07:46

    Bun 1.2震撼发布:全力挑战Node.js生态的JavaScript运行时新星

    了与 Node.js 的兼容性,还为开发者带来了内置的数据库支持和云服务集成能力,进一步强化了其“全能工具包”的定位。Node.js 兼容性获得突破性进展在此次更新中,最引人注目的是 Bun 在 Node.js 兼容性
    的头像 发表于 01-24 10:42 1319次阅读
    Bun 1.2震撼发布:全力挑战Node.<b class='flag-5'>js</b>生态的JavaScript运行时新星

    AWTK-WEB 快速入门(4) - JS Http 应用程序

    导读XMLHttpRequest改变了Web应用程序与服务器交换数据的方式,fetch是其继任者。本文介绍一下如何使用JS语言开发AWTK-WEB应用程序,并用fetch访问远程数据。用AWTKDesigner新建一个应用程
    的头像 发表于 01-22 11:31 725次阅读
    AWTK-WEB 快速入门(4) - <b class='flag-5'>JS</b> Http 应用程序

    热门前端框架:引领现代 Web 开发的潮流

    在当今快速发展的前端开发领域,热门前端框架如 React、Vue 和 Angular 等,成为了开发者构建高效、高性能 Web 应用的得力工具。它们各自具有独特的特点和优势,引领着现代 Web 开发
    的头像 发表于 01-22 10:08 929次阅读

    前端的作用

    前端的作用 在智能手机中,“前端”一词可以指代两个不同的概念:手机前端开发和射频前端技术。以下是这两个概念在智能手机中的作用: 手机前端开发
    的头像 发表于 01-03 14:03 882次阅读