nw.js(node-webkit) node-serialport的替代方案
来源:互联网 发布:告白夫妇网络漫画 编辑:程序博客网 时间:2024/05/20 03:07
背景
nw.js,前身叫做node-webkit,能够同时提供浏览器和node.js的运行环境。其本身具有跨平台能力,能够同时在windows/linux下运行,使得利用web前端开发桌面app成为了可能。
node-serialport则是一个第三方开源的串口模块,使得node能够访问系统的串口并进行流式读写。
nw.js的优势与不足
nw.js唯一的优势可能就是使得前端人员也能够参与桌面app的开发?
相比于成熟的.net/java,nw.js实在没有太大的亮点。在人手不足的时候,这是一个快速上手的低成本开发方案。
劣势就比较多了。
- 体积臃肿,运行环境就高达六十多M
- 没有能够打包为单一可执行文件的方法。
等等。我更觉得这玩意像个玩具。
node-serialport的坑
老实说,除非非用不可,不推荐用这个模块,编译非常的坑爹,尤其是配合windows 下nw.js用的时候。
感兴趣的可以直接点 https://github.com/EmergingTechnologyAdvisors/node-serialport/issues 看下有多少和build相关的问题。
因为是native模块,所以编译之前需要确认以下环境问题:
- Python 2.7.3
- Visual Studio 编译环境
- node, npm, node-gyp, node-pre-gyp, nw-gyp
另外,系统环境需和nw.js保持一致,系统是x86的,请安装ia32版本的nw.js并编译调试;x64与之类似。
环境搭好了之后,编译的路上还有更多的坑。x64的编译比较顺利,麻烦的在x86。既然都跨平台了,那x86和x64肯定也要兼容啊,于是折腾了个虚拟机,装了x86 win7。
中间尝试的过程我就不写了,最后的结果如下:
- Visual studio 2008 / 2017找不到MSbuild.exe
- Visual studio express 2013 编译失败(不支持v8里使用的某个C++新特性)
总之最后我是放弃了。
替代方案
nw.js本身是基于chrome的,chrome有原生的串口api可以调用,参见https://developer.chrome.com/apps/serial
node-serialport能够实现的功能全都有,而且比node-serialport要稳定。
- nw.js(node-webkit) node-serialport的替代方案
- nw.js 打包白屏问题解决方案 node-webkit白屏
- nw.js(node-webkit)桌面客户端
- node-webkit is renamed NW.js
- node webkit(nw.js) 设置自动更新
- nw.js node-webkit系列(22).nw执行过程及如何获取.nw真实路径
- nw.js node-webkit系列(2)nwjs相关教程
- nw.js node-webkit系列(14)不同系统环境下如何启动node-webkit APP
- nw.js node-webkit系列(5)Native UI API Window的使用
- nw.js node-webkit系列(6)Native UI API Frameless window的使用
- nw.js node-webkit系列(7)Native UI API Menu的使用
- nw.js node-webkit系列(8)Native UI API MenuItem的使用
- nw.js node-webkit系列(9)Native UI API App的使用
- nw.js node-webkit系列(10)Native UI API Clipboard的使用
- nw.js node-webkit系列(11)Native UI API Tray的使用
- nw.js node-webkit系列(12)Native UI API File dialogs的使用
- nw.js node-webkit系列(16)可能会遇到的故障及故障排除
- nw.js node-webkit系列(17)怎样打包和分发你的应用
- java中的内部类总结
- 四大经典卷积网络介绍
- statement要点
- 有符号变量与无符号变量的值的转换
- 优先队列(二叉堆)
- nw.js(node-webkit) node-serialport的替代方案
- Codeforces Round #424 (Div. 1, rated, based on VK Cup Finals) C. Bamboo Partition(数学)
- 并发实战——并发相关知识点overview
- 南师附中集训 七日游(划掉)总结
- android控件12--ScrollView
- npm link的基本用法及实例
- Java实现MySQL图片存取
- 设计模式之六大原则
- POJ3669 Meteor Shower (BFS)