离线下载
PDF版 ePub版

极客学院团队出品 · 更新于 2018-11-28 11:00:43

不懂 JavaScript?那你就不是一个 Web 开发者

01

文章翻译:张月
发表时间:2015 年 7 月 01 日
原文作者:MARIO CASCIARO
文章分类:web 开发

关于本文

什么是当下最流行的 Web 开发技术?作为一个 Web 开发者需要具备哪些技能?Web 开发未来发展如何?本文作者 MARIO CASCIARO 将一一为你阐释。

文章内容

MARIO CASCIARO 是一位软件工程师,同时也是一位对开放源码充满热情的技术领导者,在他近期成功出版 《Node.js Design Patterns》 这本书之后,我们联系到他,讨论了他对当今 Web 开发最重要的技术和其未来的看法。

你的综合技能里可能还没有胜任 Web 开发的最佳技术

我曾参与一个小的辅助项目,当时我尽可能地把新的技能付诸实践,并尝试一些工作职责以外的事。那是一个类似于一个社交网络的 Web 应用程序,我选择了基于 Java 的 Spring 框架作为主要技术堆栈和前段的骨架。大约 4 年前,作为一个 Java 高级开发人员,我认为 Java 是最有潜力的技术。它近乎完美地实现了企业 Web 应用以及核心任务的分布式应用甚至移动应用。直到 2015 年,Java 仍然是最受欢迎而且有价值的技术,但是,在做这个项目的过程中,我改变了自己的观点——除非特别需要我不会使用它。

我记得在某个时刻,我意识到我花了很多开发时间来设计应用程序的面向对象的结构和编写样板代码。为了寻找一个解决方案,我将项目迁移到 Groovy 和 Grails 上,并试图将一个小的自己编写的双向绑定框架应用于前端。虽然情况有一点改善,但我依然觉得需要一种在前后端都更加敏捷的技术,这种技术更加适合 Web 开发。

Web 变化地很快,所以你的技能也需要不断进化

我尝试用一种从根本上在服务端不同于 PHP、Ruby on Rails、Python,或在客户端不同于 JQuery 或骨架的技术。幸运的是,我发现了 Node.jsAngular.js,通过使用 Node,我发现我的心态从“如何做事”转变为“把事情搞定”。另一方面,Angular 彻底改变了我的前端开发的方法,它大大减少了我之前使用的样板代码。但最重要的是,我意识到 JavaScript 和它的生态系统正在成为一个重要的事情。

现在我根本不会考虑构建一个 Web 应用而不将 JavaScript 作为我的首选。npm 上数量惊人程序包表明 Web 已经转向 JavaScript。

在这件事中,令我印象最为深刻的是,我意识到这些新技能对定义我的职业生涯的重要性;如果我想构建 Web 应用,JavaScript 及其令人惊叹的生态系统已经成为我努力学习的重点。在我负责创建的项目中,这将促使 Node,Angular 以及其它前沿的 JavaScript 技术对项目的成功起到至关重要的作用。

使我对 JavaScript 的兴趣达到高潮的是我在6个月前出版的一本书—Node.jsDesignPatterns—这本书包含了我投入 JavaScript 以来积累的宝贵经验。

Web 开发者需要具备的技术和能力

如果我不得不给 Web 开发初学者一些建议的话,我绝对推荐从学习 JavaScript 开始。5-6 年前我不敢这么说,但今天它是让你同时能从前端和后端开始学习的唯一语言。此外,JavaScript 和 HTML、CSS 等其它 Web 技术的组合,如 nw.jsApacheCordova, 可以令你获得更广泛的应用程序。

PHP,Ruby 以及 Python 仍然是非常流行的开发 Web 应用服务端的语言,但对于已经了解 JavaScript 的人来说,Node.js 才是更加自然的选择。它不仅可以节省你学习一种新的语言的时间,还提供了一个集成的前端,这在其它平台是不可能实现的。也就是说,在服务器和客户端之间共享代码甚至实现可以同时在 Node.js 和浏览器上运行的同构应用。React是一种框架,在同构应用开发领域中,它提供了一些十分有趣的和绝对值得挖掘的功能,与此同时,我们也可以看到更多的来自 PouchDB 的功能,PouchDB 是一种同构的 JavaScript 数据库,它将帮助开发人员比以往任何时候更容易地构建离线启用甚至线下先行的 Web 应用。

永远保持领先地位

今天,正如 4 年前一样,JavaScript 在 Web 开发中已经产生了影响,未来还将发挥重要作用。

例如 WebRTC 可以在浏览器中创建实时的点对点的应用程序,而不需要任何附加插件。开发者已经用它来建立快速、轻量级的视频/音频会议应用甚至在浏览器中创建完整的 BitTorrent 客户端!

另一个革命性的技术是 ServiceWorkers,它将大大提高离线应用的能力。WebComponents 将在前端发挥巨大的作用,Polymer 项目已经证明这套新的标准创造的好处。

关于 JavaScript 本身,Web 开发人员必须快速熟悉 ES6 标准,因为交叉编译工具如 Babel 已经允许我们在几乎任何平台使用 ES6。但是我们也应该留意 ES7,因为它将包含简化异步编程这一非常有用的功能。

最后,随着浏览器逐渐成为未来的运行环境,最近发布的 WebAssembly 承诺给 Web 创造自身的“字节码”,这可以使你在 JavaScript 中加载其它语言写的代码,当 WebAssembly 广泛使用时,在浏览器中看到复杂的 3D 视频游戏或运行功能齐全的视频编辑器将变得非常普遍。JavaScript 将仍然是主流 Web 语言,但它将辅之以 WebAssembly 提出的新的可能性。

Mario 的书作为我们的 Skill Up 打包技能的一部分,5 本电子书只需 25 美元。

什么是 Skill Up?

在6月期间,我们调查了超过 20000 名 IT 专业人士,了解到他们目前正在使用的技术以及计划在未来 12 个月内将要学习的技术,具体详情请参阅我们的 Web 开发技能工资报告

更多IT技术干货: wiki.jikexueyuan.com
加入极客星球翻译团队: http://wiki.jikexueyuan.com/project/wiki-editors-guidelines/translators.html

版权声明:
本译文仅用于学习和交流目的。非商业转载请注明译者、出处,并保留文章在极客学院的完整链接
商业合作请联系 wiki@jikexueyuan.com
原文地址:https://www.packtpub.com/books/content/today-you-are-not-web-developer-if-you-don%E2%80%99t-know-javascript-and-its-ecosystem