轻量级桌面运用开辟的捷径——nw.js

博客地址

每一个顺序员都希望用本身喜好的言语,本身喜好的平台、东西,写本身喜好的顺序。因而我们会看到有人在Win下用Visual Studio愉快地coding,也会看到有人在OS X下用Xcode来开辟,或许是用Sublime Text不受平台限定地玩。

固然了,希望往往是优美的,然则适得其反的状况时有发生。假如你基本都是用OS X,却有人让你写一个带有简朴界面的小顺序,保证在他的Win体系上肯定能够运转,那末你是否是有点抓狂。

《轻量级桌面运用开辟的捷径——nw.js》

挑选哪条路?

固然,我能够在Visual Studio(已有Mac OS X版)下用MFC或许其他框架来写,然则总觉得有点重量级,而且不能移植到其他平台(万一哪天让我写个OS X下的界面呢,想一想都毛骨悚然啊!)

所以我想找的就是一个能够跨平台的、轻量级的图形界面开辟的库,因而想到了喜好的Python,然后发明它下面的GUI开辟框架还真不少:wxPython, tkInter, PyGtk, PyQt。

  • wxPython: 起首官网相称简约(貌寝),然后疾速阅读了一下文档,发明有这块:Cross-Platform Development Tips,通知你跨平台要注意哪些东东,看来不是我心中想的那样只需要写一份代码,在差别平台编译一下就能够,因而摒弃。

  • TkInter: 也在其他处所看到有人引荐这个,然则觉得文档迥殊乱,网上一些教程也相称大略,内里界面丑的掉渣,也摒弃了。

背面两个我以至都没耐烦继承看下去了,由于我不经意看到了nw.js,他就像一座灯塔,冥冥之中照亮了行进的方向啊。

nwjs——行进的方向!

Github上nw.js有两万多Star和靠近3000的Fork,申明它已相称成熟,不会是某个人随兴放的一个并不成熟的手艺。而且在Github项目的最背面,显现Intel有资助这个项目,看起来很牛的模样。而且关于nw.js的材料也迥殊完整,起首来看看它的特性:

  • 支撑用HTML5, CSS3, JS和WebGL来写运用顺序,包含桌面端和挪动端;

  • 完整支撑Node.js APIs和一切的第三方模块;

  • 机能也不会很差,关于轻量级的运用足够了;

  • 对运用举行打包和宣布非常简朴,也就是说写一份代码很轻易移植到差别的平台(包含主流的Linux, Mac OS X 和 Windows);

然后作者怕你以为它很难打交道,进而“知难而退”,就在项目主页里用许多slides来引见它。

下面这张slide处理了“nw.js能做什么?”的题目,简朴来讲nw.js就是使HTML, CSS, JavaScript写的原本在阅读器上运转的顺序,也能够在桌面端运转。

《轻量级桌面运用开辟的捷径——nw.js》

下面这张slide处理了“怎样用nw.js完成任务?”的题目,

《轻量级桌面运用开辟的捷径——nw.js》

末了,开辟者怕你疑心nw.js的壮大,又供应了几个Demo许多胜利的案例来消除我们的挂念。

nwjs——拿下助攻!

决议用nw.js以后,就最先补充响应的学问啦。起首本身没有怎样去学过JavaScript, HTML, CSS这类web方面的言语,不过想来也不会比C++难。进修的本钱也应当比进修MFC, wxPython低许多,而且这些言语太基本、运用场景太多了,所以日夕都得相识一下,痛快借这个时机一边学一边做细致的东西。因而买了《JavaScript DOM编程艺术(第2版)》这本书拿来入门。

讲了这么多,还没说我细致要做什么呢,实在要做的事变迥殊简朴,就是统计一本书的页码中一共有多少个0,1,2,3,4,5,6,7,8,9。关于这个题目,细致看前面的那篇博客:讲得邃晓,但写的邃晓吗?

我要完成的目的很简朴,在输入准确的数字时,给出统计效果;输入毛病的数字时,则给出毛病提醒,重置输入框和统计效果。以下:

《轻量级桌面运用开辟的捷径——nw.js》

完成历程相称简朴,迥殊是关于那些做过web开辟的,细致历程就不在这里给出了,只供应一个简朴的顺序逻辑图吧。

《轻量级桌面运用开辟的捷径——nw.js》

源码非常简朴,能够在这里找到,构造以下:

 tree
.
├── index.html
├── main.js
├── package.json
└── style.css

0 directories, 4 files

打包到各个平台也有细致的文档。以Win为例,只需要三步即可:

  1. 将一切工程文件,放在一个文件夹下,确保package.json在根目次,然后紧缩为.zip花样,并将紧缩文件的后缀由.zip改成.nw

  2. 在nw.js的环境目次下实行copy /b nw.exe+you_nw_name.nw you_app_name.exe (这一步以后,就能够在天生的目次中直接运转you_app_name.exe,它依靠同目次下的一些其他库);

  3. Enigma Virtual Boxyou_app_name.exe和依靠的库打包到单个exe文件中,如许我们的运用在没有任何编程环境的win机械上都能够运转。

nwjs——你值得具有!

不得不提nw.js开辟出的运用已涵盖了许多范畴:

  1. WhatsApp 典范的谈天运用,另有Messenger

  2. Powder Player 种子下载,以及视频播放器;

  3. Boson Editor 代码编辑器,以至另有一款Markdown编辑器叫Story-writer

  4. Leanote Desktop App 相似Evernote的笔记类运用顺序;

  5. Mongo Management Studio 数据库治理运用。

来浏览一下一些运用的截图吧,不得不说nw.js开辟出的运用一点不比原生的貌寝啊。

Mongo Management Studio
《轻量级桌面运用开辟的捷径——nw.js》

Soundnode App
《轻量级桌面运用开辟的捷径——nw.js》

看来nw.js赢得了许多喜爱,那末另有什么能阻挠我们拥抱nw.js呢?。

ps:

  • 假如有的链接打不开,先搜检翻开的姿态对不对。

  • 更多文章见 我的主页

    原文作者:selfboot
    原文地址: https://segmentfault.com/a/1190000003862324
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞