使用半年TypeScript后的感受

初识TypeScript

从入职新公司开始算,使用typescript已经有半年多了,这是一个创业公司使用nodejs开发的后台业务管理系统,已经做的很大了,支撑着公司每月千万人民币的业务处理。很多怀疑nodejs是否可以开发后台管理,作为一个过来人告诉你可以放心使用,现在的javascript早已不是10年前用来写前端特效的js了。美中不足的是nodejs对报表这类数据处理量较大的功能有点力不从心,经常拖垮系统,当然也不是完全不能用nodejs来处理报表,可以合理的使用子进程单独处理数据而不影响主进程。但还是不推荐。

使用感受

其实起初对于typescript开发nodejs我是拒绝的,原因是建立起这个项目的人都走了,而这个项目结构实在是复杂,在windows下环境搭建费了好大精力,尤其是为了使用一个bcrypt加密包,需要安装Python,C++来编译,还不能使用nodejs0.12以上版本,最烦人的是每次修改文件后编译速度非常慢,这让我重新体验了开发JAVA时期的痛苦。而且服务启动方法也是前人自己编写shell脚本来同时编译前端文件和后端文件。并没有使用nodemon,supervisor这种监控工具。后来折腾发现可以直接使用vscode单独编译ts文件,一般12秒就编译完成,这与我之前的项目1秒修改重启相比还是慢了很多,不过也免强只能接受,此时只觉得如此麻烦和JAVA开发有什么区别!所以基于这些不好的体验我很不喜欢typescript。

重新认识

最近又折腾了下我用纯nodejs开发的博客,突然发现,写起来确实不如typescript爽,主要是纯nodejs在webstorm和vscode上语法提示和错误提示较弱,而typescript则可以很好的提示并且在开发过程中就能发现一些很低级错误,不用等到运行时才发现。尤其是对ES6的支持比较完整,甚至可以使用async,await这些ES7提案中的特性。虽然现在高版本的nodejs已经支持一些新特性,但是并不是所有项目都可以使用高版本。如果说为什么要使用typescript,那就是typescript集合了js的快速和强类型语言的安全稳定,用于开发一些较大的项目绝对利大于弊。 尤其是对于一些多人合作的项目来说,typescript的强类型能够很好约束对象属性,参数传递,对后续的重构也起到至关重要的作用。 有人可能会担心降低开发效率,这一点大可不必担心,你定义类型消耗的时间会从强类型提示上补回来的。 接下来会写一篇完整的环境搭建教程:使用typescript开发nodejs的环境搭建(一)