这期内容当中小编将会给大家带来有关JavaScript的未来在哪呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联成立于2013年,是专业互联网技术服务公司,拥有项目成都网站建设、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元汕头做网站,已为上家服务,为汕头各地企业和个人服务,联系电话:18982081108
作为一个见证了过去17年编程语言发展的软件开发者,笔者试图在本文中对JavaScript进行一些预测。
如今,JavaScript无处不在,不仅仅应用在前端(浏览器)和后端(Node和Deno),也包括手机、电脑桌面软件,甚至两者的混合应用。它已经成为2020年求职人最想拥有的工作技能之一(根据StackOverflow的开发者调查)。
但为何会如此呢?这对JavaScript的未来又意味着什么?JavaScript的发展是否会顺风顺水?未来会不会有一个更新更好的语言诞生,从而推翻JavaScript无所不能的地位?本文将探讨一下这些可能性。
是什么让JavaScript如此受欢迎?
不管你是喜欢还是讨厌,JavaScript的流行都是毋庸置疑的。根据TIOBE的流行指数,在排名前十的语言中,JavaScript目前排在第七位。
这些不是随机数字或有偏见的民意调查,这些数据可以分析出我们的市场,对全球数以百万计的开发者进行调查,一切都在表明JavaScript是2020年的热门语言之一,对此你怎么看?
当然,这个问题可能有很多不同的答案,主要取决于你在挑选编程语言时看重什么,这是我的看法:
背后有一个庞大的社区。
围绕着这样一个事实,发生了许多有趣的故事:JavaScript外部框架可能比实际开发者使用的更多。虽然这可能是一个夸张的说法(注意笔者这里说的是 "可能"),但这源于一个事实,那就是我们有这么多的人,试图让这门语言成为我们自己的语言,此举贡献巨大。这并不是一件坏事,证明了这是一个充满生命力并不断尝试发展的社区。
当笔者不得不使用其他语言时,非常怀念的一件事是,人们可以从原社区中获得大量的支持和帮助。这绝对是一个进步的标志,此举还有待完善,并有望在未来取得更多的成就。
适当的发展方式。
撇开框架和库不谈,语言本身也在不断发展。不过值得庆幸的是,这种改变并不是由一个实体控制的。
要澄清一下:虽然JavaScript本身(这个术语)是由Oracle所拥有的,但这门语言是要遵循ECMAScript的规范。而这些规范其实是由社区本身间接控制的,并由TC39委员会来监管和组织。
通过考虑所有不同的建议以发展语言,并不断运行直到语言足够成熟。之后,如果想保持兼容的话,就由例行程序来实现这些更新,而且此后浏览器之间还存在纷争。
作为一个开发者,必须努力保持在兼容性和标准的范围内,因为你更希望你的代码能跨浏览器兼容。现在情况已经不是这样了,所有的例行程序都在努力跟上ECMAScript的最新版本。
· 一个生机勃勃的生态系统。
这与第一点很像。有更多的前端框架可以尝试,没必要去学习所有的框架。每天仅NPM中分享的模块就数以百万计。
这给刚开始尝试该编程语言的人制造了很多麻烦,但同时也吸引了更多的人加入,不同的框架和模块最终都会达成同一件事,只是方式不同而已。而这些不同的方式有助于引起更多个人开发者的共鸣。毕竟,React、Vue和Angular都能帮助开发者创建同样的APP,只需要选择自己喜欢的那一款即可。
那么,综合几年前的情况以及它的发展历程,你如何看待JavaScript的未来?
这绝对是一个很难回答的问题,先看看笔者的想法。
近期变化
在过去的几年里,这门语言正在不断发展。如果你是JavaScript的新手,也许还没有注意到,从ECMAScript 第5版到第6版有一个质的飞跃,在未来的版本中应该也会发生许多改动。如果它继续保持现在的路径和发展速度的话,笔者认为不久之后它可能会这样……
作为目标语言的JavaScript
即使JavaScript拥有令人惊叹的社区,为开发者提供工具和框架做了大量工作,却仍然有很大一部分人没有理由地讨厌JavaScript。
是的,没看错,确实有人讨厌它,或者至少不喜欢它的大块头,认为自己可以把它做得更好。于是,就有了CoffeeScript和后来的Dart以及现在的TypeScript这样的项目。
这并不是坏事,事实上,这是一个非常好的机会,让JavaScript不仅可以直接被全世界的开发者广泛使用,还可以成为很多transpiler创造者的目标语言,试图给开发者提供其他选择。
本质上,这场运动将为JavaScript打开大门,通向一个不同的浩瀚宇宙。自从Node.js进入市场并流行以来,JavaScript不再是 “前端语言”,允许公司简化他们的技术堆栈去形成一个跨领域的单一语言。
想一想,如果你也能用Python或Ruby做到这一点,会发生什么?这并不是多么疯狂的想法,过去已经有项目试图实现它,我们可能只是需要更多的时间。
前端开发的问题(笔者认为这是唯一的问题)是,你需要学习JavaScript才能进行工作。这与后端世界完全相反。目前,浏览器只允许一种语言为王,那就是JavaScript,如果想要更多的语言,就必须把你的代码编译(或者说是移植)成JavaScript。
当然,还有WebAssembly,如果他们有更多的能力去访问其他领域,如DOM,它很可能会取代JavaScript。但现在它只能在一个非常狭窄的领域发挥作用:前端的大量计算。这是一个性能工具,而不是一个完全独立的前端开发环境。
演变的例子
JavaScript发展到现在的另一个方式是通过社区开发的框架看到社区的需求。如果你已经使用JavaScript有一段时间了,特别是从ECMAScript 5开始,你可能会记得lodash和underscore等库。
对项目来讲,这些库都是必要的,因为它们为语言增加了额外的功能,如map、some、find、reduce、get、set、merge等方法。虽然在最近的更新中,有些功能已经渗透进语言本身,但这些库依旧有存在的必要性。
比如ECMAScript 6,增加了很多数组方法,给编程算法带来了相当大的提升。可选链使得 get 方法被淘汰,或者说几乎被淘汰。传播操作符也几乎淘汰了merge 方法,而这个列表还在继续更新。一个功能越是流行,TC39委员会就越会尝试将其纳入到语言中。
另一个明显的例子是如何引入类。JavaScript试图在一个面向使用者的世界中保持初心,但它失败了。要么是因为没有足够的拥护者,要么是因为没有正确的文档化。但是有那么多的开发者试图强行在上层建立一个OOP模型,于是最终在上层添加了一个薄薄的OOP层。
起初这很浮于表面,但随着不久之后私有字段的加入,它正在慢慢演变成一个更成熟的模型。道阻且长,这只是语言演变的一个例子,说明这门语言是如何发展的,尽管违背了它的初衷,但开发者社区的力量在支持它。
最后一个新增的框架是Svelte框架,它试图将反应性的概念带入语言本身,不像其他框架,比如React,它反而试图为开发者提供工作方法,将JavaScript还没有准备好的概念强加给他们。
使用Svelte框架,可以编写这样的代码:
<script> let count =0; functionhandleClick() { count +=1; } </script> <buttonon:click={handleClick}> Clicked {count} {count ===1?'time':'times'} </button>
有一个按钮,点它标签值就会更新。当然,目前这需要编译成实际的JavaScript,你估计需要多长时间才能将类似的例子吸收到合适的ECMAScript规范中?
上述就是小编为大家分享的JavaScript的未来在哪呢了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
当前标题:JavaScript的未来在哪呢
网页路径:https://www.cdcxhl.com/article30/poeiso.html
成都网站建设公司_创新互联,为您提供移动网站建设、企业建站、静态网站、网站改版、建站公司、虚拟主机
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联