带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(5)https://developer.aliyun.com/article/1340355?groupCode=taobaotech
代码生成
代码生成即语言胶水层代码工具化,由于平台开发的语言差异,需要有一层胶水代码来进行语言的翻译,胶水代码本身是没有业务逻辑的,并且耗费开发成本,人工编写代码也会带来出错的风险。我们使用胶水代码自动化来解决该问题。
胶水代码自动化的原理:
根据接口的idl描述生成接口文件和胶水代码JNI: C++ <-> Java交互的胶水代码ObjCPP: C++ <-> ObjC交互的胶水代码
我们基于djinni(地址:https://github.com/dropbox/djinni)进行了二次开发,提升安全性的同时增加了多项feature,更容易对复杂项目做模块定制化能力。
编译配置+依赖管理
项目结构:
支持以下能力:
- 使用GN管理工程和源码文件,确保多端的C++项目配置一致。
- 统一多平台业务模块定制化能力。
- 支持多平台下不同IDE编码和调试。
- 结合集团技术能力,统一依赖管理解决方案,支持通过一份配置文件管理多平台下的依赖。
团队介绍
我们是大淘宝技术部行业与商家技术跨终端技术团队,业务上负责为千万级商家打造最高效的一站式工作台千牛, 为淘宝上亿商家和消费者提供稳定高效的端到端消息IM服务;技术上深耕C++跨终端及PC桌面端技术(Win- dows&Mac),为商家,消费者提供稳定,可靠,高效的客户端产品。