迁移至TypeScript之体会

来源 :科学导报·学术 | 被引量 : 0次 | 上传用户:DrunkenLion
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要:JavaScript作为网站开发技术的必备语言最近发展迅猛,TypeScript的出现可能是一种更好的选择。本文对以上两种语言进行了比较,并且给出了自己的观点。
  关键词:JavaScript;TypeScript
  1 BS架构应用程序概述
  由于BS架构应用程序具有跨平台性的优点,一直备受用户和开发者的喜爱,移动互联网技术的发展,更是促使着该领域的发展。通过招聘网站的信息可以看出该领域发展迅猛,从以前的网站开发职位,细分到网站前端工程师、服务器端工程师和全栈工程师等。
  2 JavaScript应用领域
  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等接口库来进行软件开发。
  3 TypeScript语言
  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开发,只在调试环节,其排错功能所节省的时间,都会远超过编译所花费的时间;在构建复杂的项目时,如果不熟悉构建工具,则设置新项目可能会一件让人头大事情。
  所以,只从单方面的看一个语言的优缺点,难免有失偏颇。我们要从软件开发、调试、发布和维护的整个流程来验证一个程序语言是否高雅。
  4 TypeScript使用的统计数据
  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不仅使具有JS基础的开发者学习变得更容易,而且JS项目转换为TS会使项目开发提高一个层次。首先将后缀为.ts。这样就成为一个TS项目。然后,就可使用TS所有功能了。虽然,完全掌握TS不是一件简单事情,但是它绝对会给您带来开发JS项目从未有过的快感。
  参考文献
  [1]  Bable中文网. Babel是什么[EB/OL] . https://www.babeljs.cn/docs
  [2]  StackOverflow. 2019年开发人员调查[EB/OL]. https://insights.stackoverflow.com/survey/2019
其他文献
摘 要:众所周知,道路桥梁的施工管理质量会影响到出行民众的生命安全,一旦道路桥梁出现了病害问题,将会导致道路桥梁安全质量受损,会威胁到过来行人车辆的安全。针对于此,有关单位部门要认真做好市政道路桥梁的常见病害分析处理工作,确保道路桥梁能够持续处于良好的运行状态,充分保障过往行人与车辆的安全,基于此,本篇文章对道路桥梁工程的常见病害与治理策略进行研究,以供参考。  关键词:道路桥梁工程;常见病害;治
期刊
摘 要:随着我国建筑工程获得蓬勃的发展,在土木工程建筑施工期间使用大体积混凝土结构施工技术很常见,同时,其可以确保土木工程建筑的品质满足应用需求。假如大体积混凝土结构施工技术发生问题,就会对土木工程建筑的品质产生不好的后果。经过研究当下大体积混凝土结构施工技术经常发生的问题,寻找有效的处理办法,进而提升土木工程建筑的品质,给日后的施工品质带来了借鉴意义。  关键词:土木工程;大体积;混凝土结构;施
期刊
摘 要:确保生命健康,必须保持空气的清洁度,控制大气污染指数,净化空气是城市环保工作必不可缺的内容。据调查统计,如果空气中含有氮气和氧气的比例分别是78%和21%,稀有气体比例为0.93%,同时,空气内部二氧化碳、水蒸气含量较少,就说明空气符合清洁度标准质量。如果大气中有部分气体出现异常增多现象或者空气中大量增加了其他新成分,此时的大气就非常污浊,含有超标污染物,一旦这些污染物超标会威胁生物的生命
期刊
摘 要:在我国经济发展水平不断加快的背景下,路桥工程建设规模不断扩大,路桥工程施工技术人员在实际施工期间,选择并运用的软土地基处理方法尤为重要。软土地基地质具有疏松、不稳定的特点,如果没有对软土地基进行正确处理,就会导致路面出现硬化或是坍塌的现象,进而会对后续路桥整体的使用效果造成严重影响。  关键词:路桥工程;施工技术;软土地基处理方法  引言  路桥工程在施工建设期间会涉及到多项施工内容,会运
期刊
摘 要:互联网金融作为一种新兴的金融模式正以势不可当的趋势不断发展、创新与壮大,但存在互联网金融分业监管和跨业经营的制度性错配等问题,引发和放大了理财产品、信贷平台、信托融资以及第三方支付等方面的风险,因此,加强互联网金融风险防范已成为亟待解决的重要课题。  关键词:互联网金融;风险;防范举措  一、我国互联网金融发展现状  互联网技术和通信移动设备的迅猛发展,加快了不同形式的互联网模式与传统金融
期刊
摘 要:随着社会主义市场经济的发展与时代的进步,企业在市场中的竞争日渐激烈,在企业新的发展过程中,会计审计工作的开展也越来越重要。企业的会计审计工作与企业的经营息息相关,良好的会计审计工作可以较为准确的计算企业成本与利润,对企业的发展起到良好的推动作用。本文根据当代企业审计会计工作的发展现状进行分析,指出其中存在的问题并给予相应的解决措施以期我国当代企业的进一步发展,推动社会的进步与人们生活水平的
期刊
摘 要:生态农业是一种具有低碳环保、绿色有机、物质循环、高效高产等特点复杂的生物社会经济系统,是当前经济可持续发展农村农业的大趋势。在当今生态农业快速发展进程中,还存在一些急需解决问题。因此本文将以生态农业发展的作用和优势作为出发点,针对其发展过程中存在的问题进行简要的分析和探讨。  关键词:农业经济;生态农业;可持续发展  引言  随着农业技术的快速发展和农村土地集约化利用率大大提高,我国的农业
期刊
摘 要:科技的进步,促进工程建设事业得到快速发展。人们对于土建工程施工有了更高的要求。而在实际的土木工程的施工与建设中,裂缝问题是影响土木工程施工质量的一项重要的影响因素。为了更好的满足当下人们对于土木工程施工的要求,减少土木工程施工的质量问题,就需要我们寻找和探寻出土木工程施工中裂缝产生与形成的相关规律,并采取相应的处理措施,减少和预防土木工程中裂缝的问题。本文就土木工程施工中的裂缝处理措施展开
期刊
摘 要:现在经济不断发展,文化事业也得到了促进,现在人们的精神需求变得越来越高,尤其是对影视动画的需求。影视动画的呈现在一定程度上需要依靠视听语言,试听语言与影视动画产业的发展关系密切。本篇文章对视听语言的特点进行了介绍,阐述了视听语言的重要性,最后展望了视听语言接下来的发展前景,希望可以通过对这一领域的不断研究,促进影视动画产业的发展,同时也能让这一产业的创作质量得到提高。  关键词:影视动画;
期刊
摘 要:整体的管理效率比较低是传统物流管理过程中的最大弊端。在当今信息化高速发展的情况下,信息的重要性越加的凸现,而信息网络化的技术应用,可以有效缩短物流的传输长度,还可以有效提高物流管理过程中的透明度,极大的提高现代物流管理过程中的整体效率。在现代物流管理的发展与建设当中,信息的网络化建设是重点发展目标。而信息化的来临也导致了物流的功能发生了一些改变,物流传输工业品的同时也是在传输信息,各种信息
期刊