Tag: Protobuf

我在iOSCon 2017上的演讲经验

我很幸运参加了在伦敦举行的iOSCon 2017,并谈到了Swift中带有协议缓冲区的类型安全Web API 。 这是我第一次在国际会议上发言,但我真的很享受! iOSCon — iOS和Swift开发人员会议这是一年一度的iOS会议,每年都有很棒的演讲者! 因此,我很荣幸在如此出色的会议上担任演讲嘉宾! iOSCon 2017 – iOS和Swift开发人员会议| 2017年3月30日至31日| 伦敦 在英国伦敦举行的为期2天的会议。 iOSCon庆祝iOS的最新发展和最敏锐的头脑。 做… skillmatter.com 如果您对明年的iOSCon感兴趣,那么您绝对应该检查一下! iOSCon 2018 – iOS和Swift开发者大会| 2018年3月22日– 23日| 伦敦 在英国伦敦举行的为期2天的会议。 iOSCon庆祝iOS的最新发展和最敏锐的头脑。 做… skillmatter.com 我的话 我的目标是向许多人介绍协议缓冲区(也称为protobuf)。 因此,我分享了有关protobuf为何如此重要以及我如何在Swift中使用protobuf的经验和知识。 这是protobuf的快速回顾。 类型安全-您可以为HTTP请求/响应定义自己的类型 跨平台一致-您可以通过代码生成器共享模态数据 可扩展-protobuf是一种序列化格式,可以在任何地方使用。 我相信protobuf最适合Swift! 像我上面提到的那样,它有很多好处,所以绝对值得! 如果您对更多细节感兴趣,可以在这里找到我的幻灯片,示例应用程序和视频。 kitasuke / SwiftProtobufSample SwiftProtobufSample –使用协议缓冲区的Swift中客户端/服务器的示例项目 github.com Swift中带有协议缓冲区的类型安全的Web API 技能专区| 2017年3月30日 iOSCon 2017 – iOS会议和Swift […]

Swift gRPC和Protobuf集成

最近,我试图将gRPC和SwiftProtobuf添加到我的iOS应用程序中,这样做有很多问题,并且在整个周末以及星期一都在墙上ash头。 因此,首先,如果您不熟悉gRPC和Protobuf,请访问官方网站http://grpc.io/。 如果您尝试在Google上搜索诸如how to create Swift gRPC app东西,或者具有gRPC or Swift gRPC任何东西, gRPC or Swift gRPC您很可能最终会找到gRPC github,这是一个很好的资源,但对于某些人来说确实不清楚第一次尝试将此出色的框架集成到他们的项目中。 我现在要做的基本上是为您提供一些必要的步骤,以便设置您的环境(即拥有一个满意的Xcode)。 从https://github.com/grpc/grpc-swift克隆swift gRPC存储库 cd到grpc-swift并进行make 然后在grpc-swift cd third_party内部 在third_party文件夹中,您具有swift-protobuf cd 然后做一个 所以现在您将在 swift-protobuf文件夹中拥有SwiftProtobuf.xcodeproj ,在根目录grpc-swift 现在是时候将这些人添加到您的项目中了。 如果您要构建Mac应用程序,这会更简单一些,但是我将介绍iOS应用程序的步骤 创建一个新的iOS项目 将这两个.xcodeproj文件拖放到根项目下的项目中。 11.然后打开项目设置,然后转到“常规”选项卡。 12。 在嵌入式绑定器中,单击plus,然后添加BoringSSL,CgRPC,gRPC和Czlib框架。 13.如果您执行build,则将至少遇到一个编译错误,该错误表示无法找到CgRPC. 14.返回项目设置,然后选择“构建设置”选项卡并搜索搜索路径。 15.在您的System Header Search Paths和System Framework Search Paths添加“ / grpc-swift / Sources / CgRPC / include System Framework […]

Swift中可用的数据序列化格式

大家好, 在本文中,我想向您展示JSON序列化的许多替代方法。 它们都有优点和缺点,但至少您应该对它们有所了解。 什么是序列化? “在 计算机科学中 ,在数据存储的上下文中, 序列化 是将 数据结构 或 对象 状态转换为可以稍后存储或传输和重构的格式 的过程 。”还有一个反序列化概念,它会将序列化数据反转为我们的自定义对象。 我已经写了一篇关于它的文章。 我们在哪里使用序列化? 通过网络传输数据。 存储数据。 远程过程调用。 (RPC) JSON , XML , protobuf , YAML , BSON , MessagePack是数据序列化的示例。 我猜最知名的是移动应用程序开发中的JSON和XML。 与JSON相比,使用JSON的首选多于XML,因为JSON的可读性更好,而且尺寸更小。 JSON (JavaScript对象表示法):它是人类易读的并且易于由机器解析和生成,这就是为什么它被选中的原因。 但是在我看来,可读的响应格式对于检查数据类型非常重要,这使得JSON更加紧密。 Swift有很多第三方库可用于JSON序列化和反序列化。 您可以在这里检查。 在我以前的文章中,您还可以看到其中的一些示例。 //简单的JSON格式示例 { “名称”:“阿里可以” “姓”:“巴图尔” “年龄”:29 } XML (可扩展标记语言):定义了一组规则,用于以人类可读和机器可读的格式对文档进行编码。 XML难以辨认且复杂,因此不太受欢迎。 解析它还需要比JSON和其他方法更多的工作。 您可以在此处找到第三方解析器。 这里也有对此的SDK(基础)支持。 Ali Can 巴图尔 […]