您的个人资料来自要求itunes的更高版本本的NW.js 因此无法使用怎么解决

轻量级桌面应用开发的捷径——nw.js - 简书
轻量级桌面应用开发的捷径——nw.js
每个程序员都希望用自己喜欢的语言,自己喜欢的平台、工具,写自己喜欢的程序。于是我们会看到有人在Win下用Visual Studio愉快地coding,也会看到有人在OS X下用Xcode来开发,或者是用Sublime Text不受平台限制地玩。
当然了,愿望往往是美好的,然而事与愿违的情况时有发生。如果你基本都是用OS X,却有人让你写一个带有简单界面的小程序,保证在他的Win系统上一定可以运行,那么你是不是有点抓狂。
艰难的选择
选择哪条路?
当然,我可以在Visual Studio(已经有)下用MFC或者其他框架来写,但是总感觉有点重量级,并且不能移植到其他平台(万一哪天让我写个OS X下的界面呢,想想都不寒而栗啊!)
所以我想找的就是一个可以跨平台的、轻量级的图形界面开发的库,于是想到了喜欢的Python,然后发现它下面的GUI开发框架还真不少:, , PyGtk, PyQt。
wxPython: 首先官网相当简洁(丑陋),然后快速浏览了一下文档,发现有这块:,告诉你跨平台要注意哪些东东,看来不是我心中想的那样只需要写一份代码,在不同平台编译一下就可以,于是放弃。
TkInter: 也在其他地方看到有人推荐这个,但是感觉文档特别乱,网上一些教程也相当简陋,里面界面丑的掉渣,也放弃了。
后面两个我甚至都没耐心继续看下去了,因为我不经意看到了,他就像一座灯塔,冥冥之中照亮了前进的方向啊。
nwjs——前进的方向!
Github上nw.js有两万多Star和接近3000的Fork,说明它已经相当成熟,不会是某个人随兴放的一个并不成熟的技术。并且在Github项目的最后面,显示Intel有赞助这个项目,看起来很牛的样子。而且关于nw.js的资料也特别齐全,首先来看看它的特点:
支持用HTML5, CSS3, JS和WebGL来写应用程序,包括桌面端和移动端;
完全支持和所有的第三方模块;
性能也不会很差,对于轻量级的应用足够了;
对应用进行打包和发布十分简单,也就是说写一份代码很容易移植到不同的平台(包括主流的Linux, Mac OS X 和 Windows);
然后作者怕你认为它很难打交道,进而“知难而退”,就在项目主页里用许多slides来介绍它。
下面这张slide解决了“nw.js能做什么?”的问题,简单来说nw.js就是使HTML, CSS, JavaScript写的原本在浏览器上运行的程序,也可以在桌面端运行。
下面这张slide解决了“怎么用nw.js完成任务?”的问题,
最后,开发者怕你怀疑nw.js的强大,又提供了和来打消我们的顾虑。
nwjs——拿下助攻!
决定用nw.js之后,就开始补充相应的知识啦。首先自己没有怎么去学过JavaScript, HTML, CSS这类web方面的语言,不过想来也不会比C++难。学习的成本也应该比学习MFC, wxPython低很多,并且这些语言太基础、使用场景太多了,所以早晚都得了解一下,干脆借这个机会一边学一边做具体的东西。于是买了》这本书拿来入门。
讲了这么多,还没说我具体要做什么呢,其实要做的事情特别简单,就是统计一本书的页码中一共有多少个0,1,2,3,4,5,6,7,8,9。关于这个问题,详细看前面的那篇博客:。
我要实现的目标很简单,在输入正确的数字时,给出统计结果;输入错误的数字时,则给出错误提示,重置输入框和统计结果。如下:
实现过程相当简单,特别是对于那些做过web开发的,详细过程就不在这里给出了,只提供一个简单的程序逻辑图吧。
源码十分简单,可以在找到,结构如下:
├── index.html
├── main.js
├── package.json
└── style.css
0 directories, 4 files
打包到各个平台也有。以Win为例,只需要三步即可:
将所有工程文件,放在一个文件夹下,确保package.json在根目录,然后压缩为.zip格式,并将压缩文件的后缀由.zip改为.nw;
在nw.js的环境目录下执行copy /b nw.exe+you_nw_name.nw you_app_name.exe (这一步之后,就可以在生成的目录中直接运行you_app_name.exe,它依赖同目录下的一些其他库);
用将you_app_name.exe和依赖的库打包到单个exe文件中,这样我们的应用在没有任何编程环境的win机器上都可以运行。
nwjs——你值得拥有!
不得不提nw.js开发出的应用已经涵盖了许多领域:
经典的聊天应用,还有;
种子下载,以及视频播放器;
代码编辑器,甚至还有一款Markdown编辑器叫;
类似Evernote的笔记类应用程序;
数据库管理应用。
来欣赏一下一些应用的截图吧,不得不说nw.js开发出的应用一点不比原生的丑陋啊。
看来nw.js赢得了很多青睐,那么还有什么能阻止我们拥抱nw.js呢?。
如果有的链接打不开,先检查打开的姿势对不对。
更多文章,请移步
热爱计算机技术的学生...
在书中寻求心灵的平静...
selfboot,自启动,只有自己能启动自己
所以不要寄希望于别人,自我蜕变展翅飞翔吧!
原文地址:Beyond The Browser: From Web Apps To Desktop Apps原文作者:本文已获原作者 Adam Lynch 授权译文出自:掘金翻译计划译者: bambooom、imink校对者:bambooom、imink、sunui 超越浏...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
版权所有,转载注明。 桌面应用软件,在操作系统中,通过操作系统桌面窗体展现应用内容,并实现用户交互操作。编程语言有很多种,但并不是每一种语言都具有支持UI开发的能力,很多语言支持UI开发能力,是有人专门为之实现的UI开发支持平台。简单地说,需要有专门的语言UI库支持,如C+...
electron比较全比较新,在github的文档也比较多,但是都是英文的,我是蛮喜欢的,因为它跟atom有很多关联,并且蛮好玩的,写好的包拉进它的&浏览器&里面就能运行。
Electron, 虽然其并不支持windows xp, 看看用Electron开发的软...
第三话 「春光里」 文:YuShi 1 “那么,我现在宣布,任命你,代替他,友人A!”她忽然转过头,对我笑着说。 就这样,容不得我拒绝,我就被薰莫名其妙的当成了阿渡的代替品。 薰却像个没事人似的,拉着我就来到了一个甜品店,然后,她又唰唰唰的..点了一堆甜品。而我只要了一杯奶...
不是每个人都能成为自己想要的样子, 但至少可以努力成为自己想要的样子; 不是每个人都能最后让梦想开花, 但至少可以在途中欣赏到异样风景; 不是每个人都能没有伞必须奔跑, 但至少可以淋雨享受自然; 不是每个人都能不成功便成仁, 但至少可以竭尽全力。 PS 我们每天都在干心灵鸡...
其实天下之大,又何止南北。勉强求全,等于固步自封。在你眼中这块饼是个武林;对我来讲是一个世界。所谓大成若缺,有缺憾才能有进步。真管用的话,南拳又何止北传。你说对吗?-----------《一代宗师》 中国传统武术到底能不能实战? 答案无疑是肯定的, 中华文明起源于中原之地,...
作者:宝点网观察团 很多人都觉得家庭理财太高端,有风险,不如平平淡淡地过日子轻松些,而且一旦钱财置于别处容易影响家庭和谐,很多夫妻吵架皆源于钱财,因此一个家庭在理财方面需要达成观点一致。在观点一致的基础上再谈家庭理财这个话题就比较合适了,如果一个家庭中一个人有投资理财意识而...
在讲述这个故事之前,我有一句话要说:编程是一件特别难的事情!成为优秀的编程人员没有捷径,你要拥有高智商,要保持谦逊,还要不断的努力,犯错,在错误中成长,深刻理解你所学习的材料。但是有些人就是一定要寻找捷径,而其中之一,就是使用欺诈的手段。这篇文章讲述的就是我所遇到的一个冒牌...nwjs 开发以及打包 - 简书
nwjs 开发以及打包
0.13版本的分normal,sdk和XXX,只有sdk的可以通过按F12进入控制台。
0.12版本的window平台上打包可以使用Enigma virtual box进行封包。
0.13版本的封包有问题,暂时无法解决。
在引入wilddog的为angular出的wild-angular的时候,注意在前端是不需要用npm来安装依赖的,因为不是后端的nodejs用。而前端在index.html中引用的wilddog得是wilddog-web.js
打包过程:
压缩到zip文件 app.nw
Paste_Image.png
打包可执行文件
copy /b nw.exe+app.nw app.exe
Paste_Image.png
Paste_Image.png
official site
official document
更换icon,可以使用Resource Hacker,但是不够稳定。
找icon到 ,转换png到icon有convertor在线工具
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
原文地址:Beyond The Browser: From Web Apps To Desktop Apps原文作者:本文已获原作者 Adam Lynch 授权译文出自:掘金翻译计划译者: bambooom、imink校对者:bambooom、imink、sunui 超越浏...
Swift版本点击这里欢迎加入QQ群交流:
最新更新日期:17-11-01 About A curated list of iOS objective-C ecosystem. How to Use Simply presscommand+F+&xxx...
此文章转自github:https://github.com/Tim9Liu9/TimLiu-iOS 介绍 这是一个用于iOS开发的各种开源库、开源资料、开源技术等等的索引库. 具体内容 ============================= 版本管理@ 依赖管理@ G...
在那甜瓜成熟的季节一百七十六,扫描二维码了解小说更多细节:对于这门手艺到底是叫吹唢呐还是吹鬼子,我至今没有弄明白,也没有具体去问刘西村的那个头。因为我不想搞的那么明白,只要在丧礼响起这种乐器的声音,我才明白自己也在慢慢老去,母亲离开我的日子又远离了一步,而我“见”母亲的那...
早睡早起318天100篇时间管理系统文章第8篇 文章思维导图 今年2月28日开始写时间管理的文章,受到了很多亲朋好友的讥讽。他们都在嘲笑我一天不停的写,又没有人看,到底图个啥啊? 未必你还想成为作家啊?何必把自己搞的那么累,吃了晚饭打下麻将看下电视多好。我从来没有奢望靠写作...
当我第一次时间知道女儿的中考成绩的时候,着实的高兴了两天,三年的努力没有白费,反而在知道被二中录取时淡定了许多,因为我知道,一个新的开始又摆在了面前,我又得为她准备些什么呢? 你不是一个很聪明的人,比较乖巧,小学六年只参加过英语和国画方面的课外学习,而且都是她自己愿意去的。...
前几天打电话回家,母亲跟往常一样,絮絮叨叨拉着家常:“你爸前段时间胃痛住院了,现在出院了没什么事了;你弟生意还是那么忙,经常见不到人影;有个亲戚前段时间去世了,我和你爸都去奔丧了……”最后说到我的小侄女,满一岁了,咿呀学语,蹒跚学步,胖嘟嘟粉嫩嫩,人见人爱。我在电...
一 将夜煮沸 青丝已斑驳成岁月 用你渐进的温度 弥留下时光荏苒 是的,我开始怨你了 哀怨,像蛀穿了梁的蚁 在心里穿梭,用仅有的希冀 骤然轰塌,被月光洞穿 二 但是,它有一场风花可以温存 则无关相爱的姿态 紧握的未必就是未来 还有一张纸,一个你 像今夜的霜 昨日的露 以及手中...NW.js 入坑指南
时间: 00:28:43
&&&& 阅读:472
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&
NW.js 是基于&Chromium&和&Node.js&运行的, 以前也叫nodeWebkit。这就给了你使用HTML和JavaScript来制作桌面应用的可能。在应用里你可以直接调用Node.js的各种api以及现有的第三方包。因为Chromium和&Node.js&的跨平台,那么你的应用也是可以跨平台的。现在已经有很多知名的应用是基于NW.js实现,这是官方统计的一些列表:&
先下载好最新版的 NW.js,。&我就以&nwjs-v0.12.3-win-x64为例子,先看下有哪些文件吧。
/app/&目录是项目的具体代码;&/package.json&是我添加的,等下再讲它的作用;&项目根目录下的其他文件都是NW.js自带的;
具体的代码可以到&&围观;&我把项目的代码都放在app目录下,然后以版本号区别开,比如这里的v0.0.1;这么做的目的是为后面的版本更新,更新的办法后面会详细说;
/app/v0.0.1/assest/&放置一些资源文件,具体的就不介绍了,等下会介绍下/app/v0.0.1/assest/read.js;
/app/v0.0.1/node_modules/&放置一些第三方包、通过npm管理;
/app/v0.0.1/index.html&项目的入口页面,这里我演示了如何使用第三方包&node-read&来获取一个网页的正文,具体代码可以点;
/app/v0.0.1/node-main.js/&在 package.json里指定;可以在客户端崩溃的情况下,也记录下错误 具体的介绍查看;
/app/v0.0.1/package.json/&告诉NW.js各种信息的配置文件,具体介绍查看;
package.json解析
每个配置项的说明查看;
"name": "demo-app",
"main": "./app/v0.0.1/index.html",//指定项目主页面
"build": "1",//这是为了给更新时判断版本用的
"version": "0.0.1",//当前版本
"homepage": "http://nero-zou.com",
"description": "Nw.js Demo",
"window": {
"title": "Nw.js Demo",//如果 index.html没有title,则会显示这里的值
"icon": "assest/img/logo.png",
"position": "center",
"width": 1280,
"height": 680,
"toolbar": true,//是否隐藏窗口的工具条
"frame": true,//是否显示最外层的框架,设为false之后 窗口的最小化、最大化、关闭 就没有了
"resizable": true,
"min_width": 1028
"node-main": "./app/v0.0.1/node-main.js",//node-main.js 位置
"contributors": [
"name": "邹志强",
"email": "",
"web": "http://nero-zou.com"
"dependencies": { //依赖的包
"MD5": "1.2.1",
"cheerio": "^0.19.0",
"fetch": "^0.3.6",
"node-read": "^0.1.6"
代码加密保护
有些情况下,代码还是不能直接暴露给用户的;我们可以使用&的方式来达到代码加密保护的目的;
具体的方式是使用&/nwjs.exe&来运行&nwjc source.js core.bin命令,然后再index.html里使用require(‘nw.gui‘).Window.get().evalNWBin(null, ‘./app/v0.0.1/core.bin‘);(注意这里的路径,是相对于nw.exe的位置)将代码引入到项目中;&可以查看 使用V8 shapshot 比不使用的&;
注意&使用V8 Snapshot 还是有一些限制的 ,比如;&还有就是加密的代码里不要使用 let、const这些关键字,我曾经就因为这个始终编译不通过;
更新分为两种情况:
仅仅项目的代码需要更新
nw.js本身也需要更新;
通常情况下,不会遇到需要更新nw.js 本身的情况,因为当选定一个版本的NW.js后,就认定它了,除非遇到了什么无法解决的BUG;
那我们先实现仅更新项目的代码这种情况吧,这个比较简单;前面介绍项目接口就提到&/app/v0.0.1/&就是放置V0.0.1的所有代码的位置;&那么如果要更新到V0.0.2,那我们新建一个文件夹&/app/V0.0.2,然后把V0.0.2的代码都放到这个文件下,然后把/package.json替换成新版本的package.json;这样重启客户端之后,然会读取v0.0.2的代码了。具体的更新代码就不写了,可以把新版本的代码打包成zip包,然后客户端下载好,解压就行。
下面说说NW.js本身也需要更新的情况吧,这个目前我还没遇到,所以只能提供一个思路,由于nw.exe在运行时,我们是不能替换它的,那么肯定需要用别的可执行文件来替换它了,我猜的实现方式就是这种思路:
一般都是使用NSIS来打包,但是别忘了在打包前,把需要保护的代码加密,然后删除源文件。干这些机械、无聊的事当然不能让自己来做,必须使用Gulp.js来啊。还能把顺便把代码压缩、文件合并什么的也干了。
里面带的调试工具是不能打断点的,webstorm可以配置,然后就可以断点调试了;&使用NSIS打包别忘了加上文件夹权限的控制,不然会遇到文件无法写入的情况;标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文地址:http://www.cnblogs.com/davygeek/p/7271303.html
&&国之画&&&& &&&&chrome插件&&
版权所有 京ICP备号-2
迷上了代码!他的最新文章
他的热门文章
我的公众号:前端你别闹
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 您的个人资料来自更高 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信