Atitit gui界面ui技术发展史与未来趋势

1. Gui技术的发展,从像素自绘到native控件体系,再到dsl h51

1.1. 编程语言的发展 从机器语言,汇编语言到本地native语言(c c++) 到vm语言(java  c#) 再到脚本语言(js php python等) 再到dsl(h5 sql 图像处理halcon matlab)1

1.2. Gui界面语言的未来趋势,dsl 系列 h5系列2

1.3. Ui的细化html ,css ,js,分离了布局,外观,与行为。。更加的领域特定了。。细化2

1.  Gui技术的发展,从像素自绘到native控件体系,再到dsl h5

第1阶段,ui像素自绘技术,canvas,各种语言的底层 gdi api ,opengl 等技术

第2阶段,Native时代常见的gui框架 常见的gui框架 mfc qt  .net-winform ,swing javafx

第3阶段,dsl系列 H5时代,支持h5的gui框架有qt  wpf  javafx   ie-com  dom微信小程序等。

基本上现在dsl时代,ui界面也很适合dsl,趋势应该是大部分dsl+小部分native比较好的格局。

Native的就不推荐了,swing winform 安卓 ios native。。

插件体系也没落了,flash  Silverlight Applet 等。。

Dsl体系正主流。。H5 wpf(xaml)。。但是推荐公有标准化的h5..不推荐wpf了,wpf就是ms的h5。。Java体系基本没有标准化的dsl,只有一些builder框架有一些私有的h5.。。

微信小程序就是腾讯的h5,也是属于一种私有化dsl ,私有化h5

Hybrid体系也不错

1.1. 编程语言的发展 从机器语言,汇编语言到本地native语言(c c++) 到vm语言(java  c#) 再到脚本语言(js php python等) 再到dsl(h5 sql 图像处理halcon matlab)

语言层次越高,可读性一般越好,可移植性越好,不过性能也越差了。。当然如果使用同样的类库的话,只是写点胶水代码的话,差别到是相对来说不大了。

机器语言, 可以说彻底淘汰,唯一的优点就是性能,其他基本全是缺点。。

汇编语言,貌似也基本淘汰,比起机器语言,提升了很大的可读性。。

native语言(c c++) 相对汇编语言可读性又大幅提升,性能方面不如汇编,但比vm语言要高。。。缺点是开发效率,以及可移植性仍然需要提升。。很多图像库貌似都是使用此开发。。依赖于性能的应用大有所为。

vm语言(java  c#)  改进了native语言的问题,增加一个vm层隔离开了os。目前的业界高层应用开发主力

脚本语言 带来更高的生产力。但目前ide的问题,大型复杂企业级开发还难当重任,目前貌似在轻复杂度代码领域比较大发展。

Dsl语言 ,领域特定语言。。比如H5做界面。。Sql做数据库查询。Matlab halcon使用的语言,用来做图像处理。。

更高的开发效率,特别对于特定领域,图像处理,界面,数据库查询等大有优势。。正则表达式,用来文本搜索等。

Dsl语言本身性能很差,但是它如果是调用类库的,类库使用底层语言书写的,所以对性能不影响。

1.2. Gui界面语言的未来趋势,dsl 系列 h5系列

界面是个很专门的领域,需要领域特点语言来做。。

Dsl系列是目前最好的趋势了。。Dsl里面最好的额就是h5了,跨平台,通用。。

1.3. Ui的细化html ,css ,js,分离了布局,外观,与行为。。更加的领域特定了。。细化

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher  kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

Emir Uke部落首席大酋长,

uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

uke 首席cto  奶牛科技首席cto , 软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理

uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长

uke终身教育学校副校长   Uke医院 与医学院方面的创始人

Uke 户外运动协会理事长  度假村首席大村长  uke交友协会会长

uke出版社编辑总编

转载请注明来源:attilax的专栏  ?http://www.cnblogs.com/attilax/

--Atiend  v4

Atitit gui界面ui技术发展史与未来趋势的更多相关文章

  1. atitit.gui界面纵向居中总结

    atitit.gui界面纵向居中总结 1.table法...这个简单.. 表格设置100%高度,<td align="center" valign="middle& ...

  2. atitit。gui 界面皮肤以及换肤总结 java .net c++

    atitit.gui 界面皮肤以及换肤总结 java .net c++ 1. Swing 的皮肤 1 1.1. windows风格 1 1.2. Mac风格 ( liquid 框架) 1 2. 如何给 ...

  3. Atitit.gui api自动化调用技术原理与实践

    Atitit.gui api自动化调用技术原理与实践 gui接口实现分类(h5,win gui, paint opengl,,swing,,.net winform,)1 Solu cate1 Sol ...

  4. 【Visual C++】游戏开发五十六 浅墨DirectX教程二十三 打造游戏GUI界面(一)

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/16384009 作者:毛星云 ...

  5. Web UI 技术发展历程

    本文内容 纯文本和静态 HTML 页面 服务器端技术 插件技术--ActiveX.Applet 和 Flash Ajax 异步时代和基于 JavaScript 的 UI 技术 RIA--Adobe F ...

  6. Atitit.获取swing ui 按钮控件的id 与名字 与JPDA 调试体系

    Atitit.获取swing ui 按钮控件的id 与名字 与JPDA 调试体系 1. Swing Inspector是一个Java Swing/AWT用户界面分析和调试工具,功能与firebug类似 ...

  7. PyQt5多个GUI界面设计

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/90454379 - 写在前面 本科毕业设计终于告一段落了.特 ...

  8. 基于深度学习的车辆检测系统(MATLAB代码,含GUI界面)

    摘要:当前深度学习在目标检测领域的影响日益显著,本文主要基于深度学习的目标检测算法实现车辆检测,为大家介绍如何利用\(\color{#4285f4}{M}\color{#ea4335}{A}\colo ...

  9. 编程实战——电影管理器之界面UI及动画切换

    编程实战——电影管理器之界面UI及动画切换 在前文“编程实战——电影管理器之利用MediaInfo获取高清视频文件的相关信息”中提到电影管理器的目的是方便播放影片,在想看影片时不需要在茫茫的文件夹下找 ...

随机推荐

  1. ROS中发布激光扫描消息

    激光雷达工作时会先在当前位置发出激光并接收反射光束,解析得到距离信息,而后激光发射器会转过一个角度分辨率对应的角度再次重复这个过程.限于物理及机械方面的限制,激光雷达通常会有一部分“盲区”.使用激光雷 ...

  2. Ubuntu18.04下希捷移动硬盘Seagate Backup Plus读写慢

    去年买的一块Seagate Backup Plus 4TB, 专门用来备份的, 之前在win7下用过几次, 但是在Ubuntu下可能只用过一两次, 今天备份的时候, 感觉写入速度不太正常, 大概只有1 ...

  3. 微信小程序解决方案合集

    微信小程序解决方案合集:http://www.wxapp-union.com/special/solution.html 跳坑系列:http://www.wxapp-union.com/forum.p ...

  4. 【laravel5.* + 钉钉实现WEB第三方登录】 使用redis 作为持久化存储

    1.去钉钉开发者平台>自助者工具,创建扫码登录授权应用,填写名称.描述.授权页面logo地址(这个图片最后会出现在用户扫码设备中,建议使用压缩图片减少用户加载时间).回调域名(一般都是写一个子域 ...

  5. 【centos6】给php命令设置全局变量三种方式

    方法一:直接运行命令export PATH=$PATH:/usr/local/webserver/php/bin 和 export PATH=$PATH:/usr/local/webserver/my ...

  6. JavaScript原生对象及扩展

    来源于 https://segmentfault.com/a/1190000002634958 内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始 ...

  7. ios中地图定位

    #import <UIKit/UIKit.h> #import <CoreLocation/CoreLocation.h> @interface ViewController ...

  8. 自定义nsoperation的用法

    #import <Foundation/Foundation.h> typedef void (^DownloadCompletionBlock)(UIImage *image); @in ...

  9. 用Java发起HTTP请求与获取状态码(含状态码列表)

    转自:https://blog.csdn.net/xyw591238/article/details/51072697 在使用Java请求Web程序比如访问WebService接口时,通常需要先判断访 ...

  10. lua lua_settable

    void lua_settable (lua_State *L, int index); Does the equivalent to t[k] = v, where t is the value a ...