NodeJS 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。
在几年的时间里,NodeJS 逐渐发展成一个成熟的开发平台,吸引了许多开发者。有许多大型高流量网站都采用 NodeJS 进行开发,像 PayPal,此外,开发人员还可以使用它来开发一些快速移动 Web 框架。
除了 Web 应用外,NodeJS 也被应用在许多方面,本文盘点了 NodeJS 在其它方面所开发的十大令人神奇的项目,这些项目涉及到应用程序监控、媒体流、远程控制、桌面和移动应用等等。
1. NodeOS
NodeOS 是采用 NodeJS 开发的一款友好的操作系统,该操作系统是完全建立在 Linux 内核之上的,并且采用 shell 和 NPM 进行包管理,采用 NodeJS 不仅可以很好地进行包管理,还可以很好的管理脚本、接口等。目前,Docker 和 Vagrant 都是采用 NodeOS 的首个版本进行构建的。
2. Noduino
许多硬件黑客希望通过 Web 页面即可控制他们的 Arduino,Noduino 就是这样的一个项目,一个简单灵活的 JavaScript 和 NodeJS 框架,通过使用 HTML5、Socket.IO 和 NodeJS 的 Web 应用来控制 Arduino。目前,该项目刚刚启动,支持一些常用功能,比如从 Arduino 中捕获事件(例如点击按钮)等。
3. Node-WebKit
Node-Webkit 是一个基于 Chromium 与 NodeJS 的应用程序运行器,允许开发者使用 Web 技术编写桌面应用。它是 NodeJS 与 WebKit 技术的融合,提供一个跨 Windows、Linux 平台的客户端应用开发的底层框架。
跨平台开发并非易事,其中一种方式便是使用 Web 技术和 Node-Webkit 开发桌面应用来代替那些庞大且笨重的开发框架。
4. PDFKit
PDFKit 是采用 NodeJS 开发的一款 PDF 文档生成库,它使用一个“HTML5 canvas-like API”来创建矢量图形和字体嵌入,并且支持许多标准的 PDF 功能,如文件的安全性、表的创建、文本换行、项目符号、高亮提示、注释等 PDF 功能。
注意,PDFKit 是一款 PDF 生成工具,而不是一个文档转换系统。如果你想对现有的 PDF 文档进行操作,你可以使用另一个 NodeJS 项目—— Scissors。
5. Log.io
Log.io 是一个基于 NodeJS 开发的实时日志监控项目,在浏览器里访问。需要注意的是,Log.io 只监视日志变动并不存储日志,不过这个没关系,只要知道日志存储在哪个机器上。
Log.io 使用 Socket.io 库发送活动报告的,和其他的监控工具一样,Log.io 也采用服务器-客户端的模式。Log.io 由两部分组成:server 和 harveste,server 运行在机器 A(服务器)上监视和纪录其他机器发来的日志消息;log harvester 运行在机器 B(客户端)上用来监听和收集机器 B 上的日志改动,并将改动发送给机器 A,每个需要纪录日志的机器都需要一个 harvester。
6. Nodecast 或 Leapcast
受谷歌 Chromecast 技术的启发,开发者使用 NodeJS 开发出不少 Chromecast 仿真应用。如 Nodecast 或 Leapcast。在 PC 上运行 Nodecast 或 Leapcast,启动移动设备,选择一个支持 Chromecast 的应用程序,然后你就可以把移动广播上的内容映射到电脑上了,把电脑当成一个流媒体使用。
在这两个应用中,Nodecast 比较简单些,但相应的功能也比较少,它仅经过了 YouTube 和 Google Music 的测试( DEMO)。注意,大家不要把 Nodecast 与 Nodecast 库混淆,后者使用 DIAL 发现协议提供链接设备(类似 Chromecast)。
7. Nexe
Nexe 是一款小巧却非常实用的 NodeJS 工具,它可以为 NodeJS 应用创建单一可执行的文件,并且无需安装运行时,这样,一些非技术终端的用户就无需变动 NodeJS 应用的所有依赖程序。如果你想发布一个 NodeJS 应用程序,并且没有 GUI,Nexe 则是您的最佳选择。目前该应用程序的一个弊端是不能在 Windows 平台上工作,只适用于 Linux 和 Mac OS X 平台,并且它也不支持本地 NodeJS 模块。
8. Hyro
Hyro 是使用 NodeJS 开发的一款实时 HTML5 编辑器,如下图所示,左边显示 HTML 源码,右边显示内容。语法高亮由 CodeMirror 提供。Hyro 并不打算成为一款成熟的 Web IDE,更像是一款轻量级的 HTML 或 CSS 记事本。
9. Haroopad
Haroopad 是一款 Linux 上的 markdown 编辑器,使用 Chromium 作为 UI,支持 Windows、Mac OS X 和 Linux。主题样式丰富,语法标亮支持 54 种编程语言。 如下图所示,一边是代码编辑窗口,一边是预览窗口,可以实时更新。其邮件导出功能可以将文档发送到 Tumblr 和 Evernote。
10. TiddlyWiki5
TiddlyWiki 是一款交互式的 wiki,非常灵活,它也可以在浏览器里作为单一的 HTML 文件或者是一款功能强大的 NodeJS 应用程序。
TiddlyWiki5 是全新设计的 5.0 版本,它可以直接集成 NodeJS 解锁一系列的功能,但在单机模式下是不可用的。目前,TiddlyWiki5 仍处于测试阶段。
via InfoWorld