一 计算机基础
- 计算机
- 软件
- 编程语言
- 网络
二 开发基础概述
- 客户端
- 服务端
- 前端/Android/iOS/桌面软件/小程序/快应用/
- 跨平台/大前端
- 计算机大概是怎样跑起来的
- 程序大概是怎样运行起来的—从编码,编译(解释),汇编到运行
- 语言,平台,类库,框架,脚手架
三 互联网产品
- 开发&上线&迭代
- 开发协作方式(App,开放接口APIorSDK)
- github
四 语言基础(java/js)
五 平台实践(Android/小程序/RN)
- 熟悉平台提供的API以及功能实现
- 实现某仿客户端—达到开发通用App的能力
- 对第三方库的使用
- 对第三方SDK如推送SDK,IMSDK,地理定位SDK,后端云SDK的使用
- 对常用功能模块的拆解和需求的把握
- 对代码习惯的养成和调试bug解决问题的能力
六 常见三方库解析与实现
- 代码改进和封装技巧
2.design pattern的引入及合理认识 - IOC DI
- 结合语言特性分析推导design pattern
- 拆解第三方库及实现(网络库,注解库,ORM库等)
- library与framework
- 如何设计较好使用的库(封装,功能复用与应用解耦)
七 常见SDK解构及设计实现
- 熟悉常用SDK
- 成为SDK开发者
- 如何设计API
- SDK如何保证对外好用,对内好维护
- 对常见IM,推送,后端云SDK的分析和设计实现
- SDK与技术支持
- 具备开发SDK周边辅助衍生工具的能力
- 编写技术文档的能力
八 手游渠道SDK & 聚合SDK 拆解与实现
- 手游行业特性
- 手游渠道SDK的实现(Android/iOS)
- 聚合SDK的产生背景和实现
- App打包流程
- 聚合打包工具的实现
- 常用游戏引擎接入SDK遇到的常见问题
- 具备了解手游行业的业务流程和胜任手游公司SDK开发的能力
九 基础逆向能力
- Android/iOS 反编译 二次打包 重签名
- 工具:Apktool baksmali.jar smali.jar jarsigner
- 实现一个简单的解析和逆向Apk包工具
十 组件化 插件化 or 热修复
- 常用方案使用与接入
- 在SDK内实现热修复
- 手写热修复实现
附:
- 快速学习并上手新语言,新平台
- 程序员的能力(定位,分析&解决问题)
- 工作经验交流分享
- …
