基于 uCLinux 和 MiniGUI的广告机用户界面
- 格式:pdf
- 大小:290.69 KB
- 文档页数:4
基于Vx W orks系统的M i n i G U I图形界面开发*明 芳1) 徐 凌2) 王 刚1)(中船重工第709研究所系统软件部1) 武汉 430074) (武汉理工大学2) 武汉 430070)摘 要 M ini GU I是一个非常适合于实时嵌入式产品的高效、可靠、可定制、小巧灵活的图形用户界面支持系统,能支持多种不同的嵌入式操作系统,包括L i nux、V x W orks以及W i n32等平台,概述M ini G U I的技术特点和优势,介绍基于M i n i G U I嵌入式系统的软件体系结构,M i n i G U I在V x W orks下的程序开发方法。
关键词 M ini GU I 图像用户基面 V x W orks中图分类号 TP391.411 引言M i n i G U I是根据嵌入式系统应用特点量身定做的图形支持系统。
它源自一个自由软件项目,现由北京飞漫软件技术有限公司维护并开展后续开发。
M i n i G U I项目的最初目标是为基于L i n ux的实时嵌入式系统提供一个轻量级的图形用户界面。
经过近8年的开发和应用,已非常成熟和稳定,广泛应用于手持信息终端、机顶盒、工业控制系统及工业仪表、彩票机、金融终端等产品和领域。
2 M i ni G U I的特点及应用M i n i G U I为实时嵌入式操作系统提供了非常完善的图形及图形用户界面支持。
M i n i G U I本身的可移植性设计,使得不论在哪个硬件平台、哪种操作系统上运行,M i n i G U I均能为上层应用程序提供一致的应用程序编程接口(API)。
2.1 M i n i G U I的功能特色作为操作系统和应用程序之间的中间件, M i n i G U I将底层操作系统及硬件平台差别隐藏起来,并对上层应用程序提供一致的功能特性,这些功能特性包括:(1)完备的多窗口机制和消息传递机制。
(2)常用的控件类,包括静态文本框、按钮、单行和多行编辑框、列表框、组合框、进度条、属性页、工具栏、拖动条、树型控件、月历控件等。
MiniGUI 移植指南版本 2.0适用于 MiniGUI 版本 2.0.3/1.6.9及Linux/uClinux操作系统北京飞漫软件技术有限公司2006 年6 月版权声明《MiniGUI 移植指南》版本 2.0,适用于MiniGUI 版本 2.0.3/1.6.9及Linux/uClinux 操作系统。
版权所有 (C) 2003~2006,北京飞漫软件技术有限公司,保留所有权利。
无论您以何种方式获得该手册的全部或部分文字或图片资料,无论是普通印刷品还是电子文档,北京飞漫软件技术有限公司仅仅授权您阅读的权利,任何形式的格式转换、再次发布、传播以及复制其内容的全部或部分,或将其中的文字和图片未经书面许可而用于商业目的,均被视为侵权行为,并可能导致严重的民事或刑事处罚。
目录版权声明 (i)1 Linux/uClinux简介 (1)2 MiniGUI与Linux/uClinux (2)3在运行 Linux 的 PC 机上安装并运行 MiniGUI (4)3.1 MiniGUI对Linux内核的要求 (4)3.2 Linux下的软件维护和建立工具 (4)3.2.1 make 和 makefile (4)3.2.2 Autoconf/Automake (4)3.2.3 ldd 和 ldconfig (5)3.3 MiniGUI 的图形引擎 (6)3.3.1 MiniGUI 在字符控制台上的运行:配置 FrameBuffer (6)3.3.2 MiniGUI 在 X Window 上的运行:运行 QVFB (8)3.4 MiniGUI 的依赖库 (9)3.4.1 LibTTF 和 LibT1 (9)3.4.2 LibJPEG、LibPNG 等函数库 (9)3.5 编译并安装 MiniGUI (10)3.5.1 编译并安装 MiniGUI (10)3.5.2 安装MiniGUI的资源 (11)3.5.3 编译并安装MiniGUI的演示程序mde (11)3.6 运行MiniGUI示例程序 (11)4在SkyEye的EP7312模拟器上运行MiniGUI (13)4.1 安装交叉编译工具链 (13)4.2 安装SkyEye (13)4.3 配置、编译Linux (14)4.4 SkyEye EP7312模拟器的MiniGUI输入引擎 (14)4.5 交叉编译MiniGUI (15)4.6 交叉编译MiniGUI示例程序 (17)4.7 准备文件系统 (18)4.8 运行MiniGUI示例程序 (20)5在Xcopilot模拟器上运行MiniGUI (22)5.1 安装交叉编译工具链 (22)5.2 安装Xcopilot (22)5.3 配置、编译和运行uClinux (22)5.4 Xcopilot模拟器的MiniGUI输入引擎 (23)5.5 为Xcopilot模拟器交叉编译MiniGUI (27)5.6 交叉编译MiniGUI示例程序 (30)5.7 准备文件系统 (31)5.8 运行MiniGUI示例程序 (32)1 Linux/uClinux简介Linux操作系统核心最早是由芬兰的Linus Torvalds 1991年8月在芬兰赫尔辛基大学上学时发布的,经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势。
嵌入式广告机解决方案一、概述嵌入式广告机是一种集成为了嵌入式系统和广告播放功能的设备,通过在公共场所、商业场所等展示广告内容,实现品牌推广和宣传效果。
本文将介绍嵌入式广告机的解决方案,包括硬件配置、软件开辟、网络连接等方面的内容。
二、硬件配置1. 主控板:嵌入式广告机的主控板采用高性能的处理器,如ARM Cortex-A系列,以保证广告内容的流畅播放和高效运行。
2. 存储器:广告机需要具备足够的存储容量,用于存储广告素材、播放列表和系统软件等。
建议采用高速、大容量的固态硬盘或者嵌入式闪存。
3. 显示屏:广告机的显示屏应具备高清晰度、高亮度和广视角的特点,以确保广告内容的清晰展示和吸引力。
4. 触摸屏(可选):如果需要实现交互式广告,可以选择带有触摸功能的显示屏,以提供用户与广告内容的互动体验。
5. 网络接口:广告机需要具备网络连接功能,以便远程管理和更新广告内容。
常见的网络接口包括以太网、Wi-Fi和蓝牙等。
三、软件开辟1. 操作系统:嵌入式广告机通常采用基于Linux的操作系统,如Android或者嵌入式Linux。
这些操作系统具备稳定性、安全性和开放性的特点,方便开辟人员进行软件定制和功能扩展。
2. 广告播放软件:广告机需要配备专业的广告播放软件,用于管理和播放广告内容。
该软件应具备良好的用户界面、广告排期管理、统计分析等功能。
3. 远程管理软件:为了方便运维人员对广告机进行远程管理和监控,可以开辟相应的远程管理软件。
该软件应支持远程更新广告内容、监控广告机状态、采集统计数据等功能。
4. 定制开辟:根据实际需求,可以进行定制开辟,如添加人脸识别功能、智能推荐算法等,以提升广告机的交互性和个性化。
四、网络连接1. 以太网:通过有线以太网连接,可以实现稳定、高速的网络传输,适合于需要大量数据传输的场景。
2. Wi-Fi:通过无线Wi-Fi连接,可以实现灵便、便捷的网络接入,适合于需要挪移性和灵便性的场景。
构建PC104上的嵌入式Linux系统平台构建PC104上的嵌入式Linux系统平台为了适应目前嵌入式系统操作平台在性能、成本、可靠性等各方面的要求,论述了以Linux作为操作系统平台的优势,分析了以PC104卡和CompactFlash卡构造带图形用户界面(GUI)的Linux系统的关键技术.0 前言嵌入式系统的商品化操作系统十分丰富,如Palm OS、VxWorks、pSOS、Neculeus和Windows CE等。
高端嵌入式系统要求许多高级的功能,但其价格也相对昂贵,一般用户难以接受。
微软的Windows CE也有此类功能,却不具备大多数嵌入式系统要求的实时性能,而且难以移植。
Linux为嵌入式系统提供了一个极有吸引力的选择,对于嵌入式系统而言,性能、成本和可靠性是最至关重要的三个因素。
首先,众多文献资料表明,Linux是当前可获得的最简捷、最快速的操作系统,其性能优越之处,是把图形处理为一个用户级的应用,图形可根据需要被选择是否运行。
Linux系统中存在适度复杂的图形界面,但是它们并没有与操作系统的内核紧紧捆绑在一起,图形界面可按需求关闭。
这样就可以在Linux内核上运行专门为嵌入式系统定制的图形系统,从而获得优越的性能。
其次,Linux系统源代码完全公开,可以用非常便宜的价格得到各种Linux分发版,不必考虑许可成本,将用户从许可证的限制中解脱出来,无需去为资金短缺而烦忧。
Linux能正常运行于内存缺乏,容量紧张的系统中,减少在硬件升级上的开支。
另外,在系统稳定性方面,Linux几乎不崩溃,Linux的稳定性是由于它没有像其它操作系统一样内核极其庞大。
考察资料表明,Linux与其它Unix系统和大型操作系统如VMS、IBM大型机等一样具有相同的可靠性。
在上述优势之外,Linux还拥有众多硬件支持的特点和强大的网络支持功能。
正因为Linux在价格、性能、稳定性以及用户定制等方面的突出优势,用它来构建系统操作平台是一个很不错的解决方案。
Minigui在uClinux 上的移植心得1、下载minigui源码1.3.31.3.3这两个包的下载需要你在上注册过才可以下载,免费注册的,自己去下吧1.3.0 图形界面程序1.3.0 一些小例子把源码文件复制到/home/liu/minigui目录下,解开源码[root@localhost minigui]#tar zxvf 1.3.3 minigui]#tar zxvf 1.3.3 minigui]#tar zxvf 1.3.0 minigui]#tar zxvf 1.3.0环境的搭建首先你需要一个Linux 环境,我安装的是RedHat 安装时记着选everything,这样可以避免到时候编译少了东西。
这里搭建的环境是让MiniGUI 在你的PC 上可以跑起来,这样以后你开发程序就可以只在PC 上开发,调试好,最后交叉编译一下放到板子上就行了。
把 1.3.3 解开[user]# tar zxf[user]# tar zxf编译libminigui ,这个是minigui 运行所必需的库文件,必须编译成功[user]# cd libminigui-1.3.3[user]# ./configure . yeschecking for pthread library... yeschecking for TT_FreeType_Version in -lttf... yeschecking for T1_InitLib in -lt1... nochecking for jpeg_std_error in -ljpeg... yeschecking for png_check_sig in -lpng... yes其中–lttf –lpng 必须是yes ,不然后面你的程序肯定会有问题,如果这里不是yes 的话,肯定是你的Redhat 9 安装不对,告诉过你安装时选everything ,你选了吗其中ttf 库是对TrueType 字体的支持,png 库是对png 图形的支持,MiniGui 里都需要这两个,在后面为板子交叉编译的时候也需要这两个,不然你的程序跑不起来,切记切记。
基于ucGUI多任务系统的图形用户界面开发吴建鲁江苏自动化研究所,江苏连云港 (222006)E-mail:wujianlucool2006@摘要:图形用户界面是人与计算机进行交互的一种操作方式,它的质量直接影响着产品的推广和用户的使用效率。
针对嵌入式系统中图形用户界面应用的广泛需求,本文介绍ucos-II 和ucGUI在S1C33209上的移植过程,并在此基础上实现了ucGUI多任务系统中图形用户界面的开发。
关键词:ucos-II; ucGUI; 移植;图形用户界面1 引言与命令式用户界面(Command Line Iser Interface)不同,图形用户界面(Graphical User Interface,GUI)不需要用户通过输入专业性很强的抽象命令来操作计算机,而代之以窗口、图标、菜单等直观的图形或图标,再加上可以控制光标移动的指示装置来完成数据和控制命令的输入,从而实现对计算机的交互式操作。
由于这样的用户界面不需要记忆专门性很强的控制命令并且非常直观易懂,图形用户界面受到了普遍的欢迎[1]。
ucGUI是Micrium公司出品的一款针对嵌入式系统的开放源代码的优秀图形软件,它为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口。
适用于单任务或是多任务系统环境,并适用于任意LCD控制器和CPU下任何尺寸的真实显示与虚拟显示。
架构基于模块化设计,由不同的模块中的不同层组成。
采用100%的标准C代码编写,由一个LCD驱动层来包含所有对LCD的具体图形操作,ucGUI可以在任何CPU上运行。
在ucGUI单任务系统中,程序顺序的执行,一个软件单元的反应时间依赖于这个系统中所有其他单元的执行时间,实时行为变得极为有限。
为了增强实时性,采用ucGUI多任务系统,使用开放源代码ucos-II实时内核,把应用程序分割成不同的部分运行在不同的任务中,具有不同的优先级。
这样,任务的实时行为只受运行在更高优先级的任务影响,系统的实时性得到极大的改善。
MiniGUI 用户手册版本 1.6 修订号 8适用于 MiniGUI Ver 1.6.x(1.6.8及以上版本)北京飞漫软件技术有限公司2005 年 9 月简介MiniGUI 是由北京飞漫软件技术有限公司拥有版权并主持和维护的自由软件,遵循 GPL 条款发布(1.2.6及之前的版本以LGPL条款发布),其目标是为实时嵌入式 Linux/uClinux、eCos、uC/OS-II、VxWorks 等操作系统建立一个快速、稳定和轻量级的图形用户界面支持系统。
Mde 是 MiniGUI 的综合演示程序包,遵循 GPL 条款发布。
Mg-samples是 MiniGUI 的示例程序包,遵循 GPL 条款发布。
GNU GPL 条款的原文,可见本手册附录 I。
如果您要采用 MiniGUI 开发专有或商用应用软件,则必须首先获得飞漫软件的商业授权。
附录 I 给出了飞漫软件针对 MiniGUI 的商业授权策略。
目前,MiniGUI 可免费下载的稳定版本是 MiniGUI-STR V1.6.2。
您可以从北京飞漫软件技术有限公司网站的“下载”区(/download/cindex.shtml)下载 MiniGUI-STR 源代码、开发文档及示例程序。
需要注意的是:免费下载并不意味着免费使用。
免费下载的 MiniGUI 只能用于开发 GPL 或其它兼容 GPL 条款的公开源码应用软件,如果您要利用 MiniGUI 开发专有或商业软件,则必须从北京飞漫软件技术有限公司购买商业授权。
飞漫软件将为购买 MiniGUI 商业授权的用户提供最新版本的 MiniGUI(即 MiniGUI V1.6.x),并提供相关的移植及开发技术支持服务。
本手册详细讲述了 MiniGUI V1.6.x(1.6.8及以上版本)在 Linux 操作系统、Windows 操作系统上的配置、编译、安装及运行,重点介绍了 MiniGUI 的编译时和运行时的配置选项,其中还整理罗列了大量常见问题及解决办法,相信读者能够从本书中获得一些有价值的资料,从而帮助用户迅速掌握 MiniGUI 的安装和配置方法,为尽快进入 MiniGUI 应用开发铺平道路。
MiniGUI3.0在mini6410上的移植简介MiniGUI 是一款面向嵌入式系统的高级窗口系统(Windowing System)和图形用户界面(Graphical User Interface,GUI)支持系统,由魏永明先生于1998 年底开始开发。
2002 年,魏永明先生创建北京飞漫软件技术有限公司,为MiniGUI 提供商业技术支持,同时也继续提供开源版本,飞漫软件是中国地区为开源社区贡献代码最多的软件企业。
最后一个采用GPL 授权的MiniGUI 版本是 1.6.10,从MiniGUI 2.0.4 开始MiniGUI 被重写并使用商业授权,从3.0.12开始,部分版本使用GPL授权。
历经十余年时间,MiniGUI 已经成为性能优良、功能丰富的跨操作系统嵌入式图形用户界面支持系统,支持Linux/uClinux、eCos、uC/OS-II、VxWorks、ThreadX、Nucleus 、pSOS、OSE 等操作系统和数十种SoC芯片,已验证的硬件平台包括ARM-based SoCs、MIPS based SoCs、IA-based SoCs、PowerPC、M68K(DragonBall /ColdFire)、Intel x86 等等。
准备工作交叉编译器友善提供,具体安装参考mini6410的使用手册;源码的下载从miniGUI官网上下载,需要有新浪账号或者twitter账号。
下面是我下载的版本。
[root@localhost minigui]# ls -l *.tar.gz-rwxrw-rw-. 1 root root 1427072 Jan 16 17:30 freetype-1_3_1.tar.gz-rw-rw-r--. 1 root root 63582 Jan 16 17:31 gvfb-1_0_0.tar.gz-rw-rw-r--. 1 root root 602762 Jan 16 17:32 qvfb2-2_0.tar.gz-rwxrw-rw-. 1 root root 557220 Feb 11 00:56 zlib-1.2.6.tar.gz-rwxrw-rw-. 1 root root 1059513 Feb 11 00:55 libpng-1.5.8.tar.gz-rwxrw-rw-. 1 root root 986681 Feb 10 23:42 jpegsrc.v8c.tar.gz-rw-rw-r--. 1 root root 340656 Jan 16 17:33 libmg3d-1_0_2.tar.gz-rw-rw-r--. 1 root root 1545209 Jan 16 17:34 libmgi-2_0_4.tar.gz-rw-rw-r--. 1 root root 1116885 Jan 16 17:33 libmgp-1_2_2.tar.gz-rw-rw-r--. 1 root root 648207 Jan 16 17:34 libmgplus-1_2_4.tar.gz-rw-rw-r--. 1 root root 659702 Jan 16 17:33 libmgutils-1_0_4.tar.gz-rw-rw-r--. 1 root root 3202804 Jan 17 00:29 libminigui-gpl-3_0_12.tar.gz-rw-rw-r--. 1 root root 2608473 Jan 16 17:29 mg-samples-3_0_12.tar.gz-rw-rw-r--. 1 root root 3449215 Jan 16 17:29 minigui-res-be-3_0_12.tar.gz官网上有几个库的版本太低,所以需要自己去网上下载,其中jpegsrc.v8c.tar.gz、libpng-1.5.8.tar.gz和zlib-1.2.6.tar.gz都是从网上找的最近版本(png和zlib这两个soucefoge上都有,前面一个是网上搜的,所以不能保证链接长期有效,但是网上搜一下还是比较容易找到的)。
SkyEye硬件模拟平台一.SkyEye介绍1.SkyEye的起源和发展2002年11月,一个偶然的机会,一群操作系统的爱好者在网上进行聊天,成立了一个TM-Linux兴趣小组,希望要做一些感兴趣的事情。
当时在清华大学计算机系做博士后的陈渝提出做一个用软件实现的嵌入式开发板硬件模拟器,可以在模拟器上运行各种操作系统,这样就可以在没有开发板的情况下学习和研究操作系统。
一开始就陈渝一人做,首先他了解了当前国际上的一些类似的项目,发现著名的μCLinux组织实现了一个armulator模拟器软件(在Linux系统上运行),可以模拟Ateml AT91(基于ARM7TDMI CPU)开发板,μCLinux可以在armulator (其网址为/pub/uCLinux/utilities/armulator/)上运行。
于是陈渝以此为基点,借鉴armulator的实现,提出了SkyEye项目,其目标是让SkyEye仿真多种主流的嵌入式开发板和外设,实现一个可扩展的硬件模拟框架,让更多的嵌入式操作系统可以在SkyEye上运行。
SkyEye项目于2002年12月1日正式建立后,陈渝完成的第一件工作是把armulator移植到了cygwin/windows环境下,其成果被μCLinux组织接收。
接下来清华大学计算机系硕士生李明加入到SkyEye的开发中,8天后,SkyEye的第一个版本推出,再过了4天,μC/OS-II for SkyEye推出。
在这期间,SkyEye的网站也建立起来了。
紧接着,杨晔、王利明、尹首一等在校学生也加入到SkyEye的开发中,给SkyEye带来了新的活力,SkyEye进入了新的发展阶段,目前通过访问SkyEye的网站(/)和在linux公社上的SkyEye论坛()可以了解到SkyEye的最新进展并对有关嵌入式系统开发方面的问题进行交流,还可以到/projects/skyeye/下载最新的SkyEye相关软件和文档。
1/6/stm32-ucgui.html About Links Invite RssHome / Archive Trip Share E-Factory Findpark Quickweibo Mr.YongLan here is siri ..五十将相寻死路,生不认魂,死不认尸。
UCGUI是一种嵌入式应用中的图形支持系统。
它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,它适用单任务或是多任务系统环境, 并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。
它的设计架构是模块化的,由不同的模块中的不同层组成,由一个LCD驱动层来包含所有对LCD的具体图形操作。
UCGUI可以在任何的CPU上运行,因为它是100%的标准C代码编写的。
类似程序还有国产的一个MINIGUI (/zhcn/),MiniGUI 是一个自由软件项目。
其目标是提供一个快速、稳定、跨操作系统的图形用户界面(GUI)支持系统,尤其是基于 Linux/uClinux、eCos 以及其他传统 RTOS(如 VxWorks、ThreadX、uC/OS-II、Nucle us 等)的实时嵌入式操作系统。
有机会尝试下,支持下国产,毕竟国内这样的公司不多。
这里移植的UCGUI3.90a版本,虽然已经有更新的版本,比如UCGUI3.98、甚至4.04版本。
但是目前来说只有这个版本的代码是最全的,包括了J PEG , MULTILAYER , MEMDEV ,AntiAlias等模块。
一直想尝试做一个数码相册,JEPG模块自然少不了,所以移植了这个版本。
UCGUI390a 下载整个移植过程,让LCD显示图案倒是没花多少时间,资料也比较多,但是在移植触摸屏的时候卡了好几天,然后又是 UCGUI 指针图标 移动有重影(LCD读取像素颜色函数有问题)。
总之移植是个累人的活首先需要保证你的LCD驱动和触摸屏驱动是有效的,如果你的LCD也是ili93xx 控制器 XPT2046控制器的触摸屏可以参考 stm32 驱动 TFT LCD stm32 驱动 触摸屏 两篇文章UCGUI的文件数量很大,主要用到UCGUI390a/Start/Config 和 UCGUI390a/Start/GUI两个文件夹下文件,不过文件数量也已经很多了 。
几款开源的图形界面库(GUILibraries)国外:SmartWin++遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用。
也支持Pocket PC 和基于Windows CE的应用程序...XCLASSXCLASS库是X Windows环境中的一个C++ GUI工具包的。
它是基于Xlib的,由一套组件,包括从简单部件到复杂的,其中也包括许多常用的对话框。
组件有MS Windows外观风格。
Windows++Windows++是一个轻量级的C++应用程序框架,它可以让你的C++程序中使用窗口FOXFOX是一个C++开发图形用户界面库,方便和有效的基础工具包。
V C++ GUI框架V是一个免费的可移植的C++的图形用户界面框架,旨在开发出各种不同的图形界面平台上的应用程序。
wxWidgets一个开源的C++ GUI框架,使跨平台的编程变得简单。
GtkAdaAda95的一个完整的图形工具包FLTK的是一个跨平台的C++ GUI工具包用于UNIX / Linux (X11),支持微软Windows和MacOS Xlesstiflesstif的是Hungry Programmer的OSF/Motif版本。
Open MotifOpen Motif是Unix环境下的图形库MicrowindowsMicrowindows是一个开源项目,旨在将现代图形窗口环境的功能在小型设备和平台上使用。
国内:国人的开源项目,大部分是采用DirectUI设计思想。
1. 炫彩界面库XCGUI炫彩界面库不仅是界面库,它是软件界面开发框架,让用户开发桌面软件变的简单高效,它功能丰富, 小巧,安全(所有界面元素无句柄),Unicode字符编码,完善的帮助文档;并且提供了UI设计器,支持XML布局,CSS样式表,XML资源;该库采用C语言开发,速度更快,支持多种开发语言调用,例如C#,易语言; 不需要第三方库的支持,不需要MFC,ATL,和WINDOWS标准控件;采用DirectUI设计思想,在窗口内无子窗口,窗口相当于容器,界面元素都是逻辑上的区域,没有句柄. 灵活易扩展,即支持C语言风格开发,同时也支持C++语言开发,用户可以对元素句柄进行包装扩展,支持用户自绘,支持各种格式图片.2. DirectUI界面库DuiLibDuilib是一个windows下免费开源的directui界面库,是国内首个开源的directui界面库,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。