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 将要共用这些代码