hxbit
2019年03月09日 09:12GMT+8
hxbit 简单来说是一个序列化库, 相对于标准库的 haxe.Serializer/Unserializer
,
由于本库使用的是静态数据类型(通过宏), 因此性能上会更好.
它的使用也非常简单, 只要使用 @:s
标记字段即可:
class User implements hxbit.Serializable {
@:s public var name : String;
@:s public var age : Int;
@:s public var friends : Array<User>;
}
var s = new hxbit.Serializer();
var bytes = s.serialize(user);
....
var u = new hxbit.Serializer();
var user = u.unserialize(bytes, User);
....
一些细节可参考hxbit 原文档
-
版本化(Versioning): 简单的话其实只要直接调用
hxbit.Serializer.save/load
这二个静态函数即可.. -
自定义: 某些不支持的数据类型可通过
customSerialize/customUnserialize
来自定义
附加
除了序列化之外, 还可作为 RPC 远程调用库
一个 server 与 多个 clients,
server 与 clients 全都要有 NetworkSerializable
作为传输的数据, NetworkHost
则作为连接器,
也就是说, server 与 clients 将要共用这些代码