使用XUL开发跨平台桌面应用
先上图:
现在使用html,css,js开发桌面的优势越来越明显了,硬件性能的不断提升,人力成本越发昂贵,用户对界面要求越来越高,全球化下企业间的竞争越发激烈。
桌面软件50%+的工作量都在界面开发这一层。如果用户发现软件好用,会对软件提过更进一步的要求。
“童鞋,这是一条日志信息是吧?打印出一个目标出现异常,我点击这条信息,让我跳转定位到这个目标呗。”
“这个异常目标名称能否改用红色字体?”
。。。。BALABALABALALA。。。。
“没问题,晚上加个班。“ (MD! 日志我用CStatic控件显示的。。。)
html开发界面很方便,而且界面那个漂亮呐。
但是。。。
可供嵌入的成熟的浏览器引擎也只有webkit, gecko。你非要说嵌入IE也能用于开发,我也没有办法。webkit著名的有cef, 怎么那么大?怎么一打开就崩了哦,没得事,有各种阉割版的,很小很好用,嘻嘻。怎么这个效果显示不出来,你割成哪个版本的了?不对,你是在哪个版本上割的?Gecko ?我翻山越岭,找到的怎么都是v1.9.2版的。
各种开源web embedding方案,无法提供满足商业开发所需的稳定和支持,是html开发桌面应用的第一大障碍。
第二个障碍就是。。。
做个进度条呗,自己造!
做个右键菜单呗,咦,怎么被窗口挡住了。
做个分割条吧,怎么这么复杂?
菜单栏,工具栏,表格,树形目录,多国语言,好吧,头有点大,让我先休息一会儿。
XUL是经过测试的真正的应用程序框架。著名的firefox浏览器界面就是用XUL开发的。XUL支持控件的本机显示,同样的标签在不同系统下使用本系统的外观,保证界面一致性,提高了用户体验。
可以使用css, html自定义内置控件.
第三大障碍:性能
"二师兄,曲线绘图怎么这么慢,机子都卡死掉了,CPU 100%,你看鼠标,这鼠标拖都拖不动。"
"大哥,同时显示几百个目标,现在图表绘制的数据都几百MB了"
"我这是服务器,32个核心,8TB的内存!"
。。。
高逼格的硬件是给高负载的应用配置的,不是给码农配置的。硬件性能不断提升的当下,软件需要处理的数据量在以更快的倍数提升。
Demo演示(13MB+2MB(插件大小)):
http://oltag.com:8080/yaolixing/18/10/07/他山界面演示v22.0.2_plugins.rar
OHUI for Linux have been completed, and will be released soon.OHUI source code being sold globally.
If you have any advice,please contact me:
https://groups.google.com/d/forum/other-hill-gui
or
QQ groups: 264695584
使用XUL开发跨平台桌面应用的更多相关文章
- Electron+Vue开发跨平台桌面应用
Electron+Vue开发跨平台桌面应用 xiangzhihong发布于 2019-12-23 虽然B/S是目前开发的主流,但是C/S仍然有很大的市场需求.受限于浏览器的沙盒限制,网页应用无法满足某 ...
- Electron开发跨平台桌面程序入门教程
最近一直在学习 Electron 开发桌面应用程序,在尝试了 java swing 和 FXjava 后,感叹还是 Electron 开发桌面应用上手最快.我会在这一篇文章中实现一个HelloWord ...
- 快速了解Electron:新一代基于Web的跨平台桌面技术
本文引用了作者“ ConardLi”的<用JS开发跨平台桌面应用,从原理到实践>一文部分内容,原文链接:segmentfault.com/a/1190000019426512,感谢原作者的 ...
- nodegui 使用react开发跨平台应用试用
nodegui官方团队提供了基于react 应用开发方式,同时我们集成官方的packer 进行快速的应用打包 项目说明 项目使用了官方的计算机应用,我使用官方的react starter,同时添加了p ...
- 使用JavaScript开发跨平台的桌面应用
任何可以使用JavaScript来编写的应用,最终会由JavaScript编写.--Atwood定律 Atwood's Law是Jeff Atwood在2007年提出的:"any appli ...
- 用HTML5+JS开发跨平台的桌面应用
通过Node.js和WebKit技术的融合,开发者可以用HTML5技术编写UI,同时又能利用Node.js平台上众多library访问本地OS的能力,最终达到用Web技术就可以编写桌面应用的目的. 选 ...
- 使用nodegui 开发高性能的跨平台桌面端应用
nodegui 是基于qt + nodejs 的跨平台桌面开发方案,官方同时也提供了很不错的文档 简单使用 使用官方的starter clone 代码 git clone https://github ...
- 带你从零学ReactNative开发跨平台App开发(七)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 使用c++开发跨平台的程序
使用c++开发跨平台的程序 背景 在开发过程中,使用c++作为开发语言,通常被认为是痛苦的,啰嗦的,超长开发时间的.最近几年有各种各样的语言被广泛使用,相对比来说c++不是那么出彩.c++虽然年龄大, ...
随机推荐
- 【GC概述以及查看堆内存使用】Java内存管理和GC学习
内存划分 1.JAVA内存主要划分为方法栈.方法区.堆. 2.方法栈上内存会自动释放: 3.方法区上主要加载了类的元信息.静态变量.常量.改区域又称为持久代(Perm Gen),默认是最小16M,最大 ...
- [poj2368]Buttons_博弈论
Buttons poj-2368 题目大意:给定n个按钮,每次可以按动[1,t]个.求最小的t使得先手必败. 注释:$1\le n\le 10^8$. 想法:经典巴什博弈. 求n的最小非1约数-1即可 ...
- SVN提交时报错:Commit blocked by pre-commit hook (exit code 1) with no output.
可能的原因: 提交代码的SVN命令中,Comment长度短了.参考:http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-minl ...
- OSX: node中安装zeromq
1. brew install pkg-config2. brew install zmq3. export PKG_CONFIG_PATH="/usr/local/lib/pkgconfi ...
- Manthan, Codefest 16 F
寻找树上最大权值和的两条不相交的路径. 树形DP题.挺难的,对于我…… 定义三个变量ma[MAXN], t[MAXN], sum[MAXN] 其中,ma[i]代表i子树中,最长的路径和 t[i]代表i ...
- C++对象模型——继承体系下的对象构造(第五章)
5.2 继承体系下的对象构造 当定义一个object例如以下: T object; 时,实际上会发生什么事情呢?假设T有一个constructor(不论是由user提供或是由编译器合成),它会被调用. ...
- 假设写一段代码引导PC开机这段代码是 ? Here is a tiny "OS" :-D
Hello world -- OS 我找到了华科绍志远博士的相关代码,发现他依据MIT的JOS的boot.S 稍作改动.然后单独剥离出来,能够非常好玩~ 资料下载地址: http://download ...
- STL源代码剖析(二) - 迭代器与traits技法
提要 先看一段用迭代器的代码: int a[] = {1, 2, 3, 4, 5}; vector<int> v1( a, a+5); vector<int>::iterato ...
- iOS中的成员变量,实例变量,属性变量
在ios第一版中: 我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如: 注意:(这个是以前的用法) @interface MyV ...
- android中ping命令的实现
/** * 推断Ping 网址是否返回成功 * * @param netAddress * @return */ public static String isPingSuccess(int pin ...