首页 > 代码库 > Sharpui企业版-简介【01】 【QQ群:206378966】

Sharpui企业版-简介【01】 【QQ群:206378966】

1. 什么是Sharpui

    Sharpui是居于DUI思想的一套界面引擎,采用纯c++开发,实现完整的消息处理机制、渲染引擎分离以及灵活的控件扩展,是一款c++真正意义上的界面和业务逻辑分离的界面引擎。

Sharpui通过把界面元素抽象为一个一个单独的绘制单元,然后通过模版的概念把这些绘制单元重新组合成一个逻辑控件,因此,界面引擎实现最核心的渲染和绘制单元,通过组合得到各种各样的逻辑控件,从而满足不断变化的业务需求,而且,从根本上使得界面的开发简单、高效,业务真正地只关心自己的业务逻辑,至于业务数据的展现则通过界面引擎数据绑定核心层自动完成。


    本资料下载地址:http://down.51cto.com/data/1887618

    本资料相关图像来自收集,如果侵犯了您的版权,请联系386666951,我们及时删除!


    下面是Sharpui一部分控件截图:

    wKioL1RImBDisUAZAAF7zjdFojg512.jpg

             


2. Sharpui的优势

    Sharpui是目前c++领域优秀的界面引擎,其采用了和传统完全不一样的实现方式,传统的DUI界面库一般使用的是界面驱动数据;而Sharpui采用的是数据驱动界面。

    传统界面驱动数据的界面引擎缺点:

  • 用户的业务数据和界面耦合性较高;

  • 数据和UI的交互开发量较大,而且容易出错;

  • 整个系统的扩展性和灵活性受到极大限制;

  • 系统开发效率相对较低,开发的代码量大。

    Sharpui界面引擎采用数据驱动界面方式实现,其特点如下:

  • 实现数据到UI控件的绑定,自动完成用户数据和UI控件同步更新,用户真正只需专注业务逻辑,开发效率更高效、更智能、更轻松;

  • 实现完整的依赖属性系统,有效节约系统占用的内存空间;

  • 实现完整的虚拟显示机制,轻松支持100000+数据项的呈现,大幅加速应用程序的启动速度和减少内存的占用;

  • 完善的动画框架,用户可以轻松开发各种高效、酷炫的动画,满足实际业务需求,提升产品的用户体验;

  • 界面相关绝大部分逻辑都可以通过xml配置完成,开发效率高、代码小;

  • 采用虚拟控件和脏区域处理技术,系统占用cpu小、消耗内存低;

  • 委托机制的实现,使得用户和界面的交互简单、轻松、自然。

  • 完善资源结构,可轻松实现多语言、换肤效果(能够更换布局、内容)。


    上述简单说明了Sharpui相对传统的DUI界面特有的优势,后面会通过实际代码演示数据驱动界面的强大、简单和高效。



3. Sharpui整体结构

    下图是整个Sharpui的整体结构:

    wKioL1RImd6TUcAXAALMf-uDGHI842.jpg     



4. Hello,Sharpui

    Sharpui进行项目开发简单、高效,下面给出一个简单的事例让大家有个直观的印象,实现一个Hello,Sharpui的窗口显示:

    布局文件描述如下:

    <?xml encoding="utf-8" ?>

        <Window Name="window1" >

            <Window.Resources >

                <SolidColorBrush x:Key="Window_Bk" Color="#288ADD" />

                <SolidColorBrush x:Key="Border_Bk" Color="#298ADD" />


                <Style TargetType="Window">

                    <Setter Property="Background" Value="http://www.mamicode.com/{DynamicResource Window_Bk}" />

                    <Setter Property="BorderBrush" Value="http://www.mamicode.com/{DynamicResource Border_Bk}" />

                    <Setter Property="BorderThickness" Value="http://www.mamicode.com/0" />

                    <Setter Property="Template">

                       <Setter.Value>

                            <ControlTemplate TargetType="Window">

                                <Border Background="{TemplateBinding}" CornerRadius="2.5"

                                        BorderBrush="{TemplateBinding}" BorderThickness="{TemplateBinding}" >

                                    <AdornerDecorator>

                                        <ContentPresenter />

                                    </AdornerDecorator>

                                </Border>

                            </ControlTemplate>

                        </Setter.Value>

                    </Setter>

                </Style>

            </Window.Resources>

            <Grid>

                <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="Hello,Sharpui" />

            </Grid>

        </Window>


    下面附上几个Demon截图(如需要进一步了解请加QQ群:206378966):

    Sharpui主要控件演示界面:

    wKiom1RIl8KhZMo5AAJXKLH-myM757.jpg    


    主要Demon截图:

    wKioL1RImA6CEKtJAADsinqtqOU612.jpg    

    wKiom1RIl8DizVlvAAHlGVRkbek594.jpg   

    wKioL1RImBDhWBxdAARpj46UP54524.jpg    

    wKiom1RIl7_ScYy3AAHwyy41sAc604.jpg    


        


本文出自 “Sharpui界面引擎” 博客,请务必保留此出处http://sharpui.blog.51cto.com/9516071/1567199

Sharpui企业版-简介【01】 【QQ群:206378966】