• BOLT.NET 学习笔记(一) 开篇 用.net winform 快速开发 炫酷的界面


    BOLT.NET 学习笔记(一) 开篇 用.net winform 快速开发 炫酷的界面

    bolt 基本介绍

    Bolt界面引擎是迅雷公司从2009年开始开发的第四代界面库。迅雷7是首个采用该引擎成功开发的产品,目前迅雷旗下大部分客户端产品都基于该引擎开发,并稳定运行于超过3.5亿台PC上。

    BOLT.NET开源项目

    介绍

    从2012年11月开始,千寻动漫(http://manhuahe.net)团队开始开发千寻漫画盒2.0版本,我们选择了迅雷的BOLT界面引擎开发新版界面。由于我们项目一开始主要使用.NET平台上的C#语言开发,所以直接选择了在.NET平台上使用BOLT引擎开发新版界面。迅雷BOLT SDK里有一个简单版本的dotNetBoltDemo,我们从这个简单的例子出发,在开发过程中按需封装和改进,逐渐形成了比较稳定的一个封装类库。考虑到很多开发者同样需要使用.NET平台开发BOLT界面,本着分享和避免重复发明轮子的精神,我们将BOLT.NET类库项目开源出来,希望大家一起改进它,以提供一个在.NET平台上使用简单、稳定高效、接口优雅的BOLT封装,为在.NET上通过BOLT开发产品界面提供有品质的保证。

    源码

    BOLT.NET 项目源代码托管在http://boltdotnet.codeplex.com/上,使用Git做版本管理。
    Git clone地址:https://git01.codeplex.com/boltdotnet
    源码项目工程使用visual studio 2010构建
    项目使用BSD开源协议

    主要技术

    使用.NET平台调用技术(P/Invoke)调用XLUE.dll导出的API注册类和对象给BOLT的Lua环境。
    使用Attribute简化类和对象的注册。
    使用扩展方法简化Lua 栈元素的读取。
    使用泛型类以及扩展方法将Lua的function转成C#的Action和Func,简化代码。
    简化UI线程的消息循环,并提供跨线程Invoke方法,让跨线程调用BOLT界面更加方便和友好。
    在P/Invoke BOLT的API时,通过UTF8Marshal属性自动对BOLT环境的UTF8字符与.NET环境的UCS编码做转换。

    使用说明

    下载并安装Git for Windows (http://msysgit.github.io/)
    打开Git Bash 命令行界面
    使用git命令将源码克隆到本地: git clone https://git01.codeplex.com/boltdotnet
    打开HelloBolt.NET.sln解决方案,编译并运行项目。

    共有两个工程:
    ComicDown.UI.Core,是BOLT的.NET封装的核心类库。
    HelloBolt.NET,使用BOLT SDK的HelloBolt7的XAR做的DEMO,通过代码可以看到在.NET里通过ComicDown.UI.Core封装的API使用BOLT更加简单方便。

    工程的输出路径:
    boltdotnetHelloBolt.NETBinDebug
    boltdotnetHelloBolt.NETBinRelease
    界面的BOLT代码:
    boltdotnetHelloBolt.NETBinView

    工程使用的是BOLT的dev和pr版Union版本XLUE.dll,分别位于Debug和Release目录下。请自行从迅雷BOLT官方论坛引擎发布版(http://bolt.xunlei.com/bbs/forum.php?mod=forumdisplay&fid=42)下载最新版本XLUE.dll

    DEMO介绍

    HelloBolt.NET项目,在Program.cs里通过XLBolt单例启动迅雷环境。Classes目录下的Application和MyClass是待注册给BOLT环境的C#类。RegisterClasses目录下的LuaApplication和LuaMyClass分别注册了Application单例对象给BOLT环境,MyClass工厂类给BOLT环境。
    具体的代码和使用说明都已经在代码里面有详细注释,请直接通过上一步获取源码并阅读。
      
  • 相关阅读:
    求职准备:大一到大三,做好五件大事!
    研发过程管理导图第一稿(转)
    【推荐收藏】Visual Studio 插件库(转)
    提高C#编程水平的50个要点
    VC++和Matlab
    matlab混合编程向导(vc,vb,.net...)
    Matlab多线程运算的问题
    产生的DLL (VS2005, MATLAB7.5, mwArray)
    matlabsum函数用法
    SWFUpload V2.2.0 说明文档
  • 原文地址:https://www.cnblogs.com/hpze2000/p/3386511.html
Copyright © 2020-2023  润新知