V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChrisFreeMan
V2EX  ›  程序员

推上看到的今天的热门讨论关于独立开发是否更适合 JavaScript 而不是 TypeScript

  •  1
     
  •   ChrisFreeMan · 28 天前 · 7434 次点击

    https://twitter.com/tibo_maker/status/1780920476744757601

    image

    好奇有多少人是从 TypeScript 回到 JavScript 的,为什么?你用了多久的 TypeScript 呢 (自由随意的讨论)?

    第 1 条附言  ·  27 天前
    一觉( jiao )起来发现多了这么多人讨论,大家的回复我都有好好看,就不一一回复了,感谢各位回复。
    111 条回复    2024-04-24 08:32:50 +08:00
    1  2  
    ballffett
        101
    ballffett  
       27 天前
    前端 ts 后端 js
    xiaohanyu
        102
    xiaohanyu  
       27 天前
    TS 一把梭写了个自己的 SaaS 产品: https://ppresume.com (一个基于 LaTeX 的简历生成器),13 KLOC 代码左右,感觉还是非常有帮助的,引入的成本不大,也没必要去生硬去抠类型体操,但是对开发流程和体验的优化还是很有帮助的。当然,如果只是临时写写一些几十几百行的脚本,TS 提升有限。
    jsun969
        103
    jsun969  
       27 天前
    ebushicao
        104
    ebushicao  
       27 天前
    即便是个人项目,或多或少也会有些数据类型吧,那种静态官网之类的除外。直接用 JS 就不好处理,要么只能用 class ,要么就是用 flow 和 jsdoc 来标识类型,我觉得反而比用 TS 麻烦。还有就是写的代码量越多,一些方法的参数类型大概率会忘记,出现 BUG 又要花时间调试,所以一些用 js 写的库,比如 lodash ,很多方法实现的一开始就是对类型做检查,这种又影响运行时,又影响编码体验。
    DOLLOR
        105
    DOLLOR  
       26 天前
    写 TS 就是为了智能提示。
    21 世纪了,还提供不了智能提示的编程语言,像个瘸腿的残疾,只能算能用,但用得痛苦。
    kyuuseiryuu
        107
    kyuuseiryuu  
       26 天前 via iPhone   ❤️ 1
    用 TS 的人从来不管别人自己项目是不是用 TS ,但是为什么用 JS 的人总希望别人和他一起用 JS ?
    kile
        108
    kile  
       26 天前
    @xiaohanyu 看着真不错,前端用的 UI 组件用的是什么能介绍一下吗?
    xiaohanyu
        109
    xiaohanyu  
       25 天前   ❤️ 1
    @kile Mantine: https://mantine.dev/ ,个人用过的最强大的 react UI 库,强烈推荐。最开始也是用的 tailwind ,后来迁移到了 mantine: https://github.com/orgs/mantinedev/discussions/6111
    kile
        110
    kile  
       25 天前
    @xiaohanyu 你这边怎么看 PrimeReact,Chakra UI 呢,和 Mantine 这个应该算是老外推荐率比较多的了
    xiaohanyu
        111
    xiaohanyu  
       23 天前
    @kile 啊,PrimeReact 和 Chakra UI 我都没用过呢,不过我粗略看了下,觉得 mantine 有几点还是很有优势的

    1. 组件更丰富,比较常用的 DatePicker, MonthPicker ,Chakra UI 没有: https://mantine.dev/dates/month-picker/,PrimeReact 有个 Calendar 组件,但是不如 mantine 的 DataPicker/MonthPicker/YearPicker 强大,再比如 Rich Text Editor: https://mantine.dev/x/tiptap/,这两个重量级组件在我的产品 PPResume 中都是重度使用的。Mantine v7 还加入了对 Charts 的支持: https://mantine.dev/charts/getting-started/
    2. hooks 更多,参见: https://mantine.dev/hooks/use-click-outside/,对比 PrimeReact: https://primereact.org/hooks/usemounteffect/ 和 Chakra UI: https://v2.chakra-ui.com/docs/hooks/use-boolean
    3. style 定制,mantine 提供特别丰富的 style 定制方式,最重要的是和一般 UI 库不同,mantine 可以定制选择 internal child components ,而不像大多数 UI 库只能通过传 className 的方式定制最外层的 component ,参见: https://mantine.dev/styles/styles-overview/https://mantine.dev/styles/styles-api/,当然 Chakra UI 和 PrimeReact 也是提供了 component style 定制的 API ,比如 Chakra UI: https://v2.chakra-ui.com/docs/components/slider/theming ,但是好像用的是自己的 DSL ,不知清楚是否可以用全部的 CSS ,mantine v7 用的是 CSS module ,可以利用全部的 CSS 属性的,Prime React 的 styling: https://primereact.org/calendar 。我总体感觉 mantine 的 CSS module 还是更舒服一些 ,性能也更好一些( mantine v6 -> v7 是升级到了 CSS module )

    说的不一定对哈,供参考。

    ---

    背景:我最开始写 PPResume 是用 tailwind ,后来花了点时间全部迁移到了 mantine ,经历了从 v5 -> v6 -> v7 的升级,总体对这个库还是非常满意的。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1073 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:55 · PVG 06:55 · LAX 15:55 · JFK 18:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.