回顾MiniGUI历史,展望嵌入式应用软件平台的发展魏永明(2009年6月)大纲介绍MiniGUI及飞漫历程基于MiniGUI的嵌入式应用软件平台平台架构关键软件MiniGUImDolphinmPeer开发工具mStudio关于飞漫由国际知名的自由软件项目MiniGUI的创始人及主要开发者创立。国内唯一专注于研发世界一流的嵌入式图形支持系统及优化图形解决方案的软件公司。中国地区为开源社区贡献代码最多的软件企业。完善的技术支持和服务体系,为国际同类产品的强有力竞争者。被各大厂商广泛采用,渐渐成为嵌入式图形中间件领域的工业事实标准。为嵌入式应用提供具有个性化创意的为嵌入式应用提供具有个性化创意的图形软件开发包和解决方案图形软件开发包和解决方案飞漫历程1998年12月,魏永明先生开始开发MiniGUI,并在4年内以自由软件形式发布MiniGUI的各种早期版本。2002年9月25日,飞漫软件成立,开始打造以MiniGUI为核心的商用软件产品线。2004年,华为技术有限公司在其终端软件标准平台中采用MiniGUI。2005年,大唐移动(现联芯科技)在TD-SCDMA3G手机终端标准平台-Arena中采用MiniGUI及其组件。飞漫历程2006年,沈阳东软医疗基于MiniGUI开发其数字医疗设备,至此国内主要的数字医疗设备厂商(深圳迈瑞、重庆海扶等)已全部成为飞漫的客户。2006年,台湾英华达推出了基于MiniGUI的Skype电话,飞漫软件在WiFi手机领域的探索开始显现成效。2007年2月,飞漫软件成立深圳分部,致力于为深圳及周边地区提供更优质服务。飞漫历程2008年4月1日3G手机首批放号,中兴通讯、宇龙、海信等主流手机厂商采用Arena平台设计推出的U85(中兴)、T68(海信)等多款手机上市销售。2008年6月,飞漫软件陆续开放了MiniGUI1.6.10、Mesa3DonMiniGUI,mGallery,mGDesktop等多款软件的源代码;飞漫软件已成为中国地区为开源社区贡献代码最多的软件企业,总体贡献代码行数超过200万行。2009年上半年,飞漫围绕MiniGUI打造的四大产品趋于成熟。2009年,基于MiniGUI的TD手机出货量将超过200万部。关键技术Third-PartyApplicationsDevelopmentToolmStudioCustomers’ApplicationsEmbeddedBrowsermDolphinEmbeddedJavamACEmbeddedGraphicsMiniGUICoreTechnologiesSolutionsThird-PartyApplicationsCustomers’ApplicationsEmbeddedBrowsermDolphinEmbeddedJavamPeerEmbeddedGraphicsMiniGUICoreTechnologiesSolutions基于MiniGUI的嵌入式应用软件平台可应用于:网络电视工业仪表MIDHardwarePlatformEmbeddedLinuxKernel+DeviceDriverMiniGUI3.0(Processesmode)mPeer2.0(CDCPersonalProfile)C/C++LibrariesJ2SEApplicationsJavaVM(JamVM/Cacao)NativeMiniGUIApplicationsWebPages/WidgetsmDolphin2.0AppUImDolphin2.0Core平台优势:多进程的图形程序运行环境,完整的窗口系统支持结合了本地应用和Java应用各自的优势便于达到开发便利性和性能上的最好平衡点基于MiniGUI的嵌入式应用软件平台基于MiniGUI的嵌入式应用软件平台HardwarePlatformEmbeddedLinuxKernel+DeviceDriverMiniGUI3.0(Processesmode)AndroidClassLibraryC/C++LibrariesAndroidApplicationsJavaVM(Dalvik)NativeMiniGUIApplicationsWebPages/WidgetsmDolphinAppUImDolphin2.0Core可应用于:智能手机上网本学习机平台优势:多进程的图形程序运行环境,完整的窗口系统支持利用Andriod上的丰富应用软件,有了和Wintel竞争的基础便于达到开发便利性、应用软件丰富性和性能上的最好平衡点MINIGUIMiniGUI介绍MiniGUI架构MiniGUI3.0主要特性MiniGUI介绍(1/2)MiniGUI是一款嵌入式图形用户界面支持系统。MiniGUI致力于提供面向实时嵌入式系统的图形用户界面系统和窗口系统。MiniGUI把现代窗口技术和GUI技术引入到运行主流嵌入式操作系统的嵌入式设备中,使其获得最佳的图形用户界面和用户体验。MiniGUI提供类Win32的接口函数。9支持界面皮肤9提供对话框案的消息框9提供有增强的GDI函数9提供对windows资源文件支持9各种流行图像文件的支持9支持多字符集和多字体9支持多种PC键盘布局9支持多字节问题输入法9提供丰富的控件9支持副屏9支持多种嵌入式操作系统9Linux/uClinux,andpopularRTOSes(VxWorks,ThreadX,Nucleus,OSE,eCos,uC/OS-II,pSOS,andsoon)9优秀的移植性9可支持架构:Intelx86,ARM,PowerPC,MIPS,M68k,andsoon.9典型CPU:TIDaVinci,EM863x,Hi3510,JZ4730/40,S3C24xx,andsoon.9小体积高性能之间的最佳平衡9定制灵活9广泛的应用领域MiniGUI介绍(2/2)MiniGUI架构MiniGUIApplicationsISOCLibraryMiniGUIV3.0MiniGUIV4.0OperatingSystemDeviceDriversmGUtilsmGPlusmGimGpmG3dMiniGUIComponentsLookandFeelclassicflatfashionuser-definedControls/Widgetslabel,button,edit,listbox…WindowingModulewindowmanagermenucontrolmanagerGraphicsDeviceInterfaces(GDI)2DAPIfontcharsetimageMessagingModuletimereventcaretInputAbstractLayermultiplevideosurfacesmanagerGraphicsAbstractLayerMiniGUICoremGSkin3DUIMiniGUI3.0主要特性(1/5)外观渲染器•定制MiniGUI窗口以及控件外观。内嵌四个外观渲染器•古典:Windows95风格外观。•流行:WindowsXP风格外观。•平板:用于灰屏。•皮肤:利用用户自定义图片渲染MiniGUI窗口、控件。开发人员可以开发自己风格的外观渲染器•可以自行定制尺寸、颜色、字体和图标和各种窗口元素(标题、边框、滚动条等等)。MiniGUI3.0主要特性(2/5)主窗口双缓冲区•易于实现3D界面不规则窗口•圆角主窗口•非矩形窗口及控件MiniGUI3.0主要特性(3/5)MiniGUI桌面定制双向文本的显示与输入•Arabic(ISO8859-6)和Hebrew(ISO8859-8)•提供双向文本进程函数字体增强和文本渲染•UPF,VBFV3,和BITMAP字体MiniGUI3.0主要特性(4/5)其他特性•提供统一的虚拟帧缓冲区程序•透明控件的增强•独立的滚动条控件MiniGUI3.0主要特性(5/5)MiniGUI新组件•mGUtils:本组件包含有各种工具,例如字体设置对话框、打开文件对话框等等。•mGPlus:本组件提供攻击图形功能的支持,例如路径、渐变填充和颜色组合等。MDOLPHINmDolphin介绍mDolphin架构mDolphin2.0的主要特性mDolphin2.0HomeReleasemDolphin的下一版本mDolphin介绍mDolphin介绍一款运行于基于MiniGUI图形平台上的功能齐全的嵌入式浏览器。该浏览器模块化、可扩展、支持强大的因特网浏览体验的特性。功能特性:支持HTML4.01,XHTML1.0,XML,XSLT,XPath支持CSS1/2和部分CSS3支持DOM2和部分DOM3支持JavaScript1.5(Netscape)支持AJAX(WebAPI)应用提供NetscapePlugin函数支持HTTP1.1,HTTPS,FTP,Cookie,和代理mDolphin架构mDolphin2.0主要特性支持三种渲染模式以适应不同尺寸的屏幕以UNICODE为内核支持多字符集和编码支持双向文本排版支持插件:例如flash播放器和媒体播放器支持弹出窗口和tab窗口支持JavaScript本地绑定支持协议扩展:电子邮件,短信息支持文本搜索支持书签mDolphin2.0HomeReleasemDolphinHomeRelease是专门为家用智能终端设备开发的。mDolphin下一版本优化JavaScript引擎支持SVG和Flash插件重构和优化一些模块(组件)在移动互连设备上,作为Widget平台运行MPEERmPeer介绍mPeer架构mPeer2.0主要特性mPeer下一版本mPeer介绍mPeer介绍mPeer为使用Java技术的嵌入式设备提供高效的AWT/Swing实现支持。mPeer基于开源的J2SE(Java2StandardEdition)类库ClassPath开发,为ClassPath提供了J2SEAWT/Swing接口的MiniGUI实现。mPeer为打算利用J2SE技术的嵌入式设备提供了低资源消耗、高性能、低成本的开源解决方案。mPeer架构mPeer2.0主要特性AWT控件ComponentWindowFrameContainerLabel...AWT图形支持系统FontImageGraphicsGraphics2DGraphicsEnvironmentGraphicsConfigurationGraphicsDeviceSwing控件JlableJTextFieldJTextAreaJEditPaneJlistJButton…mPeer提供对J2SEAWT/Swing特性的支持MSTUDIOmStudio介绍mStudio1.0的主要特性mStudio使用场景mStudio介绍mStudio介绍一款基于MiniGUI定制和应用程序开发的集成开发环境缩短生产时间,市场投放时间以及获利时间。基于Eclipse环境。利用所看即所得方式设计界面。mStudio1.0的主要特性(1/2)mStudio主要特性集成开发环境基于Eclipse且可运行于Windows和Linux平台。创建工程,编码,编译以及调试程序于一体。图形用户界面设计器基于MiniGUI3.0开发的界面设计工具,帮助实现WYSIWYG(所见即所得)。针对MiniGUI3.0设计图形用户界面。基于窗口或者基于模板。虚拟设备虚拟目标设备的硬件接口,如LCD、键盘或者触摸屏。mStudio1.0的主要特性(2/2)mStudio主要特性资源管理器基于ID方式管理用户图形界面资源,例如图片,图标,字符串,图形用户界面模板,二进制目标文件等。逻辑程序与图形用户界面资源分离。新控件