三款前端工程师桌面应用开发神器!

http://mini.eastday.com/a/160630023107669-2.html

如果我告诉你,以后你们可以用前端语言(html5+css3+js)开发桌面应用、可以使用html5最新的特性和CSS3动效还不用考虑兼容性,你们是不是会觉得不可思议?

下面我们就来给大家介绍一下,目前开发市场中比较成熟的PC端前端混合应用的开发神器,那些让前端工程师做梦都能笑醒的混合框架!

NW.js(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

Electron

Electron是一款利用Web技术开发跨平台桌面应用的框架,它的前身是Atom Shell。从它前身的名字可以看出,Electron的诞生,离不开GitHub开源编辑器Atom的发布。

Electron和NW.js(前身是Node-Webkit)有很多相似的地方,两者都是利用NodeJS和Webkit渲染器解释JavaScript和渲染HTML,使Web技术应用于桌面应用,但两者又有所不同。Electron的工作方式更接近于Node.js运行环境(“Electron works more like the Node.js runtime”),而NW.js更像是将一系列网页打包起来运行在本地的网站。

项目地址:https://github.com/atom/electron

heX

heX 提供了一种全新的构建桌面应用的方式,可以使用 web 技术快速构建跨平台的桌面应用。heX 基于 CEF 并且融合了 Chromium 与 Node.js,所以我们可以在 web 页面中使用各种 Node.js 原生模块及第三方扩展,同时在这些模块及扩展中还可以访问到 HTML 中的 DOM 元素。此外,heX 甚至可以以一种 web 容器的方式嵌入到桌面应用的工程中。

heX 首页:http://hex.youdao.com

源代码:https://github.com/netease-youdao/hex

邮件组:https://groups.google.com/group/youdao_hex

Blog:http://hex.youdao.com/blog

Wiki:https://github.com/netease-youdao/hex/wiki

问题:https://github.com/netease-youdao/hex/issues

用HTML开发Windows桌面应用程序1  传统方式与WEB方式的对比

http://blog.csdn.net/xiaoaiai/article/details/46043077

请问现在使用 electron 开发桌面应用怎么样呢,有什么明显的缺点吗

https://www.v2ex.com/t/302104

web技术开发桌面应用的更多相关文章

  1. 用web技术开发出原生的App应用的体会(1)

    本人是是个前端小白,学前端已经有半年的时间了,前几天开了个博客,希望记录自己学习历程的点滴. 今天要写的是关于用html,css,javascript等web技术开发原生的app应用. 总所周知,we ...

  2. 用Web技术开发客户端(一)

    http://www.cnblogs.com/lefan/archive/2012/12/27/2836400.html 范怀宇(@duguguiyu)分享了<豌豆荚2.0重构时遇到的坑> ...

  3. 如何用Web技术开发Windows Form应用

    现在H5很热,很多互联网公司的产品都采用混合编程,其中各个平台客户端的“壳”为原生控件,但是内容很多都是Web网页,因此可以做出很多炫酷的效果.随着Node.js和Ionic等框架的出现,现在感觉Ja ...

  4. 快速了解Electron:新一代基于Web的跨平台桌面技术

    本文引用了作者“ ConardLi”的<用JS开发跨平台桌面应用,从原理到实践>一文部分内容,原文链接:segmentfault.com/a/1190000019426512,感谢原作者的 ...

  5. 使用nwjs开发桌面应用之Hello,World!

    今天发现原来JavaScript也可以用来开发桌面应用程序,顿时有一种很牛逼的感觉,于是马上就开始了Hello,World!,感受一下JavaScript的强大. 可以用来开发桌面应用的js框架有三种 ...

  6. 使用Nwjs开发桌面应用体验

    之前一直用.net开发桌面应用,最近由于公司需要转为nodejs,但也是一直用nodejs开发后台应用,网站,接口等.近期,需要开发一个客户端,想着既然nodejs号称全栈,就试一下开发桌面应用到底行 ...

  7. Nwjs开发桌面应用

    使用Nwjs开发桌面应用体验 https://www.cnblogs.com/zhupengfei/p/8906131.html 之前一直用.net开发桌面应用,最近由于公司需要转为nodejs,但也 ...

  8. node.js 开发桌面程序, 10个令人惊讶的NodeJS开源项目

    用 node-webkit 开源框架. 做企业站,杠杠地 包括电子书和支付宝系统都是node开发的,. 接收传感器发送的数据再运算...对水泵.风机.空调这些硬件进行远程控制. 细数10个令人惊讶的N ...

  9. 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)

    版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...

随机推荐

  1. 0609-搭建ResNet网络

    0609-搭建ResNet网络 目录 一.ResNet 网络概述 二.利用 torch 实现 ResNet34 网络 三.torchvision 中的 resnet34网络调用 四.第六章总结 pyt ...

  2. 1-2 postman工具简介

    postman提供了一个多窗口和多选项卡页面用于发送和接受请求,postman努力保持整洁和灵活,提供更多的空间,满足用户的需要.他很简单,能满足大部分接口的测试,性价比特别高.如图所示:  1.侧边 ...

  3. 2sat建边总结

    2sat的基础建边 AND = 1 : ~x -> x ,~y -> y   (两个数必须全为1) AND = 0 : y -> ~x ,x -> ~y  (两个数至少有一个为 ...

  4. Day007 递归

    递归 定义 ​ A方法调A方法!就是自己调自己 作用 ​ 利用递归可以用简单的程序来解决一些复杂的问题.它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程 ...

  5. 阿里面试官用HashMap把我问倒了

    本人是一名大三学生,最近在找暑期实习,其中也面试过两次阿里,一次菜鸟网络部门.一次网商银行部门,当然我都失败了,同时也让我印象很深刻,因此记录了其中一些面试心得,我觉得这个问题很值得分享,因此分享给大 ...

  6. 10.qml-组件、Loader、Component介绍

    1.组件介绍 一个组件通常由一个qml文件定义(单独文件定义组件), 实际也可以在qml里面通过Component对象来嵌入式定义组件 (4小节讲解). Component对象封装的内容默认不会显示, ...

  7. 『居善地』接口测试 — 5、使用Requests库发送POST请求

    目录 1.请求正文是application/x-www-form-urlencoded 2.请求正文是raw (1)json格式文本(application/json) (2)xml格式文本(text ...

  8. 腾讯云原生混合云-第三方集群弹EKS应对突发流量的利器

    作者 何鹏飞,腾讯云专家产品经理,曾作为容器私有云.TKEStack的产品经理兼架构师,参与腾讯云内部业务.外部客户容器化改造方案设计,目前负责云原生混合云产品方案设计工作. 胡晓亮,腾讯云专家工程师 ...

  9. 用fseek和ftell获取文件的大小

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc,char ...

  10. readdir_r()读取目录内容

    readdir()在多线程操作中不安全,Linux提供了readdir_r()实现多线程读取目录内容操作. #include <stdio.h> #include <stdlib.h ...