本文选自《开发者头条》1 月 7 日最受欢迎文章 Top 3,感谢作者 @WEB资源网 分享。

欢迎分享:http://toutiao.io/contribute

这是一个发布在 Quora 上的问题,提问者是一名Java转JavaScript的程序员,他想了解现在学习哪种技术更好:Angular、jQuery还是Node.js?其中 Mattias Petter Johansson (一名 Spotify 的开发人员) 的回答获得了2k+的赞同,分享给大家。

以下为译文:

欢迎来到前端的世界,Java程序员。

与其他语言相比,JavaScript社区的有些人员就像更换袜子一样经常更换方法、框架、构建系统甚至虚拟机。因此,更重要的是了解这个语言本身的基本特性,而不是学习一个特定的框架。如果你在某项技术中投入过多的话,那么你就会进入一个受伤的世界。

幸运的是,与其他语言相比,JavaScript是一门比较小的语言,所以你可以快速的掌握它。我经常推荐人们从《JavaScript: The Good Parts》这本书开始,这本书虽然有些年头了,但由于JavaScript的开放性标准以及语言本身变化缓慢,它还是适用的。

总得来说,下面这些都是JavaScript社区中比较火的内容(列表可能有些偏向):

  • React 和 Flux 是比较火的新兴事物(尤其是刚刚发布的React Native,由Facebook开发并在使用,非常棒)。

  • Angular(有些年头,但很流行,由Google开发),目前有两个非常不同的主流版本,所以我选择暂时不选用它们,直到尘埃落定。

  • Backbone 是一个适用于处理客户端东西的比较好但有点老的MVC框架。

  • Node.js 和 io.js。它们是同一种东西,只不过 io.js 是最新的一个分支。可以参考hudson/jenkins的分离。现在可以使用Node.js,而 io.js 有可能会最终胜出。

  • npm 是JavaScript主要的包管理器,它包含了一切的模块。另外还有jspm 和bower。jspm非常棒,但是太新了,而bower过于笨重,应避免使用(参考:为什么已经有npm了还要使用bower)。

  • Browserify非常棒,它允许你在浏览器中使用npm模块,而不仅仅是在服务器端。

  • Gulp 和 Grunt是构建系统,其中Gulp比较新,但很成熟,你应当使用它。

  • express.js–如果你想建立服务器端的东西,你可能会需要它。

  • Meteor 是一个超级未来但非常酷的全栈框架,与其他所有人的方式都不同,它非常流行,你应当尝试一下。

  • jQuery 对于 JavaScript就相当于WordPress对于PHP来说一样。每个人都会用,并想用它做一些东西。jQuery 对于DOM操作是非常好的,除此之外,不要使用它。

  • 学习一些函数式编程,这是我能确保你不再回到Java的最佳途径。可以参考我的回答:What is a simple explanation of higher order functions and callbacks in JavaScript?

我知道,这一切都会让人感到不知所措,并且这种感觉不会真正的消失,只需要拥抱它,深呼吸,Wooooo!

本文由 Specs 翻译整理,发布在 WEB资源网,转载请注明来源。

现在学习 JavaScript 的哪种技术更好:Angular、jQuery 还是 Node.js?(转)的更多相关文章

  1. 零基础:如何快速学习JavaScript,html+css技术

    前端开发要学的知识内容涉及的会很宽泛,虽然说主要是HTML.CSS和JavaScript这些基础知识点,但达妹今天想强调一下,学前端开发除了要学这些基础知识外,学员还要在这之上进行延伸和深入的去学,而 ...

  2. 更快学习 JavaScript 的 6 个思维技巧

    更快学习 JavaScript 的 6 个思维技巧 我们在学习JavaScript,或其他任何编码技能的时候,往往是因为这些拦路虎而裹足不前: 有些概念可能会造成混淆,尤其当你是从其他语言转过来的时候 ...

  3. 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式

    今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式 jquery中的serialize() 方法 该方法通过序列化表单值,创建 URL 编码文本字符串 序列化的值可在 ...

  4. JavaScript简明教程之Node.js

    Node.js是目前非常火热的技术,但是它的诞生经历却很奇特. 众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准. 后来,微软通 ...

  5. 【灵魂拷问】你为什么要来学习Node.js呢?

    [灵魂拷问]你为什么要来学习Node.js呢? 学习node.js适合的人群: 需要必备一些HTML,CSS,JavaScript及编程有一定程度了解的读者阅读,一些简单的命令行操作,具备服务端开发经 ...

  6. node.js 使用 UglifyJS2 高效率压缩 javascript 文件

    UglifyJS2 这个工具使用很长时间了,但之前都是在 gulp 自动构建 时用到了 UglifyJS 算法进行压缩. 最近玩了一下 UglifyJS2 ,做了一个 在线压缩javascript工具 ...

  7. 初学者的Node.js学习历程

    废话篇: 对于我这个新手的不能再白菜的人来说,nodejs的大名都有耳闻,所以说他是一项不可不克服的技能也是可以说的.但是之前没有搞清楚的情况之下胡乱的猜测,是的我对node.js没有一个具体的概念的 ...

  8. 如何理解Node.js和JavaScript的关系

    一.Javascript的引擎 浏览器一般有两个引擎,一个是Html引擎,一个是脚本引擎. JavaScript是一种脚本语言,最初用于浏览器的动态显示,方便操作页面数据和内容.但实际上,它也可以在浏 ...

  9. node js学习(一)

    1.简介 JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷 ...

随机推荐

  1. Vue项目在Docker的自动化部署

    操作系统:CentOS 部署环境:Docker CI/CD工具:Jenkins 1.环境配置 安装Jenkins:Centos安装Jenkins 安装Docker:Centos安装Git.DotNet ...

  2. DOM节点克隆

    var newDiv = red.cloneNode();document.body.appendChild(newDiv);注意:1.默认只克隆元素本身:设置参数为true,进行深度克隆,可以克隆元 ...

  3. 基础回顾: 关于Session的一些细节

    1 session是服务端技术, cookie是客户端技术 2 默认情况下, 一个浏览器独占一个session对象, 也就是说, 开启两个浏览器进程, 它们之间使用的session不是同一个sessi ...

  4. 通过真值树解析布尔表达式(eg:A&B|C)

    第一步:求出一个表达式的truth tree 1.生成真值表 2.根据真值表生成真值树(合并短路产生相同的两个子树) /**************************************** ...

  5. RabbitMQ 五种工作模式

    官网介绍:https://www.rabbitmq.com/getstarted.html 五种工作模式的主要特点 简单模式:一个生产者,一个消费者 work模式:一个生产者,多个消费者,每个消费者获 ...

  6. 【转帖】WebRTC回声抵消模块简要分析

    webrtc 的回声抵消(aec.aecm)算法主要包括以下几个重要模块:回声时延估计:NLMS(归一化最小均方自适应算法):NLP(非线性滤波):CNG(舒适噪声产生).一般经典aec算法还应包括双 ...

  7. java当拿到一个项目后该怎么看的一些个人见解(附带快捷键)

    刚出来实习,BOSS让我用maven下载架包后进行修改. 刚开始拿到项目两眼一黑,完全不知道该怎么下手.想找server层,完全不知道在那么多架包那里开始弄. 这个时候首先要明确你要修改的位置,找到这 ...

  8. C++ const修饰不同类型的用法

    const取自constant的缩写,本意是不变的,不易改变的意思 一.修饰普通变量 const int a = 7; int b = a;         //正确 a = 8;           ...

  9. Acer电脑【no bootable device】引导修复

    时隔一年,又遇上了我的电脑出现     No Bootable Device    的开机提示,进不了系统. 那么怎么办呢? // 本文修复方式仅针对宏碁电脑且分区表为MBR的情况.按如下方法引导并未 ...

  10. shell脚本实现读取一个文件中的某一列,并进行循环处理

    shell脚本实现读取一个文件中的某一列,并进行循环处理 1) for循环 #!bin/bash if [ ! -f "userlist.txt" ]; then echo &qu ...