整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

JavaScript 已被淘汰?

JavaScript 已被淘汰?

者 | Yanique Andre

译者 | Arvin,责编 | 屠敏

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

以下为译文:

JavaScript被淘汰了吗?

我在许多不同的网站(最近是在Quora)上多次阅读到这个问题,我一直在想这是不是真的。我在2018年才开始web开发,所以我不了解JavaScript的历史,也不了解它在开发领域的现状。

因此,我进行了一些研究去了解JavaScript的过去和现在,我发现的结果相当令人震惊。

我们曾经认识的JavaScript确实已经死了。

自1995年首次建立JavaScript以来,JavaScript一直存在很多问题。尽管进行了一些更新,但许多主要问题仍然没有得到解决。

JavaScript的一些问题包括:

  • 缺少模块系统

  • 弱类型

  • 高度依赖全局变量

  • 由于语法的原因很难找到错误

在过去的十年中,用该语言很难创建框架。AngularJS最初是基于JavaScript的框架,直到遇到扩展框架的问题,所以他们决定使用TypeScript(JavaScript的一种变体)重新编码整个框架,并将其重命名为Angular。

人们对JavaScript的兴趣似乎也在下降。通过查看过去5年“JavaScript”一词在google上的搜索频度,似乎也能看到这门语言正在慢慢走向衰落。

这意味着什么呢?JavaScript真的要死了吗?

我当时也这么想。当我在2018年第一次学习JavaScript时,JavaScript已扩展为不仅仅面向客户端应用程序,已经扩展出许多涉及应用程序不同周期的框架。

基于js的框架包括下面这些:

  • 前端应用程序(Angular,React,Vue.js)

  • 后端应用程序(Node.js,Express.js,Meteor.js)

  • Android / iOS(React Native,NativeScript,Ionic)

  • 机器学习(TensorFlow)

您可以在这里找到JavaScript库的完整列表:https://en.wikipedia.org/wiki/List_of_JavaScript_libraries

上面列表中的大部分JavaScript库是在过去10年中创建的。这些库有很多社区支持,并保持步调一致的更新(Angular平均每6个月更新一次)。开发人员对这些库进行了大量修改(尤其是前端框架),并在保持JavaScript的相关性方面发挥了巨大作用。

这也可以解释为什么上面显示的谷歌趋势图是向下的。对术语“JavaScript”的实际搜索呈下降趋势,但对JavaScript库的搜索呈上升趋势。

随着JavaScript库的兴起,也有越来越多的用户提出与这些库有关的问题。StackOverflow趋势记录了他们的问题与某个标签相关的百分比。看看在过去的十年中有多少关于JavaScript的问题:

这解决了涉及JavaScript的问题,

但是否解决了这门语言本身的问题呢?

多年来,人们对JavaScript的抱怨主要集中在其糟糕的语言特性上。值得庆幸的是,我们正在看到一个旧标准的复苏,这有助于使语言更加具体和有效。

ECMAScript是一种编程语言,根据Ecma International创建的ECMA-262文档进行标准化。该文档包含JavaScript作为编程语言必须遵循的标准列表。

ECMAScript创建于1997年,从1997年到2011年仅进行了5次更新。这使JavaScript在21世纪的前十年一直保持着陈旧和过时的标准。直到2015年ECMAScript 6发行,这是对JavaScript的重大更改,允许许多类似的库对其进行修改。

自此ECMAScript已发布了5个版本,从2015年到2020年每年发布1个版本,并且现在还没有停止。随着发布版本步调的一致性,JavaScript开始不断接收更新,变得更加健壮、高效,并且适应性更强。

说了这么多,JavaScript真的死了吗?

有些人会怀疑现在开始学习是否为时已晚。正确的答案是JavaScript从未像现在这样活跃。

随着对该语言的贡献和支持达到前所未有的高度,学习该语言对开发者来说将是一笔巨大的财富。因为有如此多的库可以选择,你可以只使用JavaScript框架组成整个堆栈。

要求开发人员具有React和Angular经验的公司数量正在大幅增加,并且没有放缓的趋势。

我建议你花些时间学习JavaScript。无论你打算从事该行业还是只是想学习它,我认为将来需要在应用程序中使用JavaScript的地方有很多。该语言将被用在越来越多的框架中。它是未来的趋势,而且发展得很快。

原文:https://medium.com/dev-genius/is-javascript-development-dying-1dbce0094fc0

本文为 CSDN 翻译,转载请注明来源出处。

ava Javascript 都最适合它们的使用,并且两者也有相对不同的地方。

Java通常是:

一种强大的计算机编程语言。

它是构建软件应用程序的独立计算平台。

它将每个项目视为对象和类。

Java .class 扩展名编译字节码。

JavaScript 是:

一种轻量级的动态计算机编程语言。

它易于使用而不是用户友好。

Javascript 用于使网页更具吸引力。

也称为脚本语言。

Java Javascript 都是不同类型的应用程序。

JAVA JAVASCRIPT 之间的基本组件,有一些基本组件使 java javascript 彼此不同。

对象:

Java中,对象只是基于类并以.class扩展名编译其文件,而且,它永远不会在不创建类的情况下制作任何程序,其次,Javascript 基于原型,原型也扩展为prototype.js


语言:

Java 是一种强大、安全和静态的编程语言,而 Javascript 是一种动态、轻量且易于使用的高级编程语言。

平台:

Java 有一个独立的平台,Java 应用程序只运行在 JVM 上,而不是 Javascript 开发的浏览器,即使它的代码也只运行在浏览器上。

记忆:

与此相比,JAVA 具有高文件使用设备的大量存储空间,Javascript 不使用太多内存,并且将其文件存储在比 java 更小的空间中。

编译和解释:

Java 既可以编译也可以解释其数据,而 Javascript 只解释该语言。

并发:

在并发方面,Java 中有两个基本术语基于线程的方法,其用法类似于拼接,而第二个术语,Javascript 中基于事件的方法,用于处理应用程序的更改。

移动应用:

Java 不仅支持 android,还支持 IOS 手机,另一方面,Javascript 意味着第三方使用。

这些是使 JAVA JAVASCRIPT 彼此不同以及两者用于不同用途的一些组件。


了解更多

tml5的流行近一两年,在国内主要是移动端和html5游戏的发展,国外也是最近纷纷使用html5,如谷歌,全面的停止flash的广告的投放量,用html5取代之,那么html5较html的区别在哪里了,下面就简单地谈谈,列举了13条区别。

1.html5和html的概念

我们现在web前端开发的静态网页,一般都是html4.0。同时是符合W3C的xhtml1.0规范来的。HTML4已经10多年了,不会有任何改变了。

html5的定义比较长,就说简单和好理解点,可以简单点理解成:HTML 5 ≈ HTML4.0+CSS3+JS+API 。首先要注意的是,HTML5虽然现在很火,但是HTML5标准还在制定中,标准仍在改变。

2.在文档类型声明上的不同

html显得格外冗长,在大多数人书写代码,都是靠编辑工具自动生成。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

html5却是不同,只有简简单单的声明,这也方便人们的记忆,更加精简。
<!DOCTYPE html>

3.在结构语义上

html4.0:没有体现结构语义化的标签,我们通常都是这样来命名的

<div id="header"></div>

这样表示网站的头部。

html5:在语义上却有很大的优势。提供了一些新的html5标签,比如:<header><nav ><article><aside><footer>

4. 简化的语法

HTML5简化了很多细微的语法,例如doctype的声明,你只需要写<!doctype html>就行了。HTML5与HTML5,XHTML1兼容,但是与SGML不兼容。

5. <canvas>标签替代Flash

Flash给很多Web开发者带来了麻烦,要在网页上播放Flash需要一堆代码和插件。<canvas>标签使得开发者只要使用一个标签就 能和用户产生UI交互。虽然目前<canvas>标签还不能实现Flash的所有功能,但是很快<canvas>就会让 Flash看起来老土,哈哈!

6. 新增 <header> 和 <footer> 标签

HTML5设计的一个原则是更好的体现网站的语义性,所以增加了<header>和<footer>这样的标签,用来明确表示网页的结构。

7. 新增 <section> 和 <article> 标签

与<header>, <footer>类似,<section>和<article>也有利于清晰化网页的结构,更有利于SEO。

8. 新增 <menu> 和 <figure> 标签

<menu>可以被用于创建传统的菜单,也可以用于工具栏和上下文菜单。<figure>标签使得网页文字和图片的排版更专业。

9. 新增 <audio> 和 <video> 标签

这两个标签可能是HTML5里面最有用的两个标签了。顾名思义,这两个标签是用来播放音频和视频的。

可能在html4.0的时候,我们想要插入一段视频,还需要引用一长段的代码。但是在html5的情况下。我们只需要用于一个video标签即可。

<video src - "视频地址" ></wideo>

提供这样的标签有什么样的好处呢?

第一:节省程序员写代码的时间。

第二:我觉得最主要还是在SEO的优化上。

不管是我们自己来对网页模块命名,还是有这样的标签。因为做网站最终的目的只有一个,那就是盈利。想盈利的话,就只有通过SEO优化的技术,把你网站排名做上来,这样你的网站才有价值,且正是这一点,html5符合了这一点。为什么这么说呢?因为他定义的这些标签,更加有利于优化,蜘蛛能识别你。

10. 全新的表单

HTML5对 <form> 和 <forminput> 标签进行了大量修改,添加了很多新的属性,也修改了很多属性。

11. 删除 <b> 和 <font> 标签

这个改进我还无法理解。我不认为删除这两个标签对代码的改进有很大的帮助。官方的解释是应该用CSS来替代这两个标签。但我还是觉得对于简单的文本,这两个标签还是很方便的。

12. 删除 <frame>, <center>, <big> 标签

我已经记不得上次是什么时候使用这些标签了。

13. 强大的绘图功能

可能有些动画,或者图片,在html5可以通过强大的绘画功能,加上JS可以实现。而在html4.0却不行。

在HTML5中,有两个东西,是可以进行绘图的,我们一起来看看是哪两个神奇的玩意。

1.Canvas标签

Canvas 通过 JavaScript 来绘制 2D 图形,Canvas 是逐像素进行渲染的。

在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

SVG

SVG 是一种使用 XML 描述 2D 图形的语言,SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:

(1)SVG 图像可通过文本编辑器来创建和修改

(2)SVG 图像可被搜索、索引、脚本化或压缩

(3)SVG 是可伸缩的

(4)SVG 图像可在任何的分辨率下被高质量地打印

(5)SVG 可在图像质量不下降的情况下被放大

那么都两者都可以用于绘图,我们一起来看看他们之间有何区别:

Canvas

1.依赖分辨率

2.不支持事件处理器

3.弱的文本渲染能力

4.能够以 .png 或 .jpg 格式保存结果图像

5.最适合图像密集型的游戏,其中的许多对象会被频繁重绘

SVG

1.不依赖分辨率

2.支持事件处理器

3.最适合带有大型渲染区域的应用程序(比如谷歌地图)

4.复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)

5.不适合游戏应用

html5和html的区别甚多,就不在一一列举了。

切图网(qietu.com)是一家专门从事web前端开发的公司,专注we前端开发,关注用户体验,欢迎订阅微信公众号:qietuwang