我已经使用 TypeScript 两年多时间, 是时候写一两篇文章来总结一下了.
谷歌在很早之前就张开双臂拥抱 web 应用程序, Gmail 已经发布 14 年了. 当时, JavaScript 的世界是疯狂的. Gmail 工程师不得不为 IE 糟糕的垃圾回收算法捏一把汗, 他们需要手动将字符串文字从 for 循环中提取出来, 以避免 GC 停顿. 最近, 我找到了那个时代一个设计文档, 是关于如何 "minify" JavaScript 文件的, 只不过一些工具仅用于 Windows 平台. 这些事情在今天看来是难以想象的.
多年来, 谷歌构建了大量的基础设施, 用于开发大型的 JavaScript 应用程序. 例如, 他们开发了一个模块系统, 可以让源文件自描述它们之间的相互依赖关系, 还有一个捆绑器, 可以将源文件合并在一起, 并缩小为可与浏览器兼容的工件. 另外还有一个工具, 它通过动态加载入口点来分析应用程序的依赖关系图, 并抽取服务的公共子模块. 还有非常常见的服务器端渲染. 所有这些概念对于今天的 Web 开发人员来说都是很熟悉的, 但谷歌的技术栈总是很超前, 它们并行演进, 虽然在概念上很相似, 但实际上却完全不同 -- 不同的流程, 工具, 甚至名字都不一样.
- TypeScript
来源: http://www.infoq.com/cn/articles/typescript-at-google