jQuery VS AngularJS 你更钟爱哪个?

在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQuery VS AngularJS?

今天我不会仅仅只是解释两者的差异和列举两种技术的功能特点,我还会尽量解答一些相关的问题和概念。例如:

什么时候使用jQuery/AngularJS?

怎样避免在jQuery样式中使用AngularJS 的常见错误?

从开发人员的角度作代码比较

我们能否和AngularJS一起,或在AngularJS的内部使用jQuery?

jQuery

jQuery是一个轻量级的,功能丰富的JavaScript库,它可以帮助web开发人员通过使用JavaScript来简化客户端脚本对web应用程序的使用。它可以广泛地简化在网站上使用JavaScript,既轻巧又快速。

因此,使用jQuery,我们可以:

方便操纵网页内容

应用样式使UI更具吸引力

简单的DOM遍历

效果和动画

让执行AJAX调用和运行公用程式变得更简单

等等

正如前面提到的,jQuery是一个JavaScript库,所以我们可以在应用程序中部分/全部地使用这个库来实现它提供的单个或多个功能(如上 所列)。例如,我们可以在应用程序中只使用jQuery库生成一定的效果和动画,可以只执行基于AJAX的调用,也可以使用以上列出的所有功能。就像一个 插件一样。

AngularJS

AngularJS是出自于搜索引擎巨头谷歌的一个产品,并且是一个基于MVC的开源框架(被认为是最好的和唯一的下一代架构)。AngularJS是构建高度丰富的客户端web应用程序的强大工具。

作为一个框架,它决定了我们必须遵循一些规则和结构化的方法。这不只是一个JavaScript库,也是一个完美设计的框架(框架工具以一种真正互联的方式一起工作)。

在功能方面,jQuery VS AngularJS的话,AngularJS能提供更多的功能:

双向数据绑定

REST友好

基于MVC的模式

深层链接

模板

表单验证

依赖注入

本地化

完整的测试环境

服务器通信

注:想要获得有关MVC的更多详细信息,请点击这里。

什么时候使用jQuery或AngularJS?

在大多数情况下,我们无法在应用程序开发中理解这些技术的真正价值。AngularJS最适合于开发web应用程序,因为它工作在HTML代码和JSON数据上,有助于开发互动性和强大的应用程序,但如果是一个简单的网站,那么就会导致一个加载速度慢和相当不稳定的网站。

虽然jQuery是一个快速,功能丰富的语言,有一个可圈可点的JavaScript库,和一个很棒的能够创建功能丰富的网站的工具。它还有内置的 功能,如HTML文档遍历,事件处理,操作,动画和Ajax支持,以及其他能让开发核心网站变得更容易和更简单的功能。因此在使用这些高度直观又强大的语 言之前,有必要构建一个开发高级web应用程序或网站开发的完善的方法。

不要在jQuery样式中使用AngularJS

jQuery有大量的插件存在,因此更方便开发人员在网站上插入这些插件,让它们乖乖办事。另一方面,AngularJS因为其完全不同的结构,使 得它很难找到也很难创建一个简单地放置在网站上就能运作良好的插件。不过,AngularJS有jqLite,jqLit具备了jQuery的功能,可以 用于开发不同的插件,以满足每个网站的需要,避开开发或修补旧插件的代码然后嵌入到网站上。

代码比较

从开发人员的角度代码的比较结果如下:

我们能否和AngularJS一起,或在AngularJS的内部使用jQuery?

在某些情况下,我们可能需要AngularJS应用程序使用jQuery库。现在,AngularJS可以在应用程序中使用jQuery,当应用程序自展的时候。否则,Angular将使用自带的jQuery的子集工具,也就是我们在上面提到的jqLite。

最后的思考

在比较AngularJS VS jQuery的同时,我们应该要理解的是,两者既不能完全取代对方,也不是相互竞争的关系。jQuery最适合DOM操作,而AngularJS适合于 web应用程序的开发。所以,如果你想开发强大的应用程序,那么选择AngularJS,如果想增加更多的功能,并在网站上执行DOM操作的话,那么使用 jQuery。

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..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 翻译,

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。