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技术前沿进展与趋势 人工智能最近三年发展得如火如荼,学术界.工业界.投资界各方一起发力,硬件.算法与数据共同发展,不仅仅是大型互联网公司,包括大量创业公司以及传统行业的公司都开始涉足人工 ... 
随机推荐
- PHP对redis操作详解【转】
			/*1.Connection*/ $redis = new Redis(); $redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超 ... 
- oracle 中start with 的用法
			在重新开发已经有过的一个项目时,参考原本的sql,在一个存储过程中有用到 start with connect by,从网络找到下面资料. Oracle 提供了start with connect b ... 
- (转)Linux下root密码丢失和运行级别错误的解决办法
			我们知道,root用户在Linux中是相当重要的,其地位如同Windows中的Adminstrator 有了root权限我们还能修改其他用户的密码,可是,如果root用户的密码丢失该怎么办? 不用担心 ... 
- 关于JS Date 时间计算
			倒计时功能Demo:http://play.163.com/special/test-timeending/?1465197963677 获取时间 Date() 返回当日的日期和时间. getDate ... 
- 客户端JS性能的一些优化的小技巧
			下面是一些关于客户端JS性能的一些优化的小技巧:1.[顶]关于JS的循环,循环是一种常用的流程控制.JS提供了三种循环:for(;;). while().for(in).在这三种循环中 for(in) ... 
- Windows下mysql忘记root密码的解决方法
			1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令: net stop mysql 打开第一个cmd窗口,切换到mysql的bin目录,运行命令: mysql ... 
- Bookstore project using XAMPP 详细配置 Part 1
			这是学校的一个project,记录在这里,以备复习.主要是用XAMPP通过phpMyAdmin连接MySQL数据库,实现一个简单的查询功能. Outline Setup of XAMPP Implem ... 
- 工作随笔——Swift中的Range和一些字符操作
			截取字符串在Swift中相比OC要复杂很多,主要原因可能还是OC的NSRange的创建方法中参数类型为int,而Swift却对类型要求很严格,int不能作为参数创建Range,这要使用String中的 ... 
- mobaxterm ssh command
			ssh -qTfnNg -D 7070 demouser@echo.supportedns.com -p 2233 
- Linux内核--网络栈实现分析(十)--网络层之IP协议(下)
			本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7552455 更多请查看专栏,地 ... 
