下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
迁移至TypeScript之体会获奖科研报告摘
要:JavaScript作为网站开发技术的必备语言最近发展迅猛,TypeScript的出现可能是一种更好的选择。本文对以上两种语言进行了比较,并且给出了自己的观点。
关键词:JavaScript;TypeScript
1BS架构应用程序概述
由于BS架构应用程序具有跨平台性的优点,一直备受用户和开发者的喜爱,移动互联网技术的发展,更是促使着该领域的发展。通过招聘网站的信息可以看出该领域发展迅猛,从以前的网站开发职位,细分到网站前端工程师、服务器端工程师和全栈工程师等。
2JavaScript应用领域
JavaScript作为一门语言(以下简称JS),主要应用在网站前端。其特点为小巧、易学,并且易操作DOM,以前的网站工程师一直将其作为提升用户体验的脚本。直到2005年,谷歌公司利用AJAX技术实现了异步通讯,这使得人们认识到JS的威力。随着项目需求的发展,为了使JS能够开发出大型、复杂的企业级应用程序,2015年发布了JS发布了新的ES6标准。JS这时可谓如日中天,势头正旺。
JS绝对是现代网站前端开发的最流行的脚本语言,国内外互联网软件公司都争相招聘JS工程师。jQuery、Vue、Angular等第三方JS库,使的JS应用生态更加良好。HTML5带来的新特性,更为JS带来诸多用武之地。
网站服务器端主流开发技术有PHP、JSP等,但是随着JS的发展,JS不但可以开发前端应用程序,服务器端应用程序也可以用其进行开发,主要代表有Node。
在安卓和iOS等移动端开发领域,JS也有如Cordova等接口库来进行软件开发。
3TypeScript语言
TypeScript是一种开源的编程语言(以下简称TS),该语言项目由微软进行维护和管理。TS不仅包含JS的语法,而且还提供了静态类型检查以及使用看起来像面向对象编程语法操作原型。TS是为开发大型应用而设计的,并且TS可转译成JS。由于TS是JS的超集,任何现有的JS程序都是合法的TS程序。TS类似于强类型的JS。它添加了大部分开发人员期望强类型语言的功能,虽然浏览器无法解析TS,但是,TS可以通过编译转换为JS。从技术上讲,TS并没有添加任何新的运行时功能。
社区里经常听到开发者没有使用TS就在那抱怨其不好,主要是由于为了实现相同的功能而要另外学习一门新的语言,感觉得不偿失。但是使用TS不仅是语言的优点,还有构建过程。目前,大多数现代网站应用在其构建链中至少有一个以Babel[1]的形式保留给JS。
下面将分析TS优缺点,从而决定是否要使用TS。
虽然,社区一些开发者在那抱怨TS,但是也有许多使用过TS的开发者表示仍然会继续使用TS进行开发。其实使用TS多带来的好处远大于缺点。具体优点有:TS的编译步骤意味着您可以及早发现问题,而不必等待运行时失败;现代IDE可以在编译步骤之前就提示错误;当ES6中提出新功能时,TS可以尽早采用它们,从而使您始终处于技术最前沿。
但实际上,TS最主要好处是可以使您的代码能够进行自描述,而JS无法做到这一点。可能担任独立开发项目,JS并不会显得那么糟糕,因为对于独立开发人员来说,所有代码和应用逻辑都十分了解。但是,即使作为唯一的开发人员,在编写代码时也容易忘记代码。比如,当编写普通的JS时,因为忘记函数返回值或它接受什么样的参数,有时不得不去阅读函数定义以弄清楚如何使用它。
一些公司有相互关联的项目生态系统,它们共享相同的代码库。使用TS有助于他们做出API设计变更。做出API变更的开发人员需要确保他們的变更不会破坏其他依赖于这些库的项目。TS为这个非常有限的TS用户子集节省大量的时间。
这就是TS的优雅之处。它并不会迫使您成为一名优秀的开发人员,但它却为您提供了实现此目标的特性。
TS当然也存在缺点。有些开发者抱怨TS没有JS的代码录入效率高,因为TS定义每个新函数或变量还要输入类型,显然没有弱类型的JS输入更方便;还有开发者抱怨TS,由于必须编译代码,因此每次更新和测试运行都将花费一点时间,但是编译代码所花费的时间,对一个功能完善的应用程序来说是微不足道的,在使用TS开发,只在调试环节,其排错功能所节省的时间,都会远超过编译所花费的时间;在构建复杂的项目时,如果不熟悉构建工具,则设置新项目可能会一件让人头大事情。
所以,只从单方面的看一个语言的优缺点,难免有失偏颇。我们要从软件开发、调试、发布和维护的整个流程来验证一个程序语言是否高雅。
4TypeScript使用的统计数据
StackOverflow是一个与程序相关的IT技术问答的国际流行网站。到2010年年末,其月度独立访客超过1600万,每月浏览量超过7200万。根据2019年开发人员调查[2],JS连续第七年成为该网站上讨论最多的语言,有67.8%的受访者使用它。TS为21.2%,排名第十。然而,在2018年,TS的比例为17.4%,而2017年仅为9.5%,2016年,只有0.47%的受访者使用TS。所以,可以看出TS有了惊人的增长。虽然,TS这一增长在很大程度上要归功于Angular框架,该框架在早期就放弃了JS支持,但是,Angular为什么放弃JS而选择拥抱TS呢?当查看最喜欢的语言时,TS表现得更好,它在Rust和Python之后排在第三位(73.1%)。JS排名第11(66.8%)。
5展望
TS短期内不会取代JS。掌握TS可使JS发挥更大的作用。TS不会在任何浏览器中原生运行。TS不是根本改变JS,而是自然的演变。
TS不仅使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 观光浏览车安全责任制度
- 公司办公室岗位责任制度
- 建筑办公室管理责任制度
- 酒店水电安全责任制度
- 危货专职安全员责任制度
- 网吧消防工作责任制度
- 网吧防疫经理责任制度
- 防治水放冲岗位责任制度
- 面包生产安全责任制度
- 食品经营者岗位责任制度
- 服装手工艺钩针教学课件
- 新课标初中物理词典
- 医疗质量与安全管理委员会会议专家讲座
- 外研版中考英语复习课件
- GB/T 41498-2022纤维增强塑料复合材料用剪切框测定面内剪切应力/剪切应变响应和剪切模量的试验方法
- GB/T 28733-2012固体生物质燃料全水分测定方法
- FZ/T 08001-2021羊毛絮片服装
- 博弈策略的生活解读 课件
- PSP问题分析与解决能力训练课件
- 综合实践六年级下册和灯做朋友-完整版课件
- 数字化仿真概述课件
评论
0/150
提交评论