最近几年,TypeScript在前端开发中越来越受欢迎。许多大公司都在用,社区也很活跃。不过,对于小型前端团队来说,情况可能不太一样。
一位有经验的开发者说过:“工具没有绝对的好坏,只有适合不适合。”
小型前端团队通常指成员在五人以下的团队。这样的团队资源不多,时间紧张,每个技术选择都可能影响项目进度。
开发速度受影响
小团队最缺的就是时间。TypeScript需要花时间去学。
新手掌握TypeScript一般要花两到四周。在这段时间里,开发进度会变慢。
举个例子,我们看两段代码:
// JavaScript 写法
function add(a, b) {
return a + b;
}function add(a: number, b: number): number {
return a + b;
}看起来只是加了类型说明,但在实际项目中,类型定义可能复杂得多。
需要掌握的知识比较多
TypeScript要求开发者了解这些内容:
类型系统
接口和泛型
类型推断
各种高级类型用法
这些概念对新手来说不太容易理解。小团队通常没有太多培训时间。
需要快速做出产品
创业项目或新产品需要尽快验证想法。这个阶段,需求经常变化。
TypeScript在代码重构时很有用,但在快速做出原型的阶段,可能会让速度变慢。
需求经常调整
项目刚开始时,今天的想法明天可能就变了。TypeScript的类型定义需要跟着改,这会增加工作量。
团队成员变动
小团队的人员流动性可能比较大。新成员需要时间熟悉TypeScript的代码,这会增加团队适应的成本。
TypeScript的主要好处包括:
更好的代码提示
提前发现错误
代码更容易理解
但在小团队中,这些好处可能还比不上学习它花的时间。
第三方库的类型支持
很多第三方库没有完整的类型定义。开发者需要做这些事:
找社区提供的类型定义
自己写类型声明
用any跳过类型检查
这些都会占用宝贵的时间。
配置和维护比较麻烦
TypeScript的配置不简单:
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true
}
}维护这些配置需要持续投入时间。
需要额外的编译步骤
TypeScript需要编译,这会:
增加构建时间
让开发环境变复杂
可能引入新的错误
虽然小团队要谨慎使用TypeScript,但在某些情况下还是可以考虑的:
项目规模变大
当代码超过一万行时,TypeScript的价值就体现出来了。
团队稳定下来
团队成员稳定,有足够时间学习新技术。
需要长期维护
项目要长期维护时,类型系统能提供更好的保障。
要和其他TypeScript项目配合
需要与大量TypeScript代码库交互时。
小团队选择技术时要考虑实际情况。TypeScript是个好工具,但不一定适合每个团队。最重要的是找到最适合当前团队和项目的方案。
选择技术就像选择出行方式:近距离骑自行车更方便,远距离坐飞机更合适。关键是要清楚你要去哪里,以及你现在在哪里。
如果你在小团队中,可以考虑这些做法:
项目初期用JavaScript,后期再考虑TypeScript
可以先在重要模块试用TypeScript
关注团队的学习能力和时间
考虑使用JSDoc注释作为过渡
评估项目的长期发展计划
记住,没有哪种技术能解决所有问题。适合的技术才是最好的技术。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!
近些日子,我使用了新语言编程,从JavaScript,切确地说是Elm,转成TypeScript。在本文中,我将继续深挖一些我非常喜欢的TypeScript特性。
TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 JavaScript 之间又有什么样的区别呢?
Nerv_是一款由京东凹凸实验室打造的类 React 前端框架,基于虚拟 DOM 技术的 JavaScript(TypeScript) 库。它基于React标准,提供了与 React 16 一致的使用方式与 API。
交叉类型:将多个类型合并为一个类型、联合类型:表示取值可以为多种类型中的一种、混合类型:一个例子就是,一个对象可以同时做为函数和对象使用,并带有额外的属性、类型断言:可以用来手动指定一个值的类型
在做比较大的,多人合作的项目的时候,TypeScript会更加地适合,这得益于它的可读性,面向对象性以及易于重构的特点。但如果只是自己做小程序,不需要太多人参与的时候,JavaScript则会更加简单。
有两种方式安装TypeScript,如何创建第一个TypeScript文件,在TypeScript中,可以使用interface来描述一个对象有firstName和lastName两个属性,TypeScript支持JavaScript的新功能,其中很重要的一个功能就是基于类的面向对象编程
使用TypeScript已经有了一段时间,这的确是一个好东西,虽说在使用的过程中也发现了一些bug,不过都是些小问题,所以整体体验还是很不错的。有关TypeScript声明类型声明相关的目前就总结了这些比较常用的
谷歌在很早之前就张开双臂拥抱 Web 应用程序,Gmail 已经发布 14 年了。当时,JavaScript 的世界是疯狂的。Gmail 工程师不得不为 IE 糟糕的垃圾回收算法捏一把汗,他们需要手动将字符串文字从 for 循环中提取出来,以避免 GC 停顿
TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript。TypeScript可以在任何浏览器、任何计算机和任何操作系统上运行,并且是开源的。
差不多两年前,我在一个创业团队中开始了一个全新的项目。用到的全都是类似Microservices,docker,react,redux这些时髦的东西。我在前端技术方面积累了一些类似的经验
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!