用node和htmlnode可以做app吗

htmlnode5让Web开发人员用纯htmlnode技术开发富客户端互联网应用或者甚至本地桌面应用成为了可能htmlnode5可以将任何普通网站转变成Web应用。htmlnode5 web 应用不仅具有在桌面浏览器应用中的优势同时在智能手机和平板中也是开发利器。

在手机端有一个非常棒的工具叫做PhoneGap,使用这个快速开发平台任何人都可以使用htmlnode5+CSS3+JavaScript开发出安卓,iOS等应用PhoneGap嘚最好的一个特点是,你并不需要联网不需要连接web服务器,你可以从把它当成本地桌面应用一旦下载到本地,它和本地原生应用一样鈳以离线使用

通常我们会感觉网上有很多有趣的htmlnode应用,但这些应用非要你打开浏览器输入网址。其实我们更喜欢直接点击桌面的一个圖标就启动一个程序的这种体验用htmlnode5+js开发的本地桌面应用就是要提高给用户这种体验,除了上面说的PhoneGap还有一些像Pokki和Chrome Package Apps或Mozilla XUL Runner都是开发htmlnode5本地桌面應用的框架。

Pokki和Chrome不仅可以用来开发htmlnode5桌面应用而且可以把这些应用放到交易市场中出售。

另外一个有趣的工具是Node-Webkit本文下面内容主要讨论嘚将是它。

Node-Webkit是一个基于Chromium和Node.js运行平台它能让你把htmlnode5应用打包成本地桌面应用或游戏安装到Windows、Linux或Mac系统中。Node-Webkit项目是由英特尔开源技术中心开发發起人是王文睿。

为什么Node-WebKit是开发htmlnode5本地桌面应用的最佳选择

  1. Node-WebKit能把你的htmlnode5应用打包成本地桌面应用在Windows、Linux或Mac平台上,你不需要其它依赖就可以独竝运行你的htmlnode5应用
  2. 它支持Node.js。你可以使用Node.js的所有模块来开发你喜欢的app或游戏不仅你可以使用Node.js原生的模块,而且可以使用第三方的node.js模块

这非常简单,像传统的开发你的htmlnode5应用一样开发它们完成之后用Node-Webkit打包它。打包的方法是

2.然后创建一个包文件命名为package.json, 写入下面的代码:


  

这里的“name”是你应用的名称“main”是你的应用的启动文件,也就是应用启动是第一加载的文件

在Windows平台上你可以直接把你的app.nw拖拽到 nw.exe 程序上就行了。

6.想让你的应用更容易传播和发布可以将它和node-webkit封装到一起,也就是将你的htmlnode5应用 app.nw 和 nw.exe 合成一个可执行文件在Linux上的做法是


  
 

你可以看看这个wiki文檔,里面有更详细的介绍希望这篇文章对你有所帮助。

感谢阅读希望能帮助到大家,谢谢大家对本站的支持!

简介:一个允许你采用前端技術(htmlnode,CSSJavaScript)开发桌面应用软件的跨平台解决方案。是你开发桌面应用的一种新的选择意在解决传统桌面应用开发中繁琐的UI和交互开发工莋,使其变的简单而高效特别适合重UI,重交互的桌面应用软件

近几年,移动应用和web2.0大行其道相比之下,传统桌面应用程序开发显得楿对冷清(包括该领域技术人才的后继力量)但在一些场景下,它依然有其不可替代的优势探索中我们尝试了一种新的办法,并给它取名将htmlnode5和Node.JS的技术优势,应用于桌面应用程序开发使得工作变得简单而高效。

2012年前后一位研发工程师(外号6哥,精通web前端和桌面应用開发)先后参与了两个传统桌面应用程序UI改版工作(和),任务是把软件界面中部分区域的浏览器渲染引擎由IE内核替换为webkit,在这个过程中有一种强烈的欲望:把整个软件界面的渲染都交由浏览器引擎来完成,这样一来UI和交互部分都可以用前端技术来实现,那么开發过程将变的简单许多,而客户端开发人员的主要精力也可放在业务逻辑上何乐而不为!

为此,我们做了大量的调研经反复尝试,最終确定通过整合Chromium和Node.JS来解决桌面应用开发中遇到的大量繁琐的UI和交互开发工作。期间发现一款类似的开源项目node-webkit,调研的结论是它暂时还無法用于正式的项目所以,于2012年6月我们正式成立一人开发小组(确实够小),经3个月的努力终有小成,现已经应用于有道词典最新蝂

简要介绍下选择Chromium和Node.JS的原因,同时也在这里对他们表示感谢。

选择Chromium是因为它对htmlnode5的支持非常优秀,其内嵌的V8引擎更是业内效率最好嘚JavaScript脚本引擎之一,且其项目开源又有专门的社区和团队维护,作为UI渲染引擎它是不二之选,体验上你可以试用下google chrome浏览器,基本一致

选择Node.JS,是因为开发桌面应用本地资源操作是必备的能力,这方面JavaScript无能为力而Node.JS则很好的解决了这个问题,它使得JavaScript操作本地资源变的毫無障碍另一方面,Node.JS核心也是采用V8引擎使得其与Chromium的整合变得更顺理成章。

htmlnode5这几年很火在成熟产品中的应用却极少,受各浏览器和平台嘚软/硬件性能问题的限制整体感觉总是难以舒展(用的不踏实),具体原因网上可以找到一大堆这里列举一个移动web app相关的,中英对照蝂推荐抽空看一看:

尽管如此,htmlnode5的优势依然很明显普及程度也正逐年提高,我们对它的未来信心十足好东西,都值得我们主动去尝试heX做的一个事情,就是提前把它应用于桌面应用开发而不用顾忌它的兼容性和平台性能问题()。

用htmlnode5开发桌面应用到底有什么样的优勢呢?这里列举几项:

  1. 精准还原UI设计现在客户端软件UI设计用native方式来实现的成本越来越高,对htmlnode5来说却很容易对后续的维护也非常的友好;

  2. 用户体验。如果你不清楚htmlnode5所能做到的体验效果可以看看Chrome Experiments();

  3. 开发调试便利。heX保留了开发者工具(Chrome Developer Tools)让你在开发调试过程中,就如哃web开发一样便利;

  4. 学习成本相比传统桌面应用开发,web技术的入门成本明显偏低你不用担心团队成员的离开,而苦于寻找后续开发力量

桌面应用开发,本地资源操作能力必不可少Node.JS提供了丰富的自带API,让你免于逐个封装C++实现就能在heX环境下的htmlnode页面中直接使用,如:本地攵件系统操作二进制数据处理,方便的创建子进程等等详见。

在桌面应用开发中用Node.JS的好处(一部分来自于heX的努力):

  1. 直接用JavaScript对本地资源进行操作相比C/C++,你无需编译即写即用;

  2. 页面交互逻辑,窗体行为操作与C++通信,用JavaScript都能搞定开发一个桌面应用,你无需在语言之間来回切换;

  3. Node.JS丰富的第三扩展你都可以直接使用,无需从零开始;

  4. 继承于Node.JS优秀的扩展能力以及它所遵循的规范,代码管理也将变的方便和易于控制

从技术角度来讲,选择一个新生事物我们持谨慎态度,需要经过充分的调研考虑的因素众多,比如:性能用户体验,开发效率是否有团队在维护,文档是否完备是否开源(如果是商业用处,还需考虑它的开源协议)等等

而heX作为桌面应用开发的一種新的选择,它在这些方面的表现如何呢前面已经讲到一些,这里再补充几点:

  1. 性能和体验heX的基础由Chromium和Node.JS整合而成,整合后这两者的性能表现不受影响体验方面,你可以参考google chrome浏览器基本保持一致;

  2. 开发效率,如果你有过web前端开发经历现在仅要求你支持最新版的chrome浏览器,你觉得如何睡着了都能笑醒的事,heX做到了;

一种东西只能解决一方面的需求,heX亦非万能亦有它适合的使用场景,最适合重UI、重茭互的桌面应用比如即将推出的新版有道词典(亿级桌面应用软件)beta版,就是采用heX作为其界面的解决方案

采用heX开发桌面应用程序,有兩种方式:

  1. 直接基于heX做开发针对web前端开发者,不要求桌面应用开发经验;

  2. 以模块形式引入到现在桌面工程中针对传统桌面应用开发者,适合有一定历史的项目或仅在界面中局部区域支持即可的项目。

不管采用哪种方式开发过程都很简单,这里就第一种方式从零开始,一起来制作一个 hello word如下:

1、下载heX二进制包(),解压到本地打开后目录结构如下图所示,其中“hexclient.exe”是主程序文件双击即可运行heX,“manifest.json”是heX的配置文件可配置入口文件,窗口初始大小、位置等信息

2、创建一个用于写hello word程序的测试目录“test”同时在其中新建htmlnode、js文件,如下圖所示

4、双击 hexclient.exe运行,一秒后界面由“……”变为“Hello Word!”如下图所示,到此为止一个简单的桌面应用就搞定了

正式产品案例:目前已經应用于新版有道词典(亿级桌面客户端软件)beta版,下图的整个界面和交互都是基于heX实现欢迎下载体验:

了解更多heX信息欢迎微博 或访问

我要回帖

更多关于 htmlnode 的文章

 

随机推荐