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

    文章

    245

    浏览量

    18848
  • 编译器
    +关注

    关注

    1

    文章

    1672

    浏览量

    51895

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    KnowMade 发布 2025 年全年射频前端专利监测总结

    发展态势,KnowMade 基于其季度《射频前端模块与组件专利监测报告》,对 2025 年 全年全球相关专利活动进行了系统性梳理。本研究覆盖专利的完整生命周期,包括新公开申请、已授权 专利,以及当年失效或被放弃的专利,从而为行业创
    的头像 发表于 04-09 17:41 1088次阅读
    KnowMade 发布 2025 年全年射频<b class='flag-5'>前端</b>专利监测总结

    Vue3 + React18 + TS4入门到实战 系统学习3大热门技术 | 更新完结

    ,Vue3、React18与TypeScript4的相继问世,共同塑造了现代前端开发的新范式。这三大技术栈的演进,不仅带来了性能上的显著提升,更在开发体验、类型安全和架构设计层面实现了质的飞跃。 Vue3
    发表于 03-30 15:18

    前端的单元测试课

    框架变了,构建工具变了,但有一点始终未变,那就是对代码质量的极致追求。然而,在实际的项目开发中,我们常常看到这样的景象:前端工程师在提测前夕通宵达旦地“点点点”,手动回归每一个功能,生怕改了一个 Bug 引出三个新 Bug。这种依靠人力堆砌的“质量防线”,在日益复杂的
    的头像 发表于 03-19 16:05 429次阅读

    LuatOS框架的使用(上)

    在资源受限的物联网终端设备中,如何实现快速开发与稳定运行是关键挑战。LuatOS框架通过将Lua语言与底层硬件抽象层深度融合,提供了一套简洁高效的开发范式。本文将围绕LuatOS框架的使用展开,从
    的头像 发表于 01-27 19:38 331次阅读
    LuatOS<b class='flag-5'>框架</b>的使用(上)

    射频前端的反内卷之路

    近期随着卓胜微和唯捷创芯半年报公布,两家头部射频前端公司扣非后净利润都出现不同程度的亏损,一时间关于射频前端内卷和关于射频卷到“血流成河”的文章不断爆出,笔者采访了多位未上市或者在上市准备阶段的射频
    的头像 发表于 08-29 10:39 865次阅读

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

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

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

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

    2.4 GHz 无线 LAN 前端 skyworksinc

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

    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

    2.4 GHz WLAN 前端模块 skyworksinc

    电子发烧友网为你提供()2.4 GHz WLAN 前端模块相关产品参数、数据手册,更有2.4 GHz WLAN 前端模块的引脚图、接线图、封装手册、中文资料、英文资料,2.4 GHz WLAN 前端模块真值表,2.4 GHz W
    发表于 06-17 18:35
    2.4 GHz WLAN <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 1755次阅读
    tscircuit - 电路开发的 React 范式​   用<b class='flag-5'>TypeScript</b>、React和 AI工具构建电子产品