Atitit.现在的常用gui技术与gui技术趋势评价总结
Atitit.现在的常用gui技术与gui技术趋势评价总结
1. Gui俩种分类: native 和 dsl 和 script1
2.1. 几大技术体系(java .net php android ios)都能接受的gui技术 唯一就是h5了。。2
10. Native vs h5到底是不是未来??个人应该如何选择??3
12.1.1. Atiti.ui原理与gui理论 - attilax的专栏 - 博客频道 - CSDN.NET4
1. Gui俩种分类: native 和 dsl 和 script
Native的gui就是界面代码属于编译型语言写的,需要修改代码就要重新编译打包,比较麻烦,唯一优点就是性能。。
Dsl的gui语言典型的就是html语言标记语言。说明what而不是说明how。。
脚本script gui语言,script 鉴于 native 和dsl直接,属于中间派。
他们各有优点
但从未来趋势看与可读性可维护性可扩展考虑,优先的选择顺序gui技术为: html5>> script >>native
2. 最好的跨平台gui技术h5
HTML5的跨平台优势在移动互联网时代被进一步凸显。HTML5是唯一一个通吃PC、Mac、iPhone、iPad、Android、Windows Phone等主流平台的跨平台语言。Java和Flash都曾梦想这个位置,但梦断于iOS。此时人们纷纷开始研究基于HTML5开发跨平台手机应用。很多人当时认为,原生应用只是过渡,就像当年从C/S结构转变为B/S结构一样。
2.1. 几大技术体系(java .net php android ios)都能接受的gui技术 唯一就是h5了。。
3. 如何评价gui各个解决方案??
应该从以下指标判断
**是否跨平台? 当然是跨平台的好了
**属于dsl还是native体系??Dsl加分,native减分。
**属于open体系还是封闭体系? Open加分。。。比如java和net,应该优先选择java这类open体系技术
**支持公司历史如何??
比如ms这类黑历史的公司,当年的技术vb pb vc几乎直接就淘汰了,以广大用户为小白鼠,遇到此类公司的技术要慎重选择。
**支持公司是否有自己的价值观??
比如adobe这类打酱油的软件技术公司,没有自己价值观,所以它的flash技术就没落了。而曾经的sun公司,就是一个有价值观的公司,所以虽然他自己被收购了,但是技术广为流传。。
**支持公司实力如何,小公司的gui方案不要选,除非以及广为人知,类似open体系了。。Delphi的遭遇。。
**是否生态区与技术工具齐全,资料好找??
4. 公司选择与个人选择的矛盾
在国内环境下,特别是小公司,小企业,自身寿命并不长久,也就不关注技术方案,只要快了就好,所以很喜欢ms体系的一系列技术,曾经的vb pb delphi的很多。
不过大公司一般喜欢open开发的技术体系
个人如何选择??个人的职业生涯几十年,远远常于部分技术周期。。应该优先选择有着长远发展的技术。。
当然,如果打算干几年就转行或者无所谓,也可以选择自己喜欢的技术即可,青菜萝卜各有所爱嘛,或者环境所迫,小公司就是喜欢短周期技术,也只能被迫使用了。。
鱼和熊掌不可兼得。。
技术没有好坏,只有适合不适合,只要与自己规划的适合,就是合适的技术。。
5. Swing,swt (java native
Swing,swt属于native gui,html出现以前,最为跨平台gui的技术。但是只适用于java体系
6. Winform( net ms native)
Ms的native gui技术。Net体系技术。。个人不看好此技术,第一,native体系趋势不妙
第二,net体系趋势不妙, 第三 ms的黑历史, ms喜欢淘汰自己发明的东东,让广大用户当小白鼠,vp pb vc的惨淡下场,预知未来就的回首历史,从ms公司的历史角度看,winform要淘汰了。。
7. Wpf (ms的h5)
就是ms的私有h5技术。。最重要的是不是open的。。虽然属于dsl体系,加分项。。单也属于net体系和ms体系,减分项。。个人不看好。但是未来大概率趋势的要淘汰这类私有技术,当然有人喜欢也无所谓。。反正很多小企业自己也就几年寿命,要求不高。。
8. Android ios的native ui技术
9. Qt gtk (c++ c native gui)
10. Native vs h5到底是不是未来??个人应该如何选择??
很多人当时认为,原生应用只是过渡,就像当年从C/S结构转变为B/S结构一样。
Native当然依然会存在,就像在java时代,c++依然存在一样,汽车时代,马车依然存在,但是市场份额就大大的较少了..
福祸相依,好处也有,虽然职位提供少了,但是每个职位的含金量提高了。。比如,现在时代,养马就成了贵族活动,比起以前的养马职业,现代的当然赚钱了。。
对于广大的普通民众来说,还是要顺应趋势,以市场流行技术最好。。
对于少数人来说,相对的衣食不愁,按着兴趣搞搞native方案,也是不错的选择。
根据自己的实际情况来选择不同的技术道路。。一个人一个哈姆雷特。。
11. 各种gui适用的场合
绝大部分系统,h5就比较合适。。
少数游戏等少数重度依赖gui性能的,native比较合适。。不过目前很多游戏随着硬件系列的发展,也开始像script化,h5化发展了。
至于图形 视频处理什么的虽然后端处理依赖极高性能,但是gui方面并不那么依赖性能,可以在gui使用h5,后端使用高性能方案即可
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
12. 参考资料
HTML5定稿了,为什么原生App世界将被颠覆 - Gabriel的专栏 - 博客频道 - CSDN.NET.html
atitit.跨平台gui 概览 - attilax的专栏 - 博客频道 - CSDN.NET.html
12.0.1. Atiti.ui原理与gui理论 - attilax的专栏 - 博客频道 - CSDN.NET
paip.调用GUI接口. - attilax的专栏 - 博客频道 - CSDN.NET.html
atiend
Atitit.现在的常用gui技术与gui技术趋势评价总结的更多相关文章
- Atitit 自动化gui 与 发帖机 技术
Atitit 自动化gui 与 发帖机 技术 1.1. Gui tech1 1.2. 自动化软件测试1 1.3. selenium attilax1 1.4. 图形脚本语言Sikuli1 1.5. ...
- Atitit.gui api自动化调用技术原理与实践
Atitit.gui api自动化调用技术原理与实践 gui接口实现分类(h5,win gui, paint opengl,,swing,,.net winform,)1 Solu cate1 Sol ...
- atitit 商业项目常用模块技术知识点 v3 qc29
atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...
- Atitit 全屏模式的cs桌面客户端软件gui h5解决方案 Kiosk模式
Atitit 全屏模式的cs桌面客户端软件gui h5解决方案 Kiosk模式 1.1. Kiosk Software广泛用于公共电脑或者嵌入系统,最常用的就是ATM机.自动服务机之类的系统了.,1 ...
- Atitit图像识别的常用特征大总结attilax大总结
Atitit图像识别的常用特征大总结attilax大总结 1.1. 常用的图像特征有颜色特征.纹理特征.形状特征.空间关系特征. 1 1.2. HOG特征:方向梯度直方图(Histogram of O ...
- Atitit.进程管理常用api
Atitit.进程管理常用api 1 常用api 进程列表 getProcessList 是否存在某个进程判断 isExistProcess 启动进程run Sleep Exit Shutdown 作 ...
- 工具栏对象GUI Status 与GUI Title
GUI Status 与GUI Title用于自定义工具栏按钮及Report程序标题栏显示内容, 可以通过se41\SE80或直接SE38中展开对象列表进行相关操作. 如下是在SE38里,点击[显示物 ...
- atitit。企业组织与软件project的策略 战略 趋势 原则 attilax 大总结
atitit. 企业组织与软件project的策略 战略 趋势 原则 attilax 大总结 1. 战略规划,适当的过度设计 1 2. 跨平台化 1 3. 可扩展性高于一切 1 4. 界面html5化 ...
- zz2017-2018年AI技术前沿进展与趋势
2017年AI技术前沿进展与趋势 人工智能最近三年发展得如火如荼,学术界.工业界.投资界各方一起发力,硬件.算法与数据共同发展,不仅仅是大型互联网公司,包括大量创业公司以及传统行业的公司都开始涉足人工 ...
随机推荐
- mysql数据表操作&库操作
首先登陆mysql:mysql -uroot -proot -P3306 -h127.0.0.1 查看所有的库:show databases; 进入一个库:use database; 显示所在的库:s ...
- flask_分页
一.提交博客文章 1.定义一个单字段的表单对象(form.py) class PostForm(Form): post = StringField('post', validators=[DataRe ...
- 【线段树套平衡树】【pb_ds】bzoj3196 Tyvj 1730 二逼平衡树
线段树套pb_ds里的平衡树,在洛谷OJ上测试,后三个测试点TLE #include<cstdio> #include<algorithm> #include<ext/p ...
- 浅析JVM内存结构和6大区域(转)举例非常好
内存作为系统中重要的资源,对于系统稳定运行和高效运行起到了关键的作用,Java和C之类的语言不同,不需要开发人员来分配内存和回收内存,而是由JVM来管理对象内存的分配以及对象内存的回收(又称为垃圾回收 ...
- 【Thinking in Java】组合、继承和代理的区别
三者的定义: 组合:在新类中new 另外一个类的对象,以添加该对象的特性. 继承:从基类继承得到子类,获得基类的特性. 代理:在代理类中创建某功能的类,调用类的一些方法以获得该类的部分特性. 使用场合 ...
- jetty9 安装部署更改端口号
1.下载jetty 并解压到指定目录 2.更改默认端口号--在start.d中的http.ini中修改 3.启动服务 在jetty的根目录中输入命令 java -jar start.jar 服务就启 ...
- VS2012下配置OpenCV2.4.5
最近在折腾了一下VS2012的OpenCVS2.4.5配置,同VS2010下基本相同,做个简单的记录,以备日后查阅. 1. 安装OpenCV 从OpenCV官网:http://opencv.org/下 ...
- 织梦CMS实现多条件筛选功能
用织梦实现筛选的功能,其实主要就是运用到了织梦的高级搜索功能,然后用ajax去post替换掉本来的结果就可以了. 其实筛选的话,主要有两个问题需要解决,一个是前台的筛选实现,一个是后台根据前台的点击, ...
- STL学习
//vector的使用 //相当于数组,常用的 添加 删除 清空 测长 操作 #include<iostream> #include<algorithm> #include&l ...
- Win10 设置外网多用户远程桌面连接
主要原理:利用路由器的虚拟服务器功能,将内网的Ip地址通过端口映射提供给外网,使得外网能够访问到目的主机. 1. 配置路由器上的虚拟服务器,假设目的主机内网的ip为192.168.1.100,则配置如 ...