骑猪兜风

JavaScript征服了网页应用,接下来,他正在接管桌面应用

骑猪兜风 2016-05-14 22:48:07    200815 次浏览

  JavaScript 语言诞生于 1995 年,主要是为了弥补<blink>标签不能给网页带来更多的动态操作。如今,它有了更强大的用途。例如谷歌和 Facebook 这些公司开始利用 JavaScript 构建类桌面的复杂网页应用;自从 2009 年 Node.js 的发布,它也成为了最流行的构建服务器端软件语言之一。今天,JavaScript 甚至是不仅仅在网页应用中使用,它正在以自己的方式在向桌面应用中渗透。

Electron 是由 Github 创建的一个软件开发平台,它可以支持开发者使用 JavaScript 以及其它类似 HTML 和 CSS 的网页技术来创建桌面应用,该应用可以在 Windows,Macintosh OS X 和 Linux 系统上运行。该公司昨天发布了 Electron 第一版,但是许多科技巨头们此前已经发布工具来进行推进 JavaScript 的努力。

  去年,微软发布了一款叫 Visual Studio Code 的代码编辑器,这个编辑器是使用 Electron 构建。聊天群组应用独角兽公司 Slack 使用 Electron 搭建了桌面客户端。创业公司 Nylas(因为 Inbox 而被人们熟知)使用 Electron 构建了一套完整的电子邮箱客户端。JavaScript 语言发明人 Brendan Eich 成立的公司 Brave 使用 Electron 开发了一套全新完整的网页浏览器。

  现在有数不尽的其它方式来搭建桌面应用,为什么这些公司使用 JavaScript?JavaScript 在服务器开发语言中处于增长中,随着 Node.js 的出现,开发者已经有了好几种方式来搭建服务器端的网页应用。但是 JavaScript 在桌面端变得更加流行,因为开发者可以使用同一种语言来完成应用的浏览器端和服务器端的开发。这说明有利于使其成为网页的通用语言。同时大范围的使用使 JavaScript 自然而然的下一步是统一桌面开发语言。

对每一个人开源

  许多使用 Electron 的公司正在构建开源软件,这意味着任何人都可以获取查看和修改软件代码。了解理解你的开源代码的人越多,那么修复 bug 和在原有工程上增加新的特性的人也就越多。通过使用 JavaScript,这些公司给那些了解 JavaScript 语言但对传统桌面应用开发语言比如 C 不熟悉的网页开发者打开了一扇大门。

  例如,创业公司 Jibo 使用 Electron 来作为他们的机器人个人助手开发平台,因为这个团队想要使第三方开发者更容易的为机器人编写他们自己的程序。Jibo 的开发者 Jonathan Ross 说:「我们想使入门的门槛尽量低,因此我们立刻将目光瞄准到了游戏开发者和网页开发者。」

  起初为什么要建立 Electron,是出于什么目的呢。Electron 最初是用来为了开发 Atom 而建立的平台,Atom 是 GitHub 开发的一款文本编辑器。因为 GitHub 的联合创始人 Chris Wanstrath 去年在接受 Wired 采访时表示:他想要使用 JavaScript 开发一款文本编辑器,从而使得网页开发者们可以根据自己的浏览习惯而设置。Wanstrath 说:「配置我的编辑器是我日常的一件事,但是更有效率的方式是我能使用其它人已经开发好的插件来配置。」

  众所周知,在网页浏览器上运行的应用数量是呈现下降趋势的。在 Nylas 的负责前端开发的 Ben Gotow 说:「用 Electron 开发的应用需要占用相当大的开销。」但是这些开销是值得的,因为 Electron 不仅仅可以使用一种流行语言。使用 JavaScript 创建桌面应用可以使开发者选择大量免费的代码库和框架,从而避免编代码外的这些枯燥的工作。例如,Electron 开发者可以从网上众多的开源认证库调用一个登录模块,而不是自己创建编写一个登录系统。

  Gotow 说:「我们能够只用一年就可以开发一个相当可观的电子邮箱客户端,这是相当难以置信的。」

努力学习 JavaScript

  使用网页技术来开发桌面应用的想法现在已经不是什么新鲜事了。Adobe 的 AIR 系统可以允许开发者使用该公司的 Flash 平台来构建桌面应用,一家叫做 Appcelerator 的小型公司现在正专注于移动应用的开发,该公司以前是提供利用 HTML 和 JavaScript 构建桌面应用的工具。最近,一个开发团队创立了 NW.js,原名是 Node Webkit。

  但是在 2014 年,GitHub 团队发现缺少可选择的开发平台,因此他们做了极客们做的事情:他们创建了自己的开发平台,并且发布到全世界。GitHub 的产品副总裁 Kakul Srivastava 说:「我们认为好的应用都应当可以被任何人获取。」

  在 GitHub Electron 项目组工作的 Jessica Lord 说:Electron 的出现使开发更有了效率。Electron 加入了 Chromium 项目,但是使用了一个精简版本,Chromium 项目是谷歌 Chrome 浏览器的一个开源项目。这使得开发团队能够更容易的集成新的特性,因为,他们不需要对每个 Chromium 的版本进行测试,从而看是否不支持 Electron 的特性。

  GitHub 的努力渐渐的取得了回报。在 Electron 发布的这两年里,目前已经有超过 300 的开发者来对该项目进行开发和维护,下载量更是超过了一百万次。但是竞争同样也在变的更激烈,NW.js 目前依然在提升和改进,Facebook 已经发布了自己的名叫 React Native 的 JavaScript 框架,该框架允许开发者跨平台开发应用,包括 Windows, Xbox, iOS, 和 Android 平台。

  无论是开发者使用哪个框架和平台,JavaScript 已经在桌面应用中占据了一席之地。对于用户来说,线上和线下的区别正在变的模糊,现在,这对于代码本身也是如此。

  文章来源:WIRED,TECH2IPO / 创见赵旭编译

内容加载中