Node-webkit 介绍

什么是Node-webkit ?

Node-webkit 是Intel工程师rogerwang写的一个基于node.js和chromium的应用程序运行环境,通过node-webkit,我们可以使用html/javascript/css编写pc桌面应用。

其实可以理解为还是编写web app,但是可以使用node.js的api,最后将整个应用连浏览器打包发布出去。所以它不受平台限制(使用到node.js调用操作系统api除外),一份代码打包到对应平台发布即可,如果有了解过phonegap/cordova,这个node-webkit和它们是很类似的,只是多了node.js这一块。

项目地址:https://github.com/rogerwang/node-webkit

入门Demo

这里介绍使用node-webkit开发一个项目的操作流程。

  1. 下载node-webkit

    https://github.com/rogerwang/node-webkit 下载对应操作系统的文件。解压即可。建议将其添加到环境变量中。

  2. 新建项目

    新建项目文件夹. C:/Users/keith/node/webkitdemo

    新建 package.json

     <!DOCTYPE html>
     <html>
       <head>
         <title>Hello World!</title>
       </head>
       <body>
         <h1>Hello Node-webkit</h1>
             Node.js version: <script>document.write(process.version)</script>.
       </body>
     </html>
    
  3. 运行

    在命令行下:

     npm install node-webkit-builder -g
     cd C:/Users/keith/node/
     nwbuild -p win C:/Users/keith/node/webkitdemo/
     cd build/demo/win/
     ./demo.exe  //运行程序
    

    此时你可以选择直接将编译后的文件夹压缩发布出去,也可以选择再将编译后的文件夹打包为一个exe文件,直接发布这个exe文件,如果要这样做的话需要一个一个工具Enigma
    Virtual Box
    ,安装之后运行Enigma virtual box

    在Enter Input File Name选择C:/Users/keith/node/build/win/demo.exe文件,再点击下面的add按钮添加C:/Users/keith/node/build/demo/win目录下的所有dll文件和nw.pak,再点击Files Opions,勾选compress压缩文件,最后点击Process,完成。

总结

通过node-webkit可以很方便的开发一些pc桌面应用,再结合node.js又可以开发出很多有趣的东西,比如结合node.js创建本地服务器,操作本地文件等等。可以快速的开发出跨平台应用,不太好的地方就是打包后的应用体积较大,即使压缩后也有3,40M。

时间: 2024-10-08 19:35:03

Node-webkit 介绍的相关文章

移动浏览器的内核WebKit介绍

Hybrid App是运行在移动操作系统的WebView上面的,我们可以在原生页面中嵌入HTML5网页,WebView就是这个网页的容器.WebView实际上是一种嵌入式的编程接口,WebView调用底层的浏览器内核如WebKit或Blink等解析网页,因此浏览器的内核决定了Hybrid App HTML5页面的展示效果和用户体验,目前市场上主流移动设备WebView的内核基本上是Webkit,包括苹果iOS系统和Android 4.4以前的版本. 浏览器内核通常也被称为渲染引擎.所谓的渲染,就

node.js介绍

转自知乎 作者:厂长链接:https://www.zhihu.com/question/33578075/answer/56951771来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 国外有一篇非常好的Node.js 介绍文章,从原理入手讲解,在这里给大家翻译一下(本人非翻译出身,一些地方结合了点个人理解,有错误欢迎指出). 原文地址 Node.js is the New Black 译文如下:如果你去年注意过技术方面的新闻,我敢说你至少看到node.js不下一两

Node.js介绍、优势、用途

一.Node.js介绍Node.js是一个javascript运行环境.它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP.Java.Python..NET.Ruby等后端语言平起平坐. Nodejs是基于V8引擎,V8是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的js解释部分,但是Ryan Dahl 这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件. 二.node.js的优势1.Nodejs语法完全是js

WebKit介绍和总结(一)

一 . WebKit 简单介绍 Webkit 是一个开放源码的浏览器引擎 (web browser engine) ,最初的代码来自 KDE 的 KHTML 和 KJS( 均开放源码 ) . 苹果公司在 Webkit 的基础上做了大量优化改进工作 .此时的 Apple Webkit 已经和 Webkit 有了不少区别,最后开发出了著名的 Safari .能够说 Safari 是一个相当成功的产品,可是 Safari 却不是开放源码的. 基于 WebKit 的浏览器产品有:苹果的 Safari 和

node.js介绍及简单例子

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

学习NodeJS第一天:node.js介绍

Node.JS 前辈 C 程序猿 Ryan Dahl(http://four.livejournal.com/)工程,根据 Google 著名的开源 JavaScript 发动机 V8 对于二次开发 Web I/O server(http://nodejs.org/).V8 是很快的 JavaScript 引擎.处理 JS 执行执行的速度很高. 相关測试表明,FireFox.Opera 和 IE 的 JS 引擎速度都不及 V8 来得快.并且,还能够说.仅仅要浏览器之间的 JS 引擎大战一日不减,

NodeJs&gt;-------&gt;&gt;第一章:Node.js介绍

一:章节前言 二:Node.js概述 1:使用node.js能够解决什么问题 2:实现高性能服务器 3:非阻塞型I/O及事件环形机制 4:node.js适合开发的程序 三:node.js安装 一.Node.js 安装配置 Node.js 提供在Windows和Linux上安装, 本文将以Windows上Node最新版本v6.9.3为例来学习,不足之处还望指正: 1.  Window 上安装Node.js 32 位安装包下载地址 : https://nodejs.org/dist/v6.9.3/n

Node.js 介绍及学习

Node.js => 简单来理解,就是指运行在服务器端的JavaScript.  Node.js 是一个基于Chrome JavaScript运行时建立的一个平台 Node.js是一个事件驱动I/O服务端JavaScript环境,是基于Google的V8引擎,Google的这个V8引擎执行JavaScript的速度非常快,性能非常地好 NPM 是和node.js一起安装的包管理工具, 可以解决node.js代码部署上的很多问题, 有以下几点 1. 允许用户从npm服务器上下载别人编写的第三方包到

node webkit (nw.js) 无法调试的结局方案之一

项目,当时主要内容是由别人做的!过后回到家中,自己研究了下这方面.结果发现我的 nw 客户端不可以调试!在网上各种找办法,没找到,深感绝望,突然看到 (https://github.com/nwjs/nw.js/blob/nw17/docs/For%20Users/Getting%20Started.md) 上面说,建议你选择 sdk 版本! nw.js sdk 版本什么东西?抱着试一试的心态下了一个! 熟悉的界面又回来了!

node webkit(nw.js) 设置自动更新

原理:把更新的文件放在服务器上,设置一个客户端版本号,通过接口获取服务器上的版本,如果高于本地的版本就下载服务器上的代码,低于或等于就不更新 代码如下: <script> var http = require('http'); var fs = require('fs'); var request = require('request'); var unzip = require('unzip2'); var Driver = function () { this.timer = ''; th