文档章节

nw.js node-webkit系列(1)简单介绍及应用

黄泽平-zeping891103
 黄泽平-zeping891103
发布于 2018/11/28 20:30
字数 877
阅读 35
收藏 0
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zeping891103/article/details/50723949

最近使用到了一种nwjs技术进行开发,实际上nwjs是基于nodejs的,它支持nodejs所有的api,主要用于跨平台轻量级桌面应用开发,运行环境包括32位和64位的Window、Linux和Mac OS。在博主看来,nwjs技术实际上就是结合web前端技术编写本地应用的一种技术。截止现在,nwjs最新的稳定版本是v0.12.3,基本上只要熟悉HTML5、JS CSS3的开发者们都可以轻松上手,唯一的难点是现在nwjs技术文档大多都是英文文档,看起来实在费劲,即使有部分中文文档,也是简单介绍,东平西凑。所以博主咬咬牙,决定根据官方文档及个人的实际应用和经验,出一些中文系列文章,让更多开发者们认识nwjs技术并能实际运用。都说现在是html5的时代,谁说不是呢?


(一)技术介绍

nwjs是在英特尔开源技术中心创建的,它是基于谷歌浏览器核心引擎和nodejs运行,你可以通过nwjs技术使用html和js语言编写本地应用程序,它也可以让你直接从DOM调用nodejs模块,使用一种新的方式与所有的Web技术编写本地应用。它主要有以下6个特点:

(1)以网络最流行的技术编写原生应用程序的新方法
(2)基于HTML5, CSS3, JS and WebGL而编写
(3)完全支持nodejs所有api及第三方模块
(4)可以使用DOM直接调用nodejs模块
(5)容易打包和分发
(6)支持运行环境包括32位和64位的Window、Linux和Mac OS

(二)下载

官网:http://nwjs.io/
博主下载的是32位Window运行环境应用(后续文章也以该环境为主运行),解压后得到如下目录文件


locales文件夹是区域语言设置
d3dcompiler_47.dll是软件和游戏运行的重要动态链接库
ffmpegsumo.dll是谷歌浏览器核心引擎升级后用来支持视频和音频播放的动态链接库
icudtl.dat是一个存储基本数据信息的文件
libEGL.dll是实现webGL必须用到的动态链接库
libGLESv2.dll是实现GPU必须用到的动态链接库
nw.exe主要应用
nw.pak顾名思义,核心数据的压缩包
nwjc.exe用于打包时项目加密使用
pdf.dll打开pdf格式文件的动态链接库

(三)简单应用

第一步:创建index.html
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<h1>祝大家新年快乐</h1>
	</body>
</html>

第二步:创建一个package.json
{
  "name": "nw-demo",
  "version": "0.0.1",
  "main": "index.html"
}

第三步:将文件index.html和package.json添加到压缩文件nwjs.zip


第四步:将nwjs.zip拖动至nw.exe运行

PS:在开发阶段,可不必打包,直接将包括index.html和package.json的文件夹拖动至nw.exe亦可运行。

本节简单介绍了nwjs的概念和简单应用,当然nwjs绝非仅仅如此简单,后续还包括如何适配显示窗口、如何打包成桌面应用、如何调用API、如何构建nwjs等等一系列功能,好了,今天就先到此吧,现在博主还在重感冒中,先要休息了。

© 著作权归作者所有

黄泽平-zeping891103
粉丝 0
博文 150
码字总数 167169
作品 0
厦门
私信 提问
基于node-webkit 开发的桌面应用实例

1、下载node-webkit :https://github.com/nwjs/nw.js 文件目录如下: 2:在该文件目录下新建package.json(如果存在该文件请直接编写如下代码),一个最简单的内容如下( ps:注释代码请删除)...

一颗星星变了心
2015/05/13
485
2
try c/c++ module, node-serial

0.https://github.com/nwjs/nw-gyp/issues/7 install nw-gyp follow https://github.com/nwjs/nw-gyp 2.install serial_port npm install serialport $ npm install -g nw-gyp $ cd serialpo......

bravelionking
2016/02/06
4
0
NW.js 0.19.2 发布,Web 调用 Node 模块

NW.js 0.19.2 发布了,NW.js 前身是 node-webkit ,可以让你直接在 DOM 上调用所有 Node.js 模块,相当于使用一种新的方法来编写 Web 应用。 更新内容: Chromium 升级至 55.0.2883.87 修复当...

王练
2016/12/14
2K
3
node-webkit xpcom组件 com组件 dll

你好, 问题:node-webkit是否支持xpcom组件 或者 COM组件 或者 动态链接库dll? ps:以下是我暂时能够搜索到的 1、IE内核的方法可以用ActiveXObject 2、Chrome 浏览器不支持COM 类型组件。 ...

daemon7
2015/03/04
1.7K
0
node-webkit:开发桌面+WEB混合型应用的神器

大漠穷秋 2014-01-31 bla...bla... 顾名思义,node-webkit就是nodejs+webkit。 这样做的好处显而易见,核心奥义在于,用nodejs来进行本地化调用,用webkit来解析和执行HTML+JS。 快速上手 下...

随影求是
2014/01/31
949
4

没有更多内容

加载失败,请刷新页面

加载更多

何时使用不同的日志级别

按死亡顺序记录消息有不同的方法: FATAL ERROR WARN INFO DEBUG TRACE 我如何决定何时使用哪个? 什么是一个很好的启发式使用? #1楼 我建议采用Syslog严重性级别: DEBUG, INFO, NOTICE, W...

技术盛宴
30分钟前
47
0
谈谈lucene的DocValues合并(BinaryField域的合并过程)

在 谈谈lucene的DocValues特性之BinaryDocValuesField 中说过,BinaryField的写入方式是按照文档的添加顺序依次写入的,并且压缩方式也较简单,其实合并的方式也很简单,即将已生成的各段Bin...

FAT_mt
38分钟前
53
0
Java中的各种锁

转自公众号Java建设者 ,作者cxuan Java 锁分类 Java 中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对 Java 中一些常用锁的分类,包括一些基本的概述 https://www.javashitang....

chen_chen_chen_
54分钟前
23
0
使用moco单元测试

在项目中,除了查询数据库,还要调用外部的服务,这这时候我们在写单元测试的时候,会考虑怎么覆盖着一块代码: 1.封装一个方法,然后mock这个方法。 2.直接配置好调用的服务,测试的时候调用...

woshixin
今天
42
0
迭代访问列表的最“ pythonic”方法是什么?

我有一个Python脚本,它将一个整数列表作为输入,我需要一次处理四个整数。 不幸的是,我无法控制输入,或者将其作为四元素元组的列表传递。 目前,我正在以这种方式对其进行迭代: for i in...

javail
今天
41
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部