vue使用typescript有什么好处,vue+typescript实战教程

项目中要不要用Vue3?

目前阶段,Vue3已基本处于稳定,但是生态还不是特别完备,所以小项目可以尝试使用,但是之前的老项目不推荐使用Vue3进行重构。黑马程序员官网有成套免费视频哦,有什么不懂的可以直接过去学习。

我的回答你满意吗?满意就采纳吧。

谷歌人工智能写作项目:小发猫

编程时选用的程序设计语言,对软件的开发与维护的影响?

【CSDN编者按】“如果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,编程语言就像引擎的燃料typescript教程视频,typescript高级教程。”作为一名开发者,需跟随技术潮流的发展来学习新技术。

2020年,你有计划新学一门编程语言吗?本文作者从一名架构师的角度,详细分析了7种现代编程语言的优点与功能,你对哪门语言最感兴趣呢?

作者|MdKamaruzzaman,软件架构师译者|弯月,责编|伍杏玲封图|CSDN下载于视觉中国出品|CSDN(ID:CSDNnews)以下为译文:如果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,而编程语言就像引擎的燃料。

作为一名开发者,今年你应该学习哪种编程语言呢?学习一种新的编程语言无疑是时间、精力和智力上的巨大投资,但是学习一种新的编程语言可以提升你的软件开发技术力,促进你的职业发展。

在这里,我将献上一份现代编程语言的列表,这些语言不仅有助于提高你的生产力,而且还可以促进你的职业发展,并让你成长为更优秀的开发人员。

这份列表还涵盖了非常广泛的领域:系统编程、应用程序开发、Web开发、科学计算等。什么是现代编程语言?“现代编程语言”这个说法本身就很含糊。

许多人认为Python和JavaScript等语言是现代编程语言,还认为Java是一种古老的编程语言。实际上,这几种语言大约在同一时间出现:1995年。

大多数主流编程语言是上个世纪开发的:七十年代(如C)、八十年代(如C++)、九十年代(如Java、Python、JavaScript)。

这些语言在设计上并没有考虑现代软件开发生态系统:多核CPU、GPU、快速的互联网、移动设备、容器和云等。

尽管许多语言中的许多功能都已进行一些改进,如并发等,而且在不断调整自己以适应时代,但它们依然保留了向后兼容性,无法抛弃那些过时的旧功能。

在这方面,Python就做得很好(某种意义上也未必是好事),Python2和Python3两者之间有明确的分界线。很多语言常常会为解决同一个问题提供十余种的方法,同时又没有顾及到开发人员的感受。

根据StackOverflow的开发人员调查,大多数旧时的主流编程语言在“最可怕的语言”排名都名列前茅:如果非要在新旧编程语言之间划个界限的话,那么应该是2007年6月29日,也就是第一台iPhone发行的时候。

在这之后,编程语言界发生了很大变化。因此,在本文的列表中,我只考虑2007年以后的编程语言。为什么要学习新语言?

首先,现代编程语言充分利用现代计算机硬件(多核CPU、GPU、TPU)、移动设备、大量数据、高速互联网、容器和云的优势。

大多数现代编程语言会关注开发人员的体验,比如:简洁明了的代码(减少样板代码)内置的并发支持空指针安全类型推断简洁的功能集降低学习难度融合所有编程范例的最佳功能本文列表的许多编程语言都带有革命性地变化,并将永久地改变软件行业。

一些已成为主流编程语言,还有一些则有望取得突破。因此选择这些语言作为第二种编程语言是明智的做法。Rust一直以来,系统编程语言环境主要由靠近硬件的语言(如C、C++等)主导。

尽管它们可以完全控制程序和硬件,但是它们缺乏内存安全性。即使它们支持并发,使用C/C++编写并发程序也很困难,因为没有并发安全性。

还有一些流行的编程语言是解释性语言,例如Java、Python、Haskell。这些语言具备安全性,但需要庞大的运行时或虚拟机。由于它们的运行时间长,因此Java等语言不适合于系统编程。

许多人曾尝试将C/C++的功能与Java、Haskell的安全性相结合。然而,Rust才是第一个成功实现了这一点的编程语言。

GraydonHoare在业余项目中开发出了Rust,他的灵感来自研究编程语言Cyclone。Rust是开源的,由Mozilla与许多其他公司和社区一起领导这门语言的开发。

Rust于2015年首次发布,并很快引起了社区的关注。主要特征:通过所有权和借用概念提供内存安全和并发安全。内存安全和并发安全在编译时确保,即如果程序代码可以编译,那么内存既安全又没有数据竞争。

这是Rust最吸引人的功能。它还提供了Haskell中元编程的表现力。凭借不可变的数据结构和功能编程功能,Rust提供了功能并发和数据并发。Rust的速度非常快,纯Rust的性能甚至优于纯C。

在没有运行时的情况下,Rust可以完全控制现代硬件(TPU、GPU、多核CPU)。Rust具有LLVM支持。因此,Rust提供一流的与WebAssembly的互操作性,而且Web代码也非常快。

流行度:自2015年首次亮相以来,Rust已被开发人员广泛接受,并在StackOverflow开发人员调查中连续四年(2016、2017、2018、2019)被评选为最受欢迎的语言:根据GitHubOctoverse的调查,Rust是运行速度第二快的语言,仅次于Dart:此外,根据编程语言流行度排名网站PyPl的数据,Rust排名第18位,并呈上升趋势:对比Rust提供的功能集,我们就会明白为什么微软、亚马逊、Google等科技巨头相继宣布投资Rust作为一种长期的系统编程语言。

根据Google统计的趋势,在过去的5年中,Rust的热度每年都在增加。

主要用途:系统编程Serverless计算商业应用主要竞争对手:CC++GoSwiftGo在本世纪初,Google面临两个扩展问题:开发扩展和应用程序扩展。

开发扩展问题指的是他们不能仅通过投入开发人员的方式来添加更多功能。应用程序扩展问题则指他们无法开发出一款能够扩展到Google级别的计算机集群的应用程序。

所以在2007年左右,Google创建了一种新的编程语言,用于解决这两个扩展问题。

两位才华横溢的Google软件工程师RobPike(UTF-8)和KenThompson(UNIXOS)创建了一种新语言。2012年,Google正式发布了第一版的Go编程语言。

Go是一种系统编程语言,但与Rust不同,它还具有Runtime和垃圾收集器(几兆字节)。但是与Java或Python不同,这个Runtime包含了生成的代码。

最后,Go生成了一个本地的二进制代码,可以在没有附加依赖项或运行时的情况下在计算机中运行。主要特征:Go具有一流的并发支持。Go不通过线程和锁提供“共享内存”并发性,因为编程难度太大。

相反,它提供了基于CSP的消息传递并发性(基于TonyHoare的论文)。Go使用“Goroutine”(轻量级绿色线程)和“Channel”进行消息传递。

Go最大的杀手级功能是:简单,它是最简单的系统编程语言。新手软件开发人员只需几天就可以编写高效的代码,就像Python一样。

有些大规模的云原生项目(如Kubernetes、Docker)都是用Go编写的。Go还内置了垃圾收集器,这意味着开发人员无需担心C/C++中的内存管理问题。Google投入了大量资金打造Go。

因此Go拥有大量的工具支持。新手Go开发人员拥有大量的工具生态系统。一般,开发人员80%的时间都花在了维护现有代码上,用于编写新代码的时间只占20%。由于其简单性,Go在语言维护方面表现出色。

如今,Go在业务应用程序中大量使用。流行度:Go一问世就受到了软件开发社区热烈的欢迎。2009年-2018年,Go一直在TIOBE编程语言排行榜上徘徊。Go的成功为Rust等新一代编程语言铺平了道路。

如今,Go已是主流编程语言。最近,Go团队宣布了有关“Go2”的消息,这门编程语言的发展会更加稳固。几乎在所有的流行编程语言排行榜中,Go的排名都很高,已超过许多现有的语言。

自2019年12月以来,在TIOBE指数排名中,Go名列第15位:根据StackOverFlow的调查,十大最受喜爱的编程语言中,Go也位列其中:此外,根据GitHub的数据,Go也是十大发展最迅速的语言之一:Google趋势显示,在过去的5年中,Go的热度每年都在增加。

主要用途:系统编程Serverless计算商业应用云原生开发主要竞争对手:CC++RustPythonJavaKotlinJava是企业软件开发领域无可争议的王者。

近年来,Java受到了一些负面评论:过于冗长,大量样板代码,容易出现意外的复杂性。但是,关于Java虚拟机(JVM)的争论却很少。JVM是软件工程的杰作,经过了时间的考验,提供了硬核的runtime。

多年来,Scala等JVM语言一直在努力克服Java的缺点,想成为更好的Java,但他们都失败了。最终,这场提升Java的探索以Kotlin的诞生结束。

JetBrains(流行的IDEIntelliJ背后的公司)开发了Kotlin,它可以在JVM上运行,克服了Java的很多缺点,提供许多现代功能。

与Scala不同的是,Kotlin比Java更简单,还可在JVM中提供与Go或Python开发人员同等的生产力。

Google宣布Kotlin是一流的Android应用开发语言,因此Kotlin在社区中的接受度得到了大幅提高。

自2017年以来,同样受欢迎的JavaEnterprise框架Spring也开始支持Kotlin。我曾尝试结合Kotlin与ReactiveSpring使用,体验非常棒。

主要特征:Kotlin的主要卖点在于其语言设计。我总是将Kotlin视为JVM上的Go/Python,因为它简洁明了的代码。因此,Kotlin的生产力很高。

与许多其他现代语言一样,Kotlin提供了Null指针、安全性、类型推断等功能。由于Kotlin也运行在JVM中,因此现有Java库庞大的生态系统都可供使用。

Kotlin是一流的Android应用开发语言,并且已经超过Java,成为开发Android应用的首选。Kotlin得到了JetBrains和OpenSource的支持,因此具有出色的工具支持。

Kotlin有两个有趣的项目:KotlinNative(将Kotlin编译为原生代码)和(Kotlin到JavaScript)。如果成功,则可以在JVM外部使用Kotlin。

Kotlin还提供了一种简单的方式来编写DSL(域特定语言)。流行度:自2015年首次发布以来,Kotlin的知名度不断飙升。

根据StackOverflow,Kotlin是2019年第四大最受欢迎的编程语言:Kotlin还是增长最快的编程语言之一,排名第四:在流行编程语言排名网站PyPl的排名中,Kotlin名列第十二名,并具有较高的上升趋势:自从Google宣布Kotlin是一流的Android应用开发语言以来,Kotlin的流行趋势出现了大幅上涨,如下所示:主要用途:企业应用程序主要竞争对手:TypeScriptJavaScript是一门优秀的编程语言,在2015年之前,JavaScript有很多缺点。

著名的软件工程师DouglasCrockford写了一本书名为《JavaScript:TheGoodParts》,暗示了JavaScript有很糟的部分。

无模块化,还有“回调地狱”,因此开发人员都不喜欢维护特别大的JavaScript项目。Google甚至还开发了一个平台,可将Java代码反编译为JavaScript代码(GWT)。

许多公司和个人都曾尝试开发更好的JavaScript,例如CoffeeScript、Flow、ClojureScript。最终,微软的TypeScript取得了成功。

微软的一队工程师在著名的AndersHejlsberg的带领下,创建了JavaScript的静态类型、模块化超集——TypeScript。TypeScript可以编译为JavaScript。

于2014年首次发布后,TypeScript很快引起了社区的关注。Google当时还计划开发JavaScript的静态类型超集。

Google对TypeScript青睐有加,以至于他们没有开发新的语言,而是选择与微软合作改进TypeScript。

Google选择TypeScript作为其SPA框架Angular2+的主要编程语言。此外,流行的SPA框架React也提供对TypeScript的支持。

另一个流行的JavaScript框架也宣布将使用TypeScript开发新的3:另外,的创建者RyanDahl已决定使用TypeScript来开发安全的替代品Deno。

主要特征:流行度:开发人员喜欢TypeScript的优雅语言设计。

在StackOverFlow最受欢迎的语言类别的调查中,TypeScript与Python并列第二名:根据GitHub的排名,TypeScript是增长最快的编程语言之一,排名第五:从GitHub的贡献度来看,TypeScript排名第七,打进了前十:Google的趋势表明,在过去的几年中,TypeScript的热度越来越高:主要用途:主要竞争对手:Swift当初乔布斯拒绝在iOS中支持Java(和JVM),他认为Java不再是主流编程语言。

如今我们发现乔布斯当初的估计是错的,虽然iOS仍然不支持Java。苹果选择了Objective-C作为iOS中的首选编程语言。

Objective-C是一门很难掌握的语言,它不支持现代编程语言所要求的高生产力。

后来,苹果的ChrisLattner和其他人开发了一种多范例、通用的、编译编程语言——Swift,来替代Objective-C。Swift的第一个稳定版本于2014年发布。

Swift还支持LLVM编译器工具链(也由ChrisLattner开发)。Swift与Objective-C代码库具有出色的互操作性,并且已确立为iOS应用开发中的主要编程语言。

主要特征:流行度:开发人员对Swift的喜爱不亚于许多其他现代编程语言。

根据StackOverflow的调查,Swift在最受欢迎的编程语言中排名第六:2019年,在TIOBE的编程语言排名中,Swift的排名上升到了第10名。

鉴于这种编程语言只有5年的历史,可以说是成绩斐然:Google的趋势表明,在过去的几年中,Swift的热度出现了激增:主要用途:主要竞争对手:DartDart是Google出品的第二大编程语言。

Google是Web和Android领域的巨头,因此Google在Web和应用领域开发自己的编程语言也不足为奇。

在丹麦软件工程师LarsBak(领导Chrome的JavaScriptV8引擎开发)的带领下,Google于2013年发布了Dart。

Dart是一种通用编程语言,支持“强类型”和“面向对象”编程。

Dart也可以转编译为JavaScript,凡是JavaScript可以运行的任何地方(例如Web、移动、服务器)几乎都可以运行Dart。

主要特征:流行度:根据GitHubOctoverse数据显示,Dart是2019年增长最快的编程语言,去年它的流行度增长了五倍:根据TIOBE指数显示,Dart排名第23,仅用了4年时间就超过了很多其他的现代编程语言:根据StackOverflow的调查,Dart在最受欢迎的编程语言中排名第12:受Flutter的影响,Google的趋势表明,在过去的两年中,Dart的热度急剧上升:主要用途:主要竞争对手:Julia本文提及的大多数编程语言都是由大型公司开发的,但Julia是个例外。

科技计算领域通常都会使用动态语言,例如Python、Matlab。虽然这些语言提供易于使用的语法,但不适用于大规模的科技计算。

他们需要使用C/C++库执行CPU密集型任务,因此这就产生了著名的“两种语言”的问题,因为他们需要粘合代码来绑定两种语言。由于编写的代码需要在两种语言之间来回切换,因此总是会损失部分性能。

为了解决这个问题,麻省理工学院的一队研究人员计划从头开始创建一种新的语言,这种语言既可以利用现代硬件的优势,而且还结合其他语言的优势。于是,Julia诞生了。

Julia是一种动态的高级编程语言,提供一流的并发、并行和分布式计算支持。Julia的第一个稳定版本于2018年发布,并很快受到社区和行业的关注。

Julia可用于科学计算、人工智能和许多其他领域,而且还可以解决“两种语言”的问题。主要特征:流行度:Julia在许多领域主要与Python竞争。

由于Python是最流行的编程语言之一,因此Julia想晋升主流还需要几年的时间。

虽然Julia非常新(只有一岁),但仍在TIOBE指数中排到第43名:Google趋势显示,在过去的一年中,Julia的热度在稳步增长:但是考虑到Julia的功能集,以及NSF、DARPA、NASA、因特尔等公司的推动,相信Julia取得突破的进展只是时间的问题。

主要用途:主要竞争对手:原文链接:本文为CSDN翻译,转载请注明来源出处。【End】PythonMatlab科学计算高性能计算数据科学可视化与Rust一样,Julia的主要特征在于语言的设计。

这种语言在不牺牲性能的情况下,将高性能和科学计算中现有编程语言的一些功能结合在一起。就目前的情况来看,Julia出色地完成了这项任务。Julia是一种动态编程语言,支持类型系统但类型不是必须的。

因此,Julia这种编程语言很容易学习,生产力很高。Julia的核心是多调度编程范例。Julia内部支持并发、并行和分布式计算。Julia为I/O密集型任务提供异步I/O。

Julia的运行速度非常快,可用于需要数百万个线程的科学计算。JavaScriptTypeScript应用开发UI开发与Go一样,Dart也非常注重开发人员的工作效率。

由于Dart简洁的语法,以及高效的生产力,受到开发人员的喜爱。Dart还提供“强类型”和“面向对象”编程。Dart是少数同时支持JIT编译(运行时编译)和AOT编译(创建时编译)的编程语言之一。

因此,Dart可以针对JavaScript运行时(V8引擎),并且Dart可以编译为快速的原生代码(AOT编译)。

跨平台原生应用程序开发平台Flutter选择了Dart作为开发iOS和Android应用的编程语言。从那以后,Dart的流行度越来越高。

与Goog的Go编程语言一样,Dart也具有出色的工具支持和庞大的Flutter生态系统。Flutter的日益普及也会推动Dart的采用率升高。

Objective-CRustGoiOS应用开发系统编程客户端开发(通过WebAssembly)Swift的杀手级功能之一是其语言设计。语言本身很简单,语法简洁,比Objective-C更高效。

Swift还提供了现代程序语言的功能:null安全。此外,它还提供了语法糖来避免“厄运金字塔”。作为一种编译语言,Swift和C++一样快。Swift支持LLVM编译器工具链。

因此,我们可以在服务器端编程,甚至浏览器编程(使用WebAssembly)中使用Swift。Swift提供了自动引用计数(ARC)支持,可抑制内存管理的不善。

JavaScriptDartWebUI开发服务器端开发与Go或Kotlin同样,TypeScript的主要特征也是语言设计。TypeScript凭借其简洁明快的代码,成为了目前最优雅的编程语言之一。

就开发人员的生产力而言,它与JVM或Go/Python上的Kotlin并驾齐驱。TypeScript是生产力最高的JavaScript超集。

TypeScript是JavaScript的强类型超集,特别适合大型项目,而且可以称为“可扩展的JavaScript”。

单页应用程序框架的“三巨头”(Angular、React、)为TypeScript提供了出色的支持。在Angular中,TypeScript是首选的编程语言。

在React和中,TypeScript越来越受欢迎。最大的两家技术巨头:微软和Google正在合作开发由活跃的开源社区支持的TypeScript。因此,TypeScript拥有最好的工具支持。

由于TypeScript是JavaScript的超集,因此凡是可以运行JavaScript的任何地方都可以运行TypeScript,包括浏览器、服务器、移动设备、物联网设备和云。

JavaScalaPythonGo。

2020年前端最火的技术是什么?

我认为的2020年前端开发者最应该掌握的一些比较火爆的技术与知识点。

1,前端框架和语言层面9月份Vue3.0发布,声称对TypeScript有着更好的开发体验,通过从不同框架级别TS支持上,我们可以看出社区的整个风向从2019年的大家都去学习应用TS,变成了大家如何把TS用的更好这个方向上来了。

所以我认为今年TypeScript的火热程度还是应该排名很靠前的,我今年也使用TypeScript重构了Daruk的服务框架推出了2.0版本,让TS开发者拥有更好的TS开发体验。

接下来就是两大重磅框架的更新历程对比,Vue3前面说了一句。而React也在十月也发布了React17的release版本。这两大主流框架的频繁更新,也说明了社区和作者都在一同演化。

在Vue3中除了更好的支持TS外,还更新了CompositionAPI。

而React17主要是集中精力在升级体验上,虽然没有新的Feature但是提升了和解决了很多之前版本潜在的问题。

要说哪个最火还是要看个人实际的使用场景和喜好,但是2020年来看还没有别的框架可以与之一战。

2,大前端相关技术栈今年基于Chromium的微软edge浏览器也已经推出。google在web端的发展产生了对开发者深刻的影响。

Chrome80+也已经发布多个版本,提供了一系列的新特性,比如CoreWebVitals标准,DesktopPWA等都值得我们去关注。

我们说完了浏览器相关的那点技术之后,再聊聊大前端相关的一些技术实践,比如Flutter。

很多前端在今年已经从web开发转型为Flutter开发,学习和使用Dart技术来构建UI,这是很多大厂的前端工程师正在经历的事情(包括我的部门也在尝试这个事情),这个趋势应该在未来几年还会持续。

客户端electron在今年也有着长足的进展,一年内多次更新版本一路到了10.1.5。随着疫情影响,国内在线教育的又一波兴起。

很多桌面软件,网课软件都在采用这个技术来进行开发,市场上的岗位也开始变多,electron技术可以说在今年也有火的趋势。

然后我们再看看BFF层,nestjs依然坚挺,越来越多的人开始跳过学习express和koa开始学习更丰富的web框架了,比如egg或者我的daruk,开发者已经在慢慢形成共识,在webframework的路上开始越走越远,裸写nodejsweb服务的时代已经开始慢慢褪去。

不得不提的还有serverless在前端的普及,在2020年到达了一个新的高潮。

阿里云,腾讯云,头条云等等国内的互联网厂商也都开始大玩serverless概念。从对内服务开始转向对外服务,普及的势头很猛,也有落地的趋势和场景。

今年的D2同样也有serverless的专场,可见受重视程度非比寻常。

3,工程化提效和个人素质提升再离我们近一些的推动生产力的技术,比如据我所知在用CI/CD和pipeline管理上线流程的公司越来越多,这种去年还可以出去吹一吹的东西,今年也逐步变成了业界标配基础能力,如果不会的同学可要抓紧学习了。

2019年前大家都疯狂吐槽面试刷medium题目没用,而2020年后大家开始默认面试某些公司都至少要刷到medium程度的题目。

这对很多前端来说是一个心智和素质的提升与转变,大家在接触新技术的同时,也慢慢发现,前端整个职业环境的变化,越来越多的公司对人的整体综合素质要求变高了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值