直接用nodejs+javascript+html+css也可以创建桌面应用程序啦,前端开发的同学应该都比较感兴趣。

生成的应用程序自带nodejs环境和chrome浏览器环境。

github的atom编辑器就是这么开发的 ,demo:https://atom.io/

目前比较流行的有2个框架:

1. node-webkit 简称nw.js;

https://github.com/nwjs/nw.js

2. electron (github开发和维护)

https://github.com/atom/electron

简单介绍下基于这两个框架怎么开发桌面应用

一: nw.js

1. 去官网下载nw框架:http://nwjs.io/,  下载完后解压:

双击nw.exe直接运行,看到如下界面说明在你的机器上可以运行:

2. 创建hello world 程序

1) :建一个index.html

2).创建配置文件 package.json

还有很多其他有用的属性可以配置,比如指定应用的图标,显不显示浏览器的工具栏,指定浏览器的初始大小等等。https://github.com/rogerwang/node-webkit/wiki/Manifest-format

3).然后将index.html和package.json这两个文件压缩到一个zip压缩包里,命名为app.zip,扩展名改为nw,变为 app.nw

4). 得到的app.nw这个文件就可以用nw.exe来执行了,直接把app.nw拖到下载的node-webkit解压缩后的nw.exe上就可以运行了。

5). 把app.nw文件与node-webkit的环境文件打包成一个可执行文件

a): copy /b nw.exe+app.nw app.exe 得到app.exe
    b): 使用Enigma Virtual Box (下载:http://enigmaprotector.com/en/downloads.html) 合并app.exe 与相关的dll文件

点击process生成exe应用程序。

二: electron

1. 打造第一个 Electron 应用

a. 创建文件:

git clone https://github.com/atom/electron-quick-start
cd electron-quick-start

npm install && npm start

b.打包node+chromium环境和项目代码

安装 electron-packager npm install electron-packager -g

electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> --version=<Electron version> [optional flags...]

@platform - String Allowed values: linux, win32, darwin, all
@arch - String
Allowed values: ia32, x64, all

c. 生成独立的二进制文件

安装 electron-builder

npm install electron-builder -g

electron-builder <sourcedir> --platform=<platform> --config=<configPath> --out=<outputPath>

platform: win,
osx
config: path to config
file
out: path to output the installer

windows下用electron生成应用程序比较麻烦 ,还需要安装nullsoft scriptable installer,   可以到linux下生成windows应用程序

使用这2个框架的优点:

1. 跨平台

2. 学习成本低

缺点:环境包文件体积大

参考文档:

https://cnodejs.org/topic/53233277bfb7097d7a00059e

http://www.csdn.net/article/2014-01-08/2818066-Node-Webkit

https://github.com/atom/electron

https://github.com/atom/electron/blob/master/docs-translations/zh-CN/tutorial/quick-start.md   //中文入门文档

https://www.npmjs.com/package/electron-packager

https://www.npmjs.com/package/electron-builder

http://www.liuhaihua.cn/archives/124970.html 等等

nodejs+chromium 创建桌面应用程序的更多相关文章

  1. WPF简介:VS创建桌面应用程序

    1.简介 1/ 什么是WPF WPF,Windows Presentation Foundation也,译过来就是"Windows呈现基础",你看它的目的非常明确,就是用来把数据& ...

  2. nodejs electron 创建桌面应用

    //首先安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org //使用cnpm进行安装,使用方法和npm相同 cn ...

  3. C#入门---2、C#装备知识(C#创建桌面程序的时候创建的是什么应用程序)

    C#入门---2.C#装备知识(C#创建桌面程序的时候创建的是什么应用程序) 一.总结 一句话总结: WPF应用程序:来替代 WindowsFroms 来创建桌面应用程序 1.什么是控制台程序 Con ...

  4. nodejs打包成桌面程序(exe)的进阶之路

    nodejs打包成桌面程序(exe)的进阶之路 node js bat 前端 计划任务 前言:最近的研究,请大佬们细品 第一篇 - 任务计划程序篇 说真的研究到将nodejs打包成可执行的exe文件是 ...

  5. 用node-webkit(NW.js)创建桌面程序

    以往写windows桌面程序需要用MFC.C#之类的技术,那么如果你只会web开发技术呢?或者说你有一个网站,但是你想把你的网站打包成一个桌面应用程序,该如何做呢? 答案就是用node-webkit这 ...

  6. android 为应用程序创建桌面快捷方式技巧分享

    手机装的软件过多,找起来很不方便,所以在主页面有一个快捷方式的话会很不错的,本文将介绍如何实现,需要了解跟多的朋友可以参考下     我们开发一款软件后,如果手机装的软件过多,去翻的话会很难翻的,所以 ...

  7. Delphi -- 创建 桌面、发送到...、快速启动栏、开始菜单、程序菜单、右键菜 单

    {================================================================= 功 能: 创建 桌面.发送到....快速启动栏.开始菜单.程序菜单 ...

  8. Electron打包H5网页为桌面运行程序

    一.安装配置环境 Electron(一种桌面应用程序运行时),Electron 把 Chromium 和 Node 合并到一个单独的运行时里面,很适合开发桌面 web 形式的应用程序,通过Node它提 ...

  9. electron之Windows下使用 html js css 开发桌面应用程序

    1.atom/electron github: https://github.com/atom/electron 中文文档: https://github.com/atom/electron/tree ...

随机推荐

  1. PHPCMS v9 模型概念及用法

    phpcms v9 模型概念 一.什么是模型? 模型是系统知识的抽象表示.我们不能仅仅通过语言来描述一个系统,也不能仅仅通过记忆来记录关于系统的知识.知识是通过某种媒介来表达的,这种媒介所表达的内容就 ...

  2. po 和 mo 的互相转换

    反编译 mo 文件成 po 文件 msgunfmt test.mo -o test.po 编码 po 文件为 mo 文件 msgfmt -o test.mo test.po 记着备用.

  3. 信息安全实验三:privilege-separation

    title: privilege-separation date: 2016-01-12 14:40:04 categories: tags: --- Exercise1 In order to ga ...

  4. hdu 2992 Hotel booking

    http://acm.hdu.edu.cn/showproblem.php?pid=2992 #include <cstdio> #include <cstring> #inc ...

  5. I2C的读写操作实验

    [实验任务]   利用24C08断电以后存储的数据不消失的特点,可以做一个断电保护装置.首先利用单片机做一个0-99秒的自动计时器.然后随机关断电源,在 通电以后计时器接着断电前的状态继续计时. [实 ...

  6. Delphi从内存流中判断图片格式(好多相关文章)

    废话不多说了,利用内存流来判断文件的格式,其实判断文件的前几个字节就可以简单的判断这个文件是什么类型的文件,例如jpg文件 是 FFD8 (从低位到高位就要反过来 D8FF 下面都是一样)BMP文件  ...

  7. C++11之后,对源代码增加了UTF8和UCS4的支持(Windows内部使用Unicode,因为nt内核用的是ucs2,那是89年,utf8到了92年才发明出来)

    在C++编程中, 我们常打交道的无非是编辑器和编译器, 对编辑器起来说,我们常遇到就是乱码问题, 比如中文注释显示或是保存不了等, 解决办法就是把你的文件保存成Unicode(UTF8). 对于编译器 ...

  8. maven下载及配置

    Maven是一个采用纯Java编写的开 源项目管理工具.Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xm ...

  9. yiic模块module使用

    模块是一个独立的软件单元,它包含 模型, 视图, 控制器 和其他支持的组件. 在许多方面上,模块看起来像一个 应用.主要的区别就是模块不能单独部署,它必须存在于一个应用里. 用户可以像他们访问普通应用 ...

  10. VC++6.0注释快捷键设置

    在Qt Creator,eclipse等编辑器中,都默认有注释代码的快捷键:Ctrl + /. 注释快捷键在程序编程当中的作用相当明显,提高了编程效率.我在网上找到了一个在VC++6.0工具中添加注释 ...