BAT作为互联网第一梯队的互联网公司,他们开源的项目都是发自内心地将踩过的坑和总结的经验融入到开源项目中,供业界所有人使用,希望帮助他人解决问题。
目前互联网的大厂开源的项目涉及各种语言,项目类型包含前端、后端、框架等,但C#语言的项目少一点,今天我们就一起梳理下C#开源项目:
1、behaviac(腾讯)
behaviac是游戏AI的开发框架组件,也是游戏原型的快速设计工具。支持全平台,适用于客户端和服务器,助力游戏快速迭代开发 。
编辑器可以运行在PC上,操作方便直观可靠,支持实时和离线调试;编辑器可以导出xml,bson等多种格式,更可以导出C++、C#源码,提供最高效率。
运行时支持全平台,有C++和C#两个版本,原生支持Unity。
已被多款知名游戏及更多其他预研项目使用。
https://github.com/Tencent/behaviac
2、InjectFix(腾讯)
可用于Unity业务的bug修复,支持Unity全系列,全平台。
几个亮点
- 直接在Unity工程上修改C#即可更新
- 老项目无需修改原有代码即可使用
- 每个游戏一份私有补丁格式,安全更有保障
https://github.com/Tencent/InjectFix
3、AlibabaCloud.TairSDK(阿里巴巴)
基于 StackExchange.Redis 封装,用于操作 云数据库Redis企业版 的客户端,支持企业版多种 Module 的操作命令即部分高级特性。
- TairString,支持 string 设置 version,增强cas和cad命令可轻松实现分布式锁。(已开源)
- TairHash,可实现 field 级别的过期。(已开源)
- TairZset, 支持多维排序。(已开源)
- TairDoc, 支持存储JSON类型。(待开源)
- TairGis, 支持地理位置点、线、面的相交、包含等关系判断。(待开源)
- TairBloom, 支持动态扩容的布隆过滤器。(待开源)
- TairRoaring, Roaring Bitmap, 使用少量的存储空间来实现海量数据的查询优化。(待开源)
- TairSearch,支持 ES-LIKE 语法的全文索引和搜索模块。(待开源)
- TairCpc, 基于CPC(Compressed Probability Counting)压缩算法开发的数据结构,支持仅占用很小的内存空间对采样数据进行高性能计算。(待开源)
- TairTs, 时序数据结构,提供低时延、高并发的内存读写访问。(待开源)
https://github.com/alibaba/AlibabaCloud.TairSDK
4、ocr-label-tool(阿里巴巴)
这是一个AI框架,用于图像中文本位置和内容的标注工具。
https://github.com/alibaba/ocr-label-tool
5、smartapp-openapi-csharp(百度)
百度智能小程序服务端 OpenAPI SDK for csharp,是基于小程序服务端 OpenAPI 封装的一套让开发者方便使用的 SDK, 它可以帮开发者减少理解和使用 OpenAPI 的成本, 减少开发者直接调用服务端接口不当而引起的错误, 避免在开发中走弯路。
https://github.com/baidu/smartapp-openapi-csharp
6、pomelo-unityclient-socket(网易)
这是 pomelo dotnet 客户端,支持 pomelo 0.3 和新的通信协议。它基于原生套接字。该项目基于以下一些库:
- simple-json一个开源的 json 库
https://github.com/NetEase/pomelo-unityclient-socket
7、UnitySocketIO(网易)
该项目是unity3d的socket.io客户端,用C#编写。它基于 socketio4net.Client ( http://socketio4net.codeplex.com/ )。但是,socketio4net.Client 仅提供了一个 .NET 4.0 C# 客户端,并且与 unity3d 兼容。我们在支持 unity3d 方面做了很多工作。
该项目最初是为pomelo 框架的统一客户端设计的,它是一个强大的、可扩展的游戏服务器框架。
https://github.com/NetEase/UnitySocketIO
8、pomelo-dotnetchat-console(网易)
这是一个使用pomelo-unityclient-socket for pomelo的聊天应用程序,服务器端是chatofpomelo( https://github.com/NetEase/chatofpomelo )。客户端基于控制台,使用默认频道(pomelo)和系统生成用户名,所有消息均以大写形式发送。
https://github.com/NetEase/pomelo-dotnetchat-console
9、pomelo-unityclient(网易)
这是 unity3d 的 pomelo 客户端。该项目基于以下一些库:
- WebSocket4Net ( http://websocket4net.codeplex.com/ ),您应该选择 .Net 3.5 运行时版本。
- UnitySocketIO ( https://github.com/NetEase/UnitySocketIO )。
https://github.com/NetEase/pomelo-unityclient
- End -