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更加简单方便。

工程的输出路径:
boltdotnet\HelloBolt.NET\Bin\Debug
boltdotnet\HelloBolt.NET\Bin\Release
界面的BOLT代码:
boltdotnet\HelloBolt.NET\Bin\View

工程使用的是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环境。
具体的代码和使用说明都已经在代码里面有详细注释,请直接通过上一步获取源码并阅读。

转载于:https://www.cnblogs.com/hpze2000/p/3386511.html

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

  1. android学习笔记---59_各种图形的使用介绍,android炫酷效果的实现

    2013/5/19 59_各种图形的使用介绍 Java技术qq交流群:JavaDream:251572072 --------------------------------------------- ...

  2. [go学习笔记.第二章] 2.go语言的开发工具以及安装和配置SDK

    一.工具介绍: 1.Visual Studio Code 一个运行于Mac,Windows,和linux上的,默认提供Go语言的语法高亮的IED,可以安装Go语言插件,还可以支持智能提示,编译运行等功 ...

  3. ④ESP8266 开发学习笔记_By_GYC 【Ubuntu系统下ESP8266 开发环境搭建】

    目录 ④ESP8266 开发学习笔记_By_GYC [Ubuntu系统下ESP8266 开发环境搭建] 一.安装前准备 1.乐鑫官方的ESP-IDF 编程指南 2.ESP-IDF风格的ESP8266 ...

  4. Dapr牵手.NET学习笔记:开篇

    dapr,一个为分布式应用程序的运行时,为开发者在对接分布式组件时,提供了便利.使用dapr带来的好处可扩展性,因为它是通过sidecar的理概念来集成其他运行时的.同时dapr还提供了多种语言的SD ...

  5. 设计模式学习笔记一——开篇

    毕业的前段时间从定王台买了两本书<设计模式:可复用面向对象软件的基础>和<.NET框架程序设计>,两本很经典的书.工作后两本书都曾看过一部分,第一本不愧堪称设计模式经典之作,书 ...

  6. tensorflow学习笔记(开篇综述)

    好久没写过blog了,现在要开启一个全新的阶段性学习笔记.前段时间毕业论文选题,看到有tensorflow方向的,果断选了,这个坑还真大,之前好多概念都忘记了,从头开始学习tensorflow,这个学 ...

  7. Vue学习笔记(2)(组件化开发)

    Vue2.x学习笔记.原视频教程:最全最新Vue.Vuejs教程,从入门到精通_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 组件化 1. 什么是组件化? 组件化是Vue.js中的重要思想 它提 ...

  8. 树莓派学习笔记(九)树莓派Linux内核开发

    一.树莓派Linux源码配置 1.概念: 驱动代码的编译需要一个提前编译好的内核,想要编译内核就必须先配置 配置的最终目标会生成 .config文件,该文件指导Makefile去把有用东西组织成内核 ...

  9. 【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发

    微软的Office系列办公套件从Office 2007开始首次引入了Ribbon导航菜单模式,其将一系列相关的功能集成在一个个Ribbon中,便于集中管理.操作.这种Ribbon是高度可定制的,用户可 ...

最新文章

  1. python 爬虫气象气象定时报 气象预警推送
  2. 社区电商平台小区乐获GGV领投超1亿美元融资
  3. New Year and Ascent Sequence(二分)
  4. mysql调试.net_需要有关使用.NET和MySQL调试应用程序的帮助
  5. 程序员远程办公需要面临哪些挑战?
  6. 10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡...
  7. [Java] 蓝桥杯 BASIC-6 基础练习 杨辉三角形
  8. AngularJs中,如何在render完成之后,执行Js脚本
  9. java 多线程操作List,已经做了同步synchronized,还会有ConcurrentModificationException,知道为什么吗?...
  10. AQS-sync同步队列 [自定义同步器框架]
  11. VMware虚拟机通过光盘PE安装GHOSTxp
  12. Moore-Penrose广义逆矩阵
  13. 二元函数可导与可微的关系_如何理解多元函数可微与可偏导的关系?
  14. iOS 解决TableView reloadData时cell中图片会闪的问题
  15. 调用支付宝转账接口(单笔)
  16. google play电子市场和gmail如何安装在国产手机、三星手机、摩托手机里
  17. 【MM小贴士】SAP采购订单创建参考采购申请的强控
  18. 明瞳智控四月再升级,视图终端上云更便捷
  19. java mssql jdbc_一个简单的Struts JDBC连接池(mssql)
  20. ,CFormView::Create()里,_AfxCheckDialogTemplate输出Cannot find dialog template with IDD 0x00AB

热门文章

  1. Win软件 - 最好用的 Windows 版 OCR 软件
  2. 2018计算机全国考研学校排名,2018考研计算机三大专业高校排名
  3. SpringBoot进行系统监控(通过OSHI)
  4. 《大数据》“数据立法”专题征文(截止日期:2023年6月30日)
  5. 我的博客在网易上 http://wwbb-0991.blog.163.com/ qq:9387929
  6. c语言处理用户错误输入,C语言输入用户名和密码,如果正确显示欢迎语句(你好,欢迎),否则提示具体错误(用...
  7. C编程实现:对10个数进行排序
  8. 我遇到的Java面试题
  9. VMware超详细虚拟机安装
  10. linux运行国信股票,国信期货CTP交易API接口开发服务