前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不只是Web:十大令人振奋的Node.js项目

不只是Web:十大令人振奋的Node.js项目

作者头像
李海彬
发布2018-03-19 14:51:12
2K0
发布2018-03-19 14:51:12
举报
文章被收录于专栏:Golang语言社区Golang语言社区

除了在Web服务器领域大展拳脚之外,Node.js同样也在无处不在的JavaScript应用程序创建当中散发出耀眼的光芒。

Node.js:不只是网站

就在仅仅几年之前,Node.js初始版本刚刚诞生时还只是一款谷歌出于尝试目的、利用Chromium V8打造而成的服务器端JavaScript引擎;然而时至今日,它已经成为一整套全面开花的完整平台。PayPal等高流量网站的工程师们曾经撰写出大量经验心得,与大家分享Node.js如何令Web框架的创建工作变得更加简便易行。

不过Node.js绝不只是一套Web堆栈——作为一项技术,它在多个不同层面焕发出勃勃生机。我们将通过今天的文章一同了解利用Node.js打造出的各类项目,其中包括服务器监控、流媒体、远程控制以及桌面与移动应用等等。在了解了这么多背景信息后,大家一定也会发出这样的感慨——Node.js的价值已经远远超出了常见Web服务器的范畴。

NodeOS

这款由Jacob Groundwater打造的项目在诞生之日起便承载着巨大的野心——希望围绕Linux核心建立起一套新型环境。其中Node.js作为“shell”,而Node的mpn则被用于系统包管理器。到目前为止,NodeOS的首个版本以Docker与Vagrant为创建基础——好的方面在于这样能使早期版本在共享、fork以及迭代方面更加便捷;但负面影响是系统运行所涉及的hoops过多。

不过总体来说,该项目的核心思路仍然颇具吸引力。大家不妨试想一下,Node.js不仅将被用于包管理,而且还负责打理脚本、界面以及大部分其它操作系统创建所必需的任务。

Noduino

希望通过网页控制自己Arduino的硬件技术人士们有福了,Noduino允许大家经由WebSocket或者串连接实现Arduino访问。该项目目前尚处于起步阶段,但驱动主板上的LED模块、捕捉来自Arduino的事件(例如按下按钮)等常见功能都可以正常支持。

Node-WebKit

作为专门针对Node.js应用程序的运行时,Node-WebKit允许大家将应用程序打包为精简化Chromium副本并将其交付至任何Node.js及Chromium已经移植过的平台(目前包括Linux、Mac OS X以及Windows)。打包的过程可以说非常简单。我们只需要将Node.js应用程序副本进行压缩、再添加一份清单,这就完成了。大家甚至可以通过Node.js方法及对象实现应用程序窗口菜单访问与其它平台原生操作。

跨平台应用程序部署从来不是一件简单的工作。如果大家希望能利用Web技术开发出桌面应用程序,那么不妨将Node-WebKit视为其它那些更大、更笨重框架的有益补充。

PDFKit

作为一款针对Node.js的PDF文档创建库,PDFKit允许大家利用一套“HTML 5 canvas类API”创建PDF文件,同时支持矢量图形创建以及字体嵌入。由于项目尚未彻底成熟,目前不少标准PDF功能(例如文档安全保护以及表格创建)仍然处于开发当中,不过文本换行、项目符号列表、高亮显示以及注释信息等功能已经正常可用。需要提醒大家的是,我们最好将PDFKit作为一款从头开始创建PDF文件的工具,而不要将其用于文件转换。如果各位需要对现有PDF文件进行调整,最好还是使用另一款名为“Scissors”的Node项目。

Log.io

Node.js在快速与Web两方面具备惊人的优势——而这两种特性无疑是大家最希望在监控工具当中看到的。作为一款实时日志监控系统,Log.io利用Socket.io库直接向大家的浏览器发送活动报告。在这里不存在持久层,受监控日志文件中的任何内容变动都会立即被转发给服务器、然后再传递到我们面前。更重要的是,有了第三方处理机制的辅助,系统只需将格式正确的信息发送至服务器监听TCP接口即可。

Nodecast或者Leapcast

谷歌的Chromecast还衍生出至少两款Node.js应用程序,它们能够帮助大家直接将基于移动设备的视频或者音乐发送到PC机上。只需在PC端运行Nodecast或者Leapcast,启动我们的移动设备,选择一款支持Chromecast的应用程序,而后大家即可将移动端的内容传输到电脑上。就这两者而言,Nodecast的复杂程度要低得多,但其功能也更弱一些。目前它能够通过测试的媒体来源只有YouTube与谷歌音乐。请大家别把Nodecast与Nodecast库弄混了,后者的作用在于为设备(例如Chromecast)提供使用拨号发现协议所需要的连接。

Nexe

在众多看似渺小但却实用性极高的Node.js工具当中,Nexe正是颇具代表性的一款——它的作用在于为Node.js应用创建单独存在的可执行文件。生成的结果可以在无需额外安装Node.js运行时的前提下直接运行,这就帮助非技术终端用户彻底告别了所有与Node.js应用程序运行存在依赖关系的组件。(显然,如果大家发布的是一款不涉及图形用户界面的Node.js应用,那么Nexe肯定能帮上大忙;不过对不起拥有图形用户界面的应用,Node-WebKit之类的方案才是正确的选择)。再来说说缺点:Nexe最大的问题在于目前还无法作用于Windows平台(只适用于Linux与Mac OS X),而且它也不支持原生Node.js模块。

Hyro

在利用Node-WebKit所打造的应用程序当中,Hyro这款实时HTML 5编辑器可谓一枝独秀。原始HTML内容被显示在当前页面的左手边,而结果内容则被显示在右手边。语法高亮功能由CodeMirror提供。Hyro项目的开发者并不打算将其打造成一款成熟的Web IDE,而只是将其塑造为一套专门针对HTML或者CSS的轻量级记事本方案。从这个角度讲,它可以被看作Node.js在适当支持应用程序却又不过度介入方面的典型范例。

Hy0072o

在利用Node-WebKit所打造的应用程序当中,Hyro这款实时HTML 5编辑器可谓一枝独秀。原始HTML内容被显示在当前页面的左手边,而结果内容则被显示在右手边。语法高亮功能由CodeMirror提供。Hyro项目的开发者并不打算将其打造成一款成熟的Web IDE,而只是将其塑造为一套专门针对HTML或者CSS的轻量级记事本方案。从这个角度讲,它可以被看作Node.js在适当支持应用程序却又不过度介入方面的典型范例。

Haroopad

作为另一款将Chromium作为自身UI的Node.js应用程序,Haroopad允许大家Markdown类型的文本,并将其生成为HTML。编辑与查看在窗口中并排而列并同步滚动,而且始终保持实时更新。文档也能够以HTML或者Markdown格式通过邮件进行发送,通过这种方式大家可以在完全无需使用插件的前提下将其发送至Tumblr或者添加到Evernote当中。说到这个,我们希望Haroopad的开发人员们能添加一套插件架构。像这样的一款程序存在很大改进空间。虽然他们一直在努力拓展多种格式,但目前Haroopad仍然只能支持HTML这一种。

TiddlyWiki5

这也是我个人最喜爱的项目。虽然命名显得不够简洁,但TiddlyWiki的才艺实力简直无穷无尽——这是一套维基系统,能够在不连接网络或者Web服务器的情况下通过单独HTML文件或者本地方式运行。经过彻底重新设计的版本5能够直接与Node.js相集成,从而实现大量原本独立运行模式下根本无法完成的功能。到发稿之时,TiddlyWiki 5仍然处于测试阶段,不过根据时间规划我们将在今年年底迎来它的正式版本。

原文链接:http://www.infoworld.com/slideshow/131906/beyond-the-web-10-surprising-nodejs-projects-232369#slide1

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档