阅读更多

2顶
0踩

编程语言

转载新闻 JavaScript高手的资源装备

2015-01-07 15:01 by 正式编辑 cao345657340 评论(3) 有10181人浏览

去年我写了篇文章,推荐一些JavaScript进阶学习的资源。互联网世界在这一年时间里发生了翻天覆地的变化,我想现在是个更新资料的好时机。JavaScript在过去的一年不断发展,不仅仅是浏览器中JS的应用,在服务器端也有了JS的身影。所以现在让我们来更新一下这份资源清单吧。

 

书籍

 

随着JS的普及,大家能获取到的JS书籍实在太多了,但是在我看来只有很少一部分JS书籍可以提供够新够有意思的内容。以下是我看过之后,觉得很值得推荐给大家的:

 

JavaScript高级程序设计 作者: Nicholas Zakas

 

除了Nicolas写的这本之外,我从未见过另一本能将JavaScript这门语言陈述地如此好,所以《JavaScript高级程序设计》依然在必读清单上。正如我之前说过的,不管是初学者还是就想查查API的开发者,都可以从这本书中找到所需要的东西。这一版尚未将ES6的内容包含进来,不过我觉得下一版估计会写到了。

 

JavaScript设计模式 作者:Addy Osmani

 

使用好的设计模式来编写可维护性高的代码是无可争议的。但是找到一个可以实操设计模式的场景却是一个挑战。互联网世界里噪音太多,如果能让对某个领域真正有所了解的人能够发表他对那个领域的看法那就太好了。这也是我推荐这本书的原因。Addy不仅仅是一位很优秀的作家,他还是最出色的前端开发者之一,现在任职于Google Chrome团队,他的工作内容就是成天和JS打交道。这本书可以说是他的工作成果的导出。

最棒的一点是,这本书是执有知识共享许可(Creative Commons license)的,也就是说你既可以阅读它的免费电子版,也可以购买纸质版。

 

JavaScript面向对象编程原理 作者:Nicholas Zakas

 

JS开发者无法避免的问题之一就是JS面向对象编程。JS并不是一个传统的基于类(class)的语言,不像Java或者C#那样在设计之初就要兼顾到代码封装的问题。Nicholas又一次写了本简明扼要的书来谈JS的面向对象问题。不过这本书并不适合初学者,它是为了对JS有了自己理解的开发者或者/和对面向对象编程有所思考开发者。尽管如此,这本书还是应该加入你的书单里。

 

DOM Enlightenment 作者:Cody Lindley

 

在基于浏览器开发中,如果你想要做点有用的事情,就不要局限在操作DOM中。不要使用像jQuery这样操作DOM的库,实际去理解DOM是如何工作的是很有用的。Cody这本书就是教授如何使用原生的JS来操作DOM元素。这本书可以算是一本cookbook,你不需要跟着目录学习,可以直接看特定的章节。这本书也提供了免费线上版,或者你也可以买一本纸质本。

 

Node.js In Action 多名作者

 

基于Node.js的服务端应用已经在业内的顶尖公司得以广泛应用,PayPal已经将Node.js完全融入了他们的生产系统之中。这项在两年前的JSConf上初露端倪的技术,现在已经发展成为一项服务端技术,使得前后端语言得以统一。通过阅读这本书,你的Node.js水平可以得以提高,本书是由业界最出色的一些开发者共同完成编写的。其中一位作者T.J.Holowaychuk是Node.js框架Express的作者。如果你想要学习Node.js,就用这本书吧。

 

Third-Party JavaScript 作者:Ben Vinegar和Anton Kovalyov

 

现在我们访问的网站通常都会有一些内嵌的脚本,这些脚本可以提供给用户各式各样的交互。登录按钮、社交媒体部件或者一些分析,这些第三方脚本可以增加你的站点的吸引力。你是否想要知道使用这些脚本的细节呢?《Third-party JavaScript》是我所能找到的唯一一本讲到了关于内嵌脚本的使用的书。用第三方脚本让你的站点变得有趣,提高可用性。Ben现在在Disqus工作,Anton则是在Mozilla但是他同时也是Disqus团队的一员。Disqus为他们的客户提供了非常相似的服务,允许客户将多功能的评论功能内嵌入他们的站点中。这两位可以说是使用第三方JavaScript的专家。

 

博客

 

在过去的一年里,我仔细审查了自己的blog收藏清单,做了一些调整以便更好的接收JS方面的知识。以下是我认为可以提供给开发者最好的JS知识的博客:

 

2ality

 

Axel Rauschmayer博士希望能将JS语言分成好理解的模块,他的博文很明显地是在讨论这门语言的某些使用方式,解释JS的原理和它的要点。你能从他的博文中学到很多。

 

DailyJS

 

DailyJS依然榜上有名,它将框架和代码片段相结合,让读者知道时下最新的框架是什么,以及如何使用它们。

 

Nicholas Zakas

 

上文有提到Nicholas写的两本书,他的博客同样在榜。在Nicholas的博客中你可以看到他深入研究的东西,也能看到他关于ES6的简介和demo。

 

JavaScript Weekly

 

新兴事物来来去去,我很高兴还能推荐JS Weekly给各位。Peter Cooper不仅保持着每周推送,质量也一如既往地好。

(译注:JS 英文周刊,伯乐头条 JavaScript 话题一直在跟进摘编。)

 

Node Weekly

 

这是Peter Cooper的另一个周报项目,这个项目专注于Node.js。和JavaScript Weekly相似,阅读Node Weekly,做一个Node.js高手。

 

Addy Osmani

 

虽然Addy现在不再频繁地更新他的博客了,但是他写的文章非常之好以至于我依然决定将他的博客列入这份清单里。只要Addy保持写作,你一定不会失望的。

 

Ben Nadel

 

Ben是一个低调的开发者,他只想要做好他的工作,将他的经验分享给大家。关键在于他也是一个天才的开发者,写了许多关于JavaScript的优秀博文。Ben最近沉迷于AngularJS,他也将这个框架最大限度地使用在他的创业项目中,读者可以从他的博文中知道AngularJS在实际项目中的应用情况。

 

HTML5Rocks

 

别被这个名字给骗了,HTML5Rocks里说的不仅仅是HTML5,你还能在上面找到很多JavaScript的教程。你需要通过JavaScript最大限度地与HTML5结合,在上面你可以看到许多优秀的作者写的文章(包括Google Chrome 团队)。

 

SuperheroJS

 

一打开SuperheroJS,你就会被它的艺术感给震慑到。我总会想起Dick Tracy的漫画书。在这,你会沉浸在各种各样的JS技术当中。

 

Tuts+

 

我对Tuts+还是有偏爱的,Tuts上有许多超棒的作者贡献出超棒的内容。如果你不读一读Tuts+上的内容,恐怕不会感受到的。

 

书本之外

 

如果书和博客尚不能满足你的需求,你也想要写写代码,那现在有成千上万的(线上线下)课程可以选择:

Tuts+ Courses

 

构建JavaScript Web应用熟练使用Angular,从前端到全栈,Tuts+的课程日益增多,相信总有一款满足你。

 

Khan Academy’s Computer Programming Curriculum

 

jQuery的作者John Resig在可汗学院(Khan Academy)担任计算机科学专业的院长,可以确定他的教课计划中会有很多的JS内容。虽然现在课程还不是很多,但你还是可以从免费课程开始。

 

Codecademy

 

自从Codecademy采用了互动式的教学模式,并采用JS作为基础教学语言,它简直就是来了个大爆发。现在你可以在上面学到更多的语言,但是JS和jQuery依然是最推荐学习的,它们免费!

 

Nodeschool.io

 

这是个社区驱动的网站,你可以通过Nodeschool上的课程加快学习Node的速度。它还有一个特色就是在现实世界中也有由全球开发者维护的node学校。如果你想亲临现场,可以查看这份活动清单

 

JavaScript Jabber

 

如果你是个喜欢播客的人,JavaScript Jabber是为你准备的,JS Jabber时不时会邀请业内顶尖人物,讨论的也是热门话题。

 

寻求帮助

 

这份清单并没有变动很多,因为你也知道要找到靠谱的JS支持资源可不是一件容易的事。

 

JSMentors

 

我依然认为在JSMentors上你可以找到关于JS问题的最好的答案。这个社区有靠谱的规则来保证用户的体验,避免开发者受到糟糕的对待。当然SO提供了很棒的答案,但是你要很仔细的审查答案,SO上贡献者实在太多了,你要去关注那些高质量的答案。

 

结论

 

正如你所看到了,相比去年这份清单更改了许多地方,因为JS世界中多了许多新的可取的资源,还有一些新的影响因素在影响这个世界。最棒的一点就是,如果你是个JS开发者或者想要给这个世界做点什么,随着JS慢慢地成为了Web开发的通用语言,可以做的事情越来越多。

来自: 伯乐在线
2
0
评论 共 3 条 请登录后发表评论
3 楼 尘土飞扬 2015-01-14 10:04
JavaScript高级程序设计  这书真不错,透彻!一本学javascript真的就足够,绝佳入门!
2 楼 wchaowu 2015-01-08 11:27
dsjt 写道
大规模的JS工程用什么工具构建和管理???
那种压缩后4w多行的代码都是怎么编写测试管理的?


大规模的js应用,模块化,分类管理,代码编写测试主要看你的学的代码是否可测试,
构建工具可以用grunt,gulp,fis等工具
js交流欢迎关注我的微博 http://weibo.com/wchaowu 或github http://github.com/wchaowu
1 楼 dsjt 2015-01-07 20:18
大规模的JS工程用什么工具构建和管理???
那种压缩后4w多行的代码都是怎么编写测试管理的?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JavaScript 资源装备

    书籍 随着JS的普及,大家能获取到的JS书籍实在太多了,但是在我看来只有很少一部分JS...除了Nicolas写的这本之外,我从未见过另一本能将JavaScript这门语言陈述地如此好,所以《JavaScript高级程序设计》依然在必...

  • javascript高级程序设计第四版(javascript高级程序设计第四版)

    如何学习 JavaScript 先说说学js的条件 论条件,咱是文科生,大学专业工商管理,和计算机毛关系都没;有人说英语,读了四年大学,很遗憾,咱还四级没混过;就咱这条件都学得乐呵呵的,您还等啥。 当然学习JS也是有...

  • 这一年,这些书:2021年读书笔记

    未来人与人最大的区别,不是老板和员工的区别,不是资源、经验、能力的区别,而是影响力的区别。 如何打造自己的行业地位和影响力呢? 首先,未来我们必须具备两大核心能力:第一是演说能力,第二是写作能力。“能...

  • LinuxC++开发面试系列(五):玩转 VS Code

    最后,就是自己学习写插件或者适配插件,如果编辑器本身的功能和社区不能够完全满足需求,就可以自行定制,这个过程就像是成为了高手或者自成一派后,定制装备和功法,直到达到极限。 2、VS Code 学习指南 按照第一...

  • 3.4 学编程不拘于语言,学语言不限于平台——《逆袭大学》连载

    返回到【全文目录】 目录 3.4 学编程不拘于语言,学语言不限于平台 编程语言 软件和硬件——计算机要作为一个整体看待 语言的江湖 ...学什么语言,学了几门语言,这常常成为初学者最关心和最在意的一个问题。...

  • 冰山一角 管窥中国互联网的地下世界

     在理论上,目前对于黑客的定义存在着比较重大的误读,简单来说,这个源自美国计算机业界的舶来名词本意上是用来形容对计算机技术有着深入研究、捍卫自由共享的网络精神、偶尔会利用技术优势做做恶作剧的电脑高手。...

  • 钢七连实战C1-P1:js-python 学习路线

    一、学习资源:由基本功,成长为能做各种项目、解决各种问题的软件设计师、架构师。 高级JS--Vue框架 https://www.imooc.com/ 免费课,付费实战课 2480元,700人购买,学Vue框架 最终结课:TypeScript-------------...

  • 从装机体验消费类软件市场

    现在用TT,主要是有些网站支持chrome还是不太好,有些javascript运行不了就无法正常操作,只能换TT。chrome的预览视窗很好,因为大家平常最长的用的也不超过10个网站,每次都敲网站名就很累了,所以chrome改进一点点...

  • MongoDB从入门到高级的实战操作

    轻松支持TB-PB数量级 1.3 MongoDB的应用场景 从目前阿里云 MongoDB 云数据库上的用户看,MongoDB 的应用已经渗透到各个领域: 游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式...

  • 前端开发:如何写一手漂亮的 Vue

    Webpack 基于loader还可以实现大量高级功能,比如自动分块打包并按需加载、对图片资源引用的自动定位、根据图片大小决定是否用base64内联、开发时的模块热替换等等。当然 Vue 还具有其他若干令人击节赞叹的设计。 ...

  • 7000个源码批量下载

    7000个源码批量下载 < type="text/javascript" language="JavaScript">document.title="7000个源码批量下载 - "+document.title http://asp.lt263.com/soft/SaGuestBook.rar  安全天使字符界面留言本...

  • 程序员们,到了背起行囊的时候了!

    仅仅几个小时后,一个非常有经验的javascript高手就对它做了些修改(从我的方案中去除了对jQuery的依赖),提交了一个pull请求。这种感觉很神奇!  我说这些是要指明一个事实,你可以发现任何种类任何水平的开源...

  • 一百多篇热门经典计算文章 来自 11 个热门的技术类微信公众

    为了扩散本文收录的一百多篇热门经典计算文章,主页君也做回标题党。拿了板砖的童鞋,请往下... JavaScript, CSS 和 HTML5技术文章、工具资源、精选课程和Web技术领域热点资讯。 长按上面的二维码关注 ...

  • 老农的计算机笔记(四)关于编程语言

    LISP也是第一个函数式语言,它的精炼和强大被软件高手和黑客们公认(见《黑客与画家》),其精髓在于最接近数学与逻辑,以至于被麻省理工当做程序设计基础教材(《计算机程序的构造和解释》)。 这一年的...

  • 分针网—每日分享:如何写一手漂亮的 Vue

    基于loader还可以实现大量高级功能,比如自动分块打包并按需加载、对图片资源引用的自动定位、根据图片大小决定是否用base64内联、开发时的模块热替换等等。当然 Vue 还具有其他若干令人击节赞叹的设计,这些我们...

  • 7000个源码批量下载---复制来的

    type="text/javascript" language="JavaScript">document.title="7000个源码批量下载 - "+document.title http://asp.lt263.com/soft/SaGuestBook.rar安全天使字符界面留言本(SaGuestBook)htt...

  • 当下最强的 AI art 生成模型 Stable Diffusion 最全面介绍

    目录模型生成效果展示(prompt 全公开)如何注册 Stable Diffusion 使用SD(dreamstudio.ai )的收费标注如何SD 提供哪些参数可以设置如何使用种子来...SD 未来有哪些可期待的亮点附录:一些有用的资源从本月初开始...

  • node-v4.9.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • node-v4.8.4-linux-armv6l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • NBGLC3...NBGLC3...NSK系列产品说明书

    NSK NBGLC3... Caja de montaje Manual de instrucciones

Global site tag (gtag.js) - Google Analytics