Node.js可以用来做什么?

本文编写了Node.js常用的应用场景以及在该场景下的优势。

Web服务

  • 搜索引擎优化 + 首屏速度优化 = 服务端渲染即SSR(Server Side Rendering)
  • 前后端同构(模板复用)
  • BFF(Backend For Frontend)

构建工作流

在没有Gulp和webpack等构建工具之前,前端工程师可能会用java、ruby、shell做一些构建工具,而这些语言对于前端工程师不是那么熟练,而用Node.js做构建工具,前端工程师将更容易的查找、修改、扩展构建工具。

Gulp

gulp 将开发流程中让人痛苦或耗时的任务自动化,从而减少你所浪费的时间、创造更大价值。
Node.js可以用来做什么?
从上图的例子我们可以看出它能给html、css、js做一些如下预处理:

  • 编译和整理 Pug 文件为相应的 HTML 文档
  • 将less文件编译为css文件
  • 将js文件打包压缩、混淆为一个文件

webpack

webpack通过一些规范把js、css、图片等打包在一起,这样就能减少前端尽可能少的HTTP连接,加速网页的加载。

Node.js可以用来做什么?

KttDeploy

我司开发的KttDeploy就是用Node.js写的,用于打包H5资源文件给App调用。
Node.js可以用来做什么?

Electron

Electron基于Chromium和Node.js, 让你可以使用HTML、CSS和JavaScript构建兼容Mac、Windows和Linux的桌面应用程序。

在用Electron之前我用过Delphi、C#开发Windows桌面应用。
尤其使用C#开发了很多企业级应用,C#也确实方便,但是要跨平台就难了。如果用Winform做出效果很好看的UI又没有Web技术来得快,要做出要看的UI对于C#技术栈的开发人员建议直接使用WPF吧!

Electron的优势

Web技术

因为Electron 基于 Chromium 和 Node.js,如果你可以建一个网站,你就可以建一个桌面应用程序。 Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。

开源

Electron 是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目。

跨平台

Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。

使用Electron开发的Apps

  • Visual Studio Code
  • Facebook Messenger
  • Twitch
  • Microsoft Teams
  • InVison
  • 等等,实在是太多了

我用Electron开发的桌面应用

我之前公司开发的一款即插即用触摸输入密码USB工具HelloKey,且该工具就是通过Node.js和设备进行HID通信,支持macOS、Windows、Linux。

支持????

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

  • 我会持续编写文章,保持每周至少一篇文章。????
  • 有时候编写一篇文章需要大量时间。????
  • 您只需一秒即可完成【点赞????或关注❤️】。????
  • 您的支持将给与我更大的动力。????

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????