展开
非常不错的界面开发工具,DirectUI免费版带给需要的朋友进行使用。通过使用DirectUI界面库开发工具,能够将软件中与界面相关的资源文件,资源配置和界面逻辑与软件业务逻辑部分进行彻底的分离,而且DirectUI免费版还拥有多种布局空间及几十套可扩展的界面控件,能够很好的适用于软件客户端界面开发等方面的工作,需要的用户可不要错过哦!
.3D界面引擎
从技术核心上彻底改变了以往的2D坐标系统,每个控件元素都支持3个坐标值:X、Y、Z。将传统的平面窗口改变为三维可旋转的窗口,用户可以多视角来操作界面上的内容。即便是在界面斜放或侧面的时候,都能够用鼠标准确点击里面的控件。这个交互体验完全实现了真实世界的用户体验。在3D的窗口界面上,还可以放置2D的控件面板。全面灵活地实现了2D界面中放置3D界面和3D界面中放置2D界面的功能。性能上做到了非常低的CPU占用和内存占用。一改以往复杂三维界面占用大量CPU时间的做法,UIPower充分发挥显卡硬件的性能,将所有与图形计算相关统统交由GPU去处理。经过长时间的测试和验证,目前的绝大部分的电脑的配置都能流畅地运行该3D界面引擎。
.界面制作工具
DirectUI将界面开发工作由原先的程序员工作量比例为90%转向设计师工作量为90%。这种转变也说明界面开发工作也有原来的繁琐、不可视、不可复制性向低门槛、易于搭建、可视化、可重用性方向发展。所以DirectUIBuilder工具的定位主要面向UI设计师,其次才是软件工程师。而UI设计师使用该工具的时间比例在90%以上,软件工程师一般使用该工具关联一下事件与查看对象名称,所以时间比例为10%以内。所以界面制作为何需要可视化?用XML配置不也可以吗?可视化的好处在哪里?类似于这样问题的回答就变得显而易见了。界面本身就属于视觉领域,用不可见的工具来制作可见的东西,岂不很不直观!而且对于XML的领悟,对于一般的设计师来说比较困难,通常不具备这样的技术基础。而即便有了这样的基础,还要去学习一大堆界面库特有的控件节点写法也不是那种容易上手的事情。当控件在调整时也无法实时看见修改后的状态,所以有一个界面制作工具供软件研发人员使用就变得尤其重要。一款界面库存在多大的生命力,很大程度上取决于其提供工具的直观性易用性,能在多大程度上提高用户开发界面的效率。DirectUIBuilder属于平台的一部分,所以当有新特效、新控件、新布局创建时,不必修改它的内部代码,不必重新编译。所以当用户根据自己的需求创建了一个新控件后,DirectUIBuilder可以自动认识该新控件,而且像平台默认提供的其他控件一样地进行可视化的使用。DirectUIBuilder的提供也成为第三代界面库是否成熟的标志性工具之一。
.界面与业务分离
界面库要达到的最高境界是界面与业务逻辑的彻底分离,就是说只要业务功能不添加的情况下,无论怎么修改界面及界面功能,都不可能影响到用户应用程序的修改与重新编译。DirectUI通过向用户提供可视化界面工具、脚本控制、界面与业务分离与集成解决方案(界面抽象层UAL)来实现。其中分离与集成解决方案是实现彻底分离重要步骤。DirectUI技术支持人员会协助用户将应用程序中的界面功能按不同类别分析出来,并采用相应的语言(如C++/C#/VB/JAVA等)描述出界面抽象层UAL。此时,界面实现人员可以与业务分离人员同步工作。界面人员从界面抽象层派生界面实现层,并采用DirectUI提供的接口与方法进行各种功能的实现。业务分离人员从界面抽象层派生界面虚拟层,采用各种空操作与提示性输出操作来实现里面的各项功能,虚拟层的实现十分简单明了,所以一般在很短的时间内就可以完成了。完成虚拟层以后,业务人员就可以在应用程序的入口处创建那个虚拟层,然后在程序各处需要有界面操作的地方进行虚拟层方法的调用,完成后即可调试运行,当然这个时候还不能显示界面,只能通过调试窗口的输出来获得界面功能的确认。一般编译成功就算该步骤成功结束。当界面实现人员完成了所有界面实现层的工作后,就可以提交给业务人员进行虚拟层的替换了。替换方法很简单,只要在应用程序入口处创建界面实现层就可以了,应用程序的其他地方都不用做任何的修改。因为虚拟层与实现层都派生自共同的基类,而我们在应用程序内部的调用就采用基类提供的方法。所以可以直接调用。至此,界面与业务逻辑的彻底分离的工作就完成了。值得一提的是,这个分离将在用户软件的以后的生命周期内永远有效,即便以后采用别的界面库来实现,而且可以很容易地实现别的界面实现层,比如OpenGL界面实现层,WPF界面实现层等。
.脚本控制
DirectUI的界面逻辑既可以在用户程序中调用进行控制也可以采用脚本进行控制。目前支持的脚本为Javascript与Lua两种,用户可以选择其中的一种来使用。何为界面逻辑?为何需要脚本来控制呢?所谓界面逻辑,指的是与界面操作相关的一系列方法与事件。比如在界面中有一个按钮用来控制左侧面板的缩进与展开。在传统的界面开发方式下,我们需要在应用程序里面响应该按钮的Click事件来对左侧面板进行位置的控制。这样的处理方式会导致界面逻辑的修改而影响到应用程序的重新编译。而界面逻辑的变化与调整在整个软件的生命周期内是非常频繁与普遍的。所以找到一种界面逻辑的变化不会影响到应用软件的重新编译的方式成为第三代界面库的一大技术要点。DirectUI很巧妙地运用了脚本特有一些特性,将内部生成的控件实例对象通过脚本规则导出到外部,由脚本来调用控件的接口与方法。用户写成的脚本.js或.lua被打包进DirectUI的皮肤文件中。这样,当程序切换皮肤文件时,也把相应的界面逻辑也一同切换了。没有脚本支持的界面库是无法做到界面与业务逻辑的彻底分离的。所以,是否支持脚本控制就成为界面库能否真正实现界面与业务逻辑彻底分离的标志性技术点。
.支持控件多种布局
在传统的界面开发方式下,控件的布局一般通过相对于当前窗口的绝对坐标与WM_SIZE事件处理函数中计算控件的相对位置来进行控制。这种方式的弊端:灵活性不够。如果需要调整多个控件的布局位置,需要修改资源窗口上面控件的位置或OnSize处理函数中的相应参数(这种方式是不可见状态下的调整,想要看调整效果必须编译运行当前程序,一个控件的位置调整会反复多次的修改、运行查看,再修改、再运行查看的过程)。这样会给软件开发维护带来很大的不便。DirectUI在可视化开发工具DirectUIBuilder环境下提供了4大类布局控件:HorzLayout,VertLayout,GridLayout,DockLayout。用户可以根据自己应用的需要扩展新的布局控件。采用系统提供的几大类布局控件,可以所见即所得地轻松完成各种复杂的布局应用。这样的布局一般独立于程序的代码,给软件的开发与维护提供了极大的方便。如果用户需要在程序运行过程中根据相应的界面逻辑或业务逻辑进行布局参数的动态设定,DirectUI提供了布局控件的接口与方法,用户可以调用相应的接口方法对参数等进行动态的修改与应用。支持多种灵活的布局控件是第三代自定义界面开发工具的一大标志。唯有布局的丰富才能最大程度上简化控件之间的层次关系。
.最小的内存占用
无论在什么年代,软件对内存的占用是一个永恒的话题。即便到了今天内存配置已高达4G甚至更高,但还是得关注软件的内存占用多少。因为用户的电脑都是多任务多进程方式执行,而且现在软件的功能都相当的丰富,他们的内存消耗自然就多。所以,哪个软件开发商更注重系统内存的极少占用越会博得用户的好感。而对一款以贴图为主的界面库来说,DirectUI更需要注重对系统内存的最小占用,以满足用户的苛刻要求。DirectUI采用了共享资源、动态压缩使用频率低的图像、按需加载、显卡缓存纹理等自主研发的专利技术。经过内存优化后的较没有优化的减少了10倍之多的占用。DirectUI还提供了一整套内存优化的用户操作指南,在该帮助中提示用户如何切割图像以求最小的内存占用与最优的执行性能。在实际项目开发中,DirectUI技术支持人员将给出更具周到的窗口布局、控件选择等方面的宝贵建议。
.插件式控件管理
一个界面库好不好很大程度上取决于是否有足够丰富的控件。而如何管理数量众多的控件并且保证用户在发布时只会打包用到的一些控件。这就给界面库的架构提出了一个全新的挑战。第一代(比如BCG、CodeJock等)和第二代(Skin++)的界面库都是铁板一块,把所有的功能都放在一起,这样用户发布时必须带上很大的DLL。在互联网客户端应用中是特别不合适的,因为软件开发商都会为软件的体积承担流量的成本。所以DirectUI对可以扩展的部件采用了插件式的管理,控件就是一种可扩展非常强的一类部件。插件式管理的好处是即插即用,易于维护,易于升级,易于独立开发,对平台的依赖性小等。DirectUI提供了VS2003-VS2010的控件开发向导。用户可以很方便地使用该向导开发出满足DirectUI规则的控件。所谓控件,其实就是一堆属性、一堆绘图、一堆事件的集合。而DirectUI平台把所有控件都经常用到的这些属性规则、绘图规则、事件规则统一抽象为各种控件开发可用的工具集。所以控件开发人员只需专注于控件的界面逻辑,并调用平台提供的这些工具集中的某些小工具,即可以很容易的地实现出各种功能的控件。与传统的开发自定义控件相比,DirectUI提供的控件开发规则要容易的多,而且不容易出错,确保运行的好效果。
.支持Alpha混合
DirectUI吸取了游戏引擎的精髓,提供了2D图像的动态Alpha混合。用户可以控制每个图元对象的不透明度,从而可以很灵活地支持各种控件效果与动画效果。Alpha混合在GDI中的效率是比较低下的,所以DirectUI在算法方面,采用了MMX优化AlphaBlend指令、多核CPU多线程同步混合和脏区域局部更新机制来解决原有GDI函数效率低下的问题。该项技术在国内外界面库行业尚属首创,从而很好地满足各行业对性能的苛刻要求。根据综合测试发现,经过优化后性能提升了22倍之多。特别在低配置的机器上运行也很流畅。在DirectX与OpenGL绘图引擎中,主要采用脏区域局部更新与多线程纹理绘制来提升总体性能。经过优化后性能提升了10倍左右。
.高速图像渲染
渲染引擎是最核心的功能模块,其功能强弱、效率高低、内存占用高低等都直接影响到DirectUI整体的性能。绘图引擎采用纯虚的图像设备上下文来对各种图像渲染引擎进行全面的支持。Virtual RenderDC将各种图像与文字的处理设计成各种类,并将每个类的方法设计成纯虚函数。如果要支持例如DirectX绘图引擎,只需要将那些纯虚的各种类与接口实现即可。所以通过该机制DirectUI实现了多渲染引擎的支持。
.最小依赖
DirectUI定位于各种软件行业的界面整体解决方案。所以通用性是其一大特点。无论是互联网还是多媒体娱乐都无不出现它的身影。既然要如此的通用,那么没有第三方的依赖是它满足通用性的必要条件。这里的第三方不光是指除微软开发的软件库,更包含微软开发的MFC库、DotnetFramework等。所以发布使用了DirectUI的应用程序时,只需要带上DirectUI.dll文件就可以了,无需再打包别的DLL。这样的应用程序可以用在Windows95以后的所有的操作系统上。与微软的WPF相比,DirectUI正是以超强的兼容性和性能绝对优势才得以博得用户的信赖与选择。DirectUI采用了Windows SDK,STL,JS/LUA,XML,ZIP,RenderEngine等技术实现了无依赖的DLL库。
一、启动 DirectUIBuilder
在本地插入硬件狗,启动 DirectUI Builder
弹出许可管理器配置窗口,填写服务器为 127.0.0.1,端口为 3001,启动 DirectUI Builder
二、新建解决方案
1.选择文件,新建解决方案
弹出解决方案配置窗口,输入解决方案的名称并选择保存的路径。
我们这里解决方案的名称为 360Demo,保存路径为桌面上360Demo文件夹。
将“启动 DUI 新建向导”处于勾取状态。
点击“完成”按钮,进入 DUI 文件的窗口步骤。
2.完成后将可以看到 DUI 文件的创建窗口,分别填写皮肤信息和 DUI 文件保存路径。
DUI 文件描述了界面窗口的结构关系,是皮肤骨架的描述文件。
将“是否自动创建 Skn”选择为勾取状态,点击“完成”按钮,进入 Skn 文件配置窗口。
3.在 Skn 文件配置窗口中填写 Skn 配置信息和保存路径后点击“下一步”按钮。
Skn 文件描述了界面控件的外观,是窗口的外皮。
4.点击“下一步”后进入皮肤主题的选择窗口
由于目前我们未发布任何的主题包,所以没有主题可以进行选择,直接点击“完成”按钮。
进过以上的步骤我们完成了皮肤文件的创建工作,接下来我们将开始设置皮肤控件。
加载全部内容
scratch3.0中文版47M24752人在玩scratch30中文版是一款非常不错的...
下载scratch免激活版32M12416人在玩开发脑力从娃娃抓起,这款scratch免...
下载Primer 51M10875人在玩一款专业用于PCR或者测序引物及杂交探针...
下载cuda9.0官方版1G5855人在玩很多人不知道cuda90是什么,其实cu...
下载pc logo X641.48M4787人在玩PCLogo中文版下载文件小编已经发布过...
下载梦龙网络计划软件注册版20M4701人在玩从事计算机编程行业相关的小伙伴们一定不能...
下载OpenGL官方版8M4304人在玩如果您需要一种用户GPU通用计算和图形学...
下载clickteam fusion2.5中文版482M4025人在玩clickteamfusion25中文版...
下载TIA Portal v15完美版5G3884人在玩TIAPortalv15完美版是一款由西...
下载弱口令字典免费版10M3290人在玩弱口令字典免费版吧,它列出了多款规则的密...
下载