iOS技术栈:Objective-C/IGListKit/Swift/SwiftUI/CocoaPods
C++/Qt技术栈:C++11/STL/QT/QtQuick(Qml)/VC++/Windows SDK项目开发/熟悉汇编语言
音视频:FFmpeg/AVFoundation/MediaCodec/VideoToolbox
架构设计:MVVM架构模式/设计模式/项目组件化
前端开发:Html/JavaScript/Ajax
数据库相关:MySQL/MongoDB/SQLite
项目组织:动态链接库、静态链接库
开发工具链:Visual Studio/Xcode
大润发iOS App
此项目是第一代手机App扫码购物软件。配合门店核验机,提供给用户在超市购物时,自助结算,不必经过收银台。此App的用户保守估计至少100万。
项目使用Ojective-C语言开发,项目选择Instagram的IGListKit作为核心框架。选择MVVM作为整体项目的架构模式。实现了商品条码扫描识别,结算,支付订单等功能。实现了首页复杂的列表展示。
个人从0开始负责整个项目的基础架构设计、业务模块组件划分、第三方开源框架筛选、接入。负责项目一期、二期所有核心模块、业务模块代码编写、测试。实现所有业务功能。主要模块包括:
1.首页(包括商品分类展示列表实现,商品搜索框、商品详情页)。
2.分类列表页(包含商品分类,以及各分类下的商品列表展示)。
3.用户中心(实现用户注册登录、App设置入口以及二级子页面功能、订单状态栏、多点服务栏、常用工具栏)。
此项目严格遵循组件化开发,业务模块组件划分清晰严格。实现了组件内部高内聚,组件之间低耦合。
项目引入了IGListKit框架,使UI的流畅性、性能达到极致。
项目在开发初期,接入了内存泄漏检测组件,在开发阶段就彻底消除内存泄漏隐患,确保了App健壮性。
项目在开发初期,接入了bugly崩溃监控组件,在开发阶段就彻底消除了引起Crush的bug,保证App的健壮性。
体积视频解码SDK
这个项目是结合Unity3D、UE4游戏引擎实现视频、3D模型文件加载、解码、渲染的一套SDK。
项目实现了iOS、Windows、Android、macOS各个平台的硬件解码功能。
项目使用Google draco框架实现了3D点云模型的解码功能。
在Unity3D平台,使用C#与C++语言的互操作来实现纹理、网格模型数据加载、同步、渲染功能。
结合Unity3D引擎的AudioSource框架实现了音视频同步功能。
项目实现了一整套体积视频解码、渲染框架,可以高效用于AR/VR项目开发。
项目使用C++语言实现了Windows、Android平台的硬件解码功能。Windows基于微软公司的Media Foundation框架,Android基于MediaCodec框架。
项目使用Objc语言实现了iOS系统下硬件解码功能,具体实现封装了AVFoundation框架。调用UE4 SDK实现了异步纹理渲染功能,实现了逐帧解码渲染。
框架支持iOS、Windows、Android、macOS四个平台。
物流监管软件鹰溯系统
项目是为物流公司开发的物流监管系统。核心模块包括:票件追溯、站点视频调取、问题件追踪视频调取、分拨中心视频调取,站点监控分布地图显示、分拨中心监控分布地图显示、用户登录信息管理。
整个项目选择的Qt作为核心开发框架。
使用C语言实现了底层SDK的封装,使用C++设计实现了应用层可供调用的视频引擎,屏蔽了不同厂商SDK调用的细节。
负责参与项目的整体框架设计,关键业务模块开发。
使用QtWidgets实现了整体的用户界面框架。基于Qt框架的网络模块实现了与服务器之间的HTTP通信,包括JSON解析,数据持久化到MySQL数据库,用户登录。
整合了大华、海康视频SDK,设计了统一的监控视频调取模块,可以兼容不同站点、不同场地、不同厂商的监控设备。确保所有站点的视频,都可以根据时间任意调取,方便站点追踪问题件,追溯丢件问题。
实现了调取九宫格列表视频、视频墙功能。
此项目是第一代手机App扫码购物软件。配合门店核验机,提供给用户在超市购物时,自助结算,不必经过收银台。 从0开始负责整个项目的基础架构设计、核心框架选型、业务模块组件划分、第三方开源框架筛选、接入。负责项目一期、二期所有核心模块、业务模块代码编写、测试。实现所有业务功能。
项目实现了体积视频纹理硬件解码,Mesh数据解码,同步纹理、Mesh数据,并实现数据渲染的功能。主要功能包括打开视频、播放、暂停、停止、Seek到指定位置等功能。 实现了音视频同步播放功能。 项目使用C++语言实现了Windows、Android平台的硬件解码功能。W
该项目是达达集团旗下的即时零售购物平台,此App的用户量在5000万以上。 负责整个项目的架构设计、核心组件模块接入。主要基于之前未组件化的项目进行业务模块划分、组件设计、代码整合。 负责项目组件化实施,业务模块划分,公公组件抽取。 负责首页、订单、登录