全国协议5人面授小班,企业级独立开发考核,转业者的IT软件工程师基地 登录/注册 | 如何报名

免费领取试听课程

并获得专业顾问一对一进行选课辅导

课程名称不能为空
姓名不能为空
手机号码不能为空

领取成功

ES6发布,是否会导致JavaScript被淘汰

行业新闻 汉码未来 | es6 JavaScript

2021-11-30 09:43:58

在ES6刚刚推出时,框架的流行程度降低,JavaScript更加强大。但当开发人员越来越熟悉ES6的功能时,最终可能使es6成为主流。

ES6发布,是否会导致JavaScript被淘汰

JavaScript框架的问题

JavaScript框架是开发人员的工具,抽象了前端应用开发的一些复杂性。虽然这些框架无疑非常实用,但JavaScriptWeb组件规范的进步使得新的前端应用(如单页应用)即使不使用框架也能轻松开发。那么,问题来了,有必要使用这些框架吗?

让我们来看看今天最流行的JavaScript框架,反思它们的缺点。其实这样的例子比比皆是,因为现在的框架大多有很多根本缺陷。

大多数使用JavaScript框架的人(我也是其中之一)可能没有注意到这些缺陷,因为我们已经习惯了。这就像与魔鬼的交易:抽象给我们带来了发展的便利,但我们不重视它们带来的混乱。然而,事实是,我们使用的大多数框架都非常臃肿,它们管理着JavaScript本身不支持的复杂过程,捷径只会使调试更加困难。

除此之外,还有一个更重要的问题:我们对JavaScript框架的构成没有很好的定义。这导致我们陷入了一个有点荒谬的境地,比如最受欢迎的JavaScript框架之一React根本不是真正的框架。只是开发人员构建的高度专业化的JavaScript库。

这些问题存在于所有流行的框架中。但也有许多具体的问题只影响个别框架。下面,让我们快速浏览一下。

AngularJS和Angular

说到JavaScript框架中存在的问题,我们不得不提到AngularJS。虽然框架会过时,但人们可能不会停止使用。很多开发人员还是会告诉你,AngularJS是编写JavaScript代码的最佳方式,虽然框架已经被抛弃,不需要几年的时间就很难掌握。

第二个问题是,AngularJS的代码几乎无法理解,Angular2也继承了这个问题。虽然有人认为这是后端开发人员收入较高的原因,但实际上会增加开发人员的负担。例如,Angular2包含了区分大小写的HTML实例,这不仅违反了HTML本身的原则,而且迫使许多人实现解析,只是为了清理Angular2生成的HTML。

React

React是另一个非常流行的JavaScript框架,它也面临着一系列不同的问题。回想起来,React的发展似乎是为了应对Angular的晦涩难懂。React向用户承诺该库简单易用。

虽然React在某种程度上确实做到了,但问题是React不是一个真正的集成框架,它只是一组模块和组件,不能很好合作。虽然您可以使用React来实现复杂的功能,如浏览器指纹识别,但这也意味着您已经构建了一个非常复杂的组件栈,并且必须继续维护和管理这些组件。

有人可能会指出,在Redux、Flux等系统的帮助下,即使是初学者也可以使用复杂的React技术栈。但我认为,如果你需要通过框架编写JavaScript代码,这意味着你真的很麻烦。尽管如此,React并不是真正的框架,所以这是不公平的。

Ember,Vue和Aurelia

最后,简要介绍一些鲜为人知、使用较少的框架。我相信大多数开发人员没有接触过太多这三个框架。原因很简单。这些框架的应用非常小,使用不广泛。

这三个框架中的每一个都有自己的特点,但主要问题是应用非常小。这些框架都没有达到与更广泛的JavaScript社区建立关系所需的市场份额(尽管根据Stackoverflow的统计,Vue目前的知名度接近jquery)。因此,喜欢这些框架的开发人员在讨论时往往需要多说话。

这里还需要快速解释为什么这些框架不流行,特别是在许多方面,它们是功能齐全的系统。比如Ember可能是三者中最像框架的框架,但也存在性能、下载量最大、API占用空间最大、学习曲线最陡等一系列问题。

仔细想想,你会发现一个非常奇怪的现象:许多开发人员认为我们需要一个框架来编写JavaScript代码,但当有一个完整的框架时,我们更喜欢使用React等临时解决方案。鉴于此,也许我们应该重新评估我们是否真的需要框架。

ES6的前景。

以上是ES6发布的背景。ES6(又称ECMAScript2015)是JavaScript的最新版本。它改变了我们使用JavaScript的一些基本方法,并引入了社区多年来一直呼吁的许多新功能。

虽然你可能认为ES6的新闻发布会导致各种JavaScript框架被淘汰是荒谬的,因为ES6的变化只是语法调整,但我认为重点不仅限于语法变化。

这是因为框架提供的大部分额外功能都是出于同样的目的:通过改变语法,为JavaScript提供一些捷径。我们非常熟悉一些语法捷径,以至于我们把它们视为单独的功能,但实际上它们只是JavaScript现有做法的自动化。

我不想低估句法创新的作用。事实上,ES6的大部分新特性本质上是语法快捷,包括:

默认参数

模板字面量

多行字符串

解构赋值

增强对象字面量。

箭头函数

但这些功能之所以加速框架的淘汰,是因为只有框架支持它们才能进入JavaScript核心。因此,引入这些功能将减少对框架的需求。还有其他功能(包括promise和块作用域)标准化了我们使用框架实现需求的方式。以前使用不同框架的开发人员现在可以互相交流了。

此外,ES6的另外两个新特性标志着框架的终结,或者至少暂停JavaScript框架的发展。这两个新特征是实现类和函数的新方法。

山东济南汉码未来了解到,许多开发人员以面向对象为标准,因此多年来一直在JavaScript中实现对象。到目前为止,我们一直在使用框架和自己开发的解决方案,因为ES5的使用非常痛苦。其实我一直很不解这一点,因为ES5支持类很明显,关键词CLASS是保留字。

这引起了很多争议。每个人都会选择自己喜欢的框架来创建面向对象的界面。除作者本人外,很难与他人合作,也不能合作。

现在有了ES6,我们终于有了标准化的处理方法。ES6类使用原型,而不是函数工厂方法。如果我们有一个basemodel,我们可以定义一个结构函数和一个getName()方法。

模块

模块的情况也大致相似。事实上,当发现ES5默认不支持原始模块时,许多开发人员感到非常惊讶。只是我们习惯了使用AMD、RequireJS、CommonJS等工具实现的灵活方法,以至于忘记了这些都不属于JavaScript。

现在有了ES6,我们可以使用简单的import和export命令处理模块。至少有些人会在某些情况下使用这种方法,但有些人可能会再次关注框架,因为ES6引入模块的方法真的很混乱。ES6不采用Node.js处理模块,但很多人更喜欢。


以上就是汉码未来给大家分享的文章,希望对小伙伴们有所帮助,想要了解更多ES6发布,是否会导致JavaScript被淘汰相关内容的小伙伴可以登录汉码未来官网咨询,主打5人小班,全程面授,主打Java开发,web前端开发等课程,有专业的授课老师为你答疑解惑。

    

分享到:



【免责声明】由于政策等各方面情况的不断调整与变化,本网站所提供的信息仅供参考,请以权威部门公布的正式信息为准。本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。 删除,请联系客服。
为什么选择汉码未来