带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(2)

简介: 带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(2)

带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(1)https://developer.aliyun.com/article/1340359?groupCode=taobaotech


关于语言的选择


选择编译型语言还是解释型语言,我觉得是没有绝对而言的,具体选择哪个要根据面对业务形态,适配的终端类型等多方面抉择而言,这里说下我们选择C++作为跨平台开发的首选语言一些背景。

 

  1. 我们团队本身是客户端的业务型团队,当前需要跨平台的业务主要是消息以及消息衍生业务的开发、维护和创新。
  2. 主要的终端包括移动IOS、移动安卓、MAC、WINDOWS。
  3. 主要载体包括淘宝app、天猫app、千牛app、淘特app、1688app、ICBU app等等。

 

C++作为天然的跨平台语言,可以高效无缝的调用系统能力,有丰富的技术生态,综合组内的技术栈,是比较契合我们的。

 

其实也跟集团里其他几个有类似需求的团队聊过,目前选择比较多的也是C++技术栈,本文也将以C++作为跨平台 选型语言为主要来讲述。

 

即使是对于客户端而言,可选择跨平台语言也是众多的,通常跟随着跨平台技术方案一起来看会比较好一些,没有绝对的对和错,只有是否适合你。

 

关于基础库的选择

 

image.png


既然选择了C++作为我们跨平台开发的基础语言,那么面临的第一个问题是需要有一个功能较为完备,且符合当前诉求的基础库。我们调研了市面上几个主流的基础库

 

 

 

再结合集团内当时的现状,特别考虑移动端的现状:

 

  1. 包大小问题
  2. 集团中多种中间件(mtop、db、accs等)要不然已然跨终端,要不然在各端上都有较为优秀的独立sdk提供, 基于第一点考虑,这一部分不需要在基础库里二次建设。

 

综合以上因素,集团内没有合适的足够小的且满足需求的c++基础库,因此我们当时决定自研一个基于C++   STD的符合移动端现状的轻量级跨终端基础库。

 

image.png

 

 

  1. 基础能力要圈覆盖,
  2. 综合考虑包大小,性能 以及耗电量等
  3. 除了提供默认实现外,当系统层面有比较好的能力、或更优解时时,复用端上的能力,通过统一的方式嫁接。举个例子,集团中间件mtop,accs等,亦或者诸如Crypt模块,我们期望用比较简单的方式去实现,调用了Openssl的加解密接口,熟悉Openssl的同学都知道他的库大小在1M左右,同时IOS系统直接就提供Openssl能力,所以在做这一部分的时候我们提供了默认实现,同时开放统一接口接入系统能力,从而实现包大小最优。

带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(3)https://developer.aliyun.com/article/1340357?groupCode=taobaotech

 

相关文章
|
9月前
|
开发工具 C++ 容器
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(1)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(1)
|
1天前
|
JSON 前端开发 JavaScript
技术笔记:vmware之VMwareRemoteConsole(VMRC)SDK(二)
技术笔记:vmware之VMwareRemoteConsole(VMRC)SDK(二)
|
9月前
|
开发工具 Android开发 开发者
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(5)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(5)
|
1月前
|
存储 安全 机器人
【LLM】智能学生顾问构建技术学习(Lyrz SDK + OpenAI API )
【5月更文挑战第13天】智能学生顾问构建技术学习(Lyrz SDK + OpenAI API )
68 1
|
9月前
|
测试技术 调度 开发工具
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(3)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(3)
|
9月前
|
存储 监控 调度
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(4)
带你读《2022技术人的百宝黑皮书》——跨全端SDK技术演进(4)
|
1月前
|
JavaScript Java Maven
云效产品使用常见问题之android sdk 构建出aar后,上传到私有maven仓库失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
8月前
|
API 开发工具 Android开发
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
183 0
|
1月前
|
安全 开发工具 Android开发
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
746 0
|
7天前
|
jenkins 持续交付 开发工具
Android使用Jenkins打包自动维护sdk版本号
Android使用Jenkins打包自动维护sdk版本号
13 0