iOS项目经历

文章出处,原创于 https://HawkingOuYang.github.io/

我的 GitHub StackOverflow

联系我 163邮箱


iOS项目经历
公司 项目 角色 参与时间 iOS人数 项目贡献 项目介绍
乐视致新(北京) HomeTime(视频通话) iOS独立开发App 2016.03 至 2017.04 1人 100% [♥] AppStore地址
联通(北京) 沃邮箱(邮箱) iOS团队leader 2015.02 至 2016.02 5人 25% [A] AppStore下载
联通(广州) 沃云购(电商) iOS研发组员 2014.05 至 2015.02 4人 15% [B] 电商-动画介绍
易杰(广州) 易企(公司产品-组件化) iOS研发组员 2013.11 至 2014.05 3人 30% [D] 组件化-ppt介绍
易杰(广州) 绿天平(IM) iOS研发组员 2013.05 至 2013.11 3人 30% [E] IM-动画简介
易杰(广州) iOS实习并自学 iOS研发组员 2013.03 至 2013.05 1人 100% [F] 详见此网站的博客列表
公司经历
公司 角色 时间
乐视致新 iOS独立开发 2016.03 - 2017.04
北京联通 (广州易杰-外派) iOS团队leader 2015.02 – 2016.02
广州联通(广州易杰-外派) iOS开发组员 2013.03 – 2015.02

我的优势

我的优势:

1、独立使用CoreData + MVVM + Masonry(纯代码UI)+ GCD+Operation + Bugly做App架构

2、熟练掌握工厂模式+多线程并发+大数据量+内存管理+性能优化,学习Swift,尝试react-native

3、独立开发 乐视致新HomeTime(视频通话)iPhone端App(其中“视频”有专人开发SDK)第一,二,三,四版

4、带队3人开发 北京联通 沃邮箱App

5、做过中小项目的iOS架构,技术选型,带领iOS中小型团队开发

6、技术方案、业务场景,会在空闲时间写到自己的博客上; 关注新技术应用

7、负责开发’票圈长视频’小程序,全国排名前100,分类排名前10,日活用户58万(2018.11)

在校表现:

1、湖南工业大学 | 电子信息科学与技术 | 本科 | 2009~2013

2、考研英语70分, CET6(英语六级) 509分, CET4(英语四级) 532分,

3、院里英语演讲比赛 二等奖

4、计算机二级, 三等奖学金2次,

5、宿管部优秀干事,运动会,班上生活委员 等

工作经历:

A、2013.06.25 毕业;

B、2013.03.25 至 2016.02 在 广州市易杰数码科技有限公司 做iOS开发工程师,

C、期间2015.02 至 2016.02 在 北京联通出差(广州易杰-外派),负责“沃邮箱”iOS端主程以及iOS团队leader(2015.04底至2016.02初)。

D、2016.03 至 2017.04 在 北京 乐视(乐视大厦6层-乐视致新), 独立开发 HomeTime iPhone端 App(其中“视频”有专人开发SDK).

E、2017.04 从北京 回到 长沙


熟悉 业务 + 技能

iOS业务:视频、邮箱、电商、音频、组件化-量产app、IM

1、MRR+ARC,MRR向ARC迁移

2、GitFlow,svn和git,svn向git迁移,bitbucket,gitbucket,GitHub

3、单例模式,工厂模式,MVC设计模式,MVVM设计模式

4、CoreData并发编程,关系型数据库,数据库轻量迁移,线程安全,多线程数据合并,基于Apple的CoreData.framework封装CCoreData.framework

5、GCD+Operation,基于CoreData的多线程,多线程数据合并等特点,封装CAbstractManager.framework

6、通知+block实现多线程通信,runtime,runloop,thread,block

7、ASIHTTP/AFNetworking,根据HTTP协议,WebDAV协议自己封装并向AFNetworking/AFWebDAVManager发起Pull Request,WireShark抓包

8、Masonry多机型适配,多种iOS操作系统适配

9、iOS证书,AppStore上架,企业版app部署,扫码下载app

10、开发者账号(AppStore和Enterprise)权限和使用

11、fabric奔溃统计,dSYM,jira,instrument

12、FMDB


开发过

MailCore2实现邮件收发, 北京联通 “沃邮箱”iPhone端

电商, 广州联通 “沃云购”iPad端,联通营业厅里 营业员用于办理联通业务:售卡、售机,一键写入SIM卡,下单、支付、物流 于一体的软件。沃云购商城地址 http://mall.gd10010.cn/

EZAudio实现“音频波形”(下方动画)

高仿 QQ 手势锁屏/指纹解锁 → 看我的GitHub

高仿 微信 webview,支持JS与OC之间通讯,嵌入html5页面 → 看我的GitHub

熟悉webview内存泄漏处理

ObjC与JS交互的Native+WebView开发,熟悉WebViewJavascriptBridge、熟悉NJKWebViewProgress,了解WebViewProxy

Method Swizzling兼容UIWebView与WKWebView,另兼容UIAlertView和UIAlertController

APNs推送邮件、网页、端内页面跳转

CocoaPods熟练使用开源库:

fabric统计奔溃

reveal调试UI图层

CocoaLumberjack开发时打印调试信息

iConsole真机测试时打印信息

FCFileManager管理沙盒文件

UICKeyChainStore配合FCUUID仿造UDID解决唯一标识用户

SDWebImage缓存图片等等

wireshark网络封包

用python制作通用型framework等等

了解ReactiveCocoa 机制,写过Demo

了解React-Native 开发,写过Demo

协议:熟悉smtp、pop3、imap协议,熟悉http、https协议、webDAV协议,了解xmpp、socket协议

算法:熟悉md5、熟悉base64,了解RSA加密;熟悉使用AES, SHA (开源库CocoaSecurity)

会抽出时间,学习“数字信号处理或图像处理”这方面的算法,因为考研考的就是这个


学习:美国公开课 + Apple文档 + StackOverflow

英语写听读很好,说比较流利

可以流畅地阅读Apple官方文档、StackOverflow

美国 斯坦福大学 Stanford的Objective-C公开课完成学习20节课

美国 斯坦福大学 Stanford的Swift公开课完成学习18节课

熟悉swift基本语法(Swift Programming Language学了50%)

熟悉Markdown语法;了解Python;了解JSPatch热修复,Rollout.io热修复;了解如何切图和标注

编码规范与文档

从下方动画“Mac文件系统”可以看出,我具备非常好的开发规范和编码规范

在工作中概括地写文档,工作之余写出详尽的实现文档


工作经历

https://HawkingOuYang.github.io

乐视(北京)

乐视致新 || 2016-03 至 2017-04

iOS技术部 | iOS独立开发App

工作内容:

1、独立开发 乐视 HomeTime(视频通话)iPhone端App(其中“视频”有专人开发SDK) 第一,二,三,四版; 后续 带领1人开发
2、独立使用 CoreData + MVVM + Masonry(纯代码UI) + GCD + Operation + Fabric 做App架构
3、熟练掌握 工厂模式+多线程并发+大数据量+内存管理+性能优化
4、写文档: 架构设计,项目优化,业务流程,开发规范,编码规范,代码版本控制,技术分享,任务排期,AppStore上架
5、AppStore地址 http://t.cn/RIOrYIC
6、完成学习: 美国 斯坦福大学 Objetive-C公开课20节课, Swift公开课18节课
7、积极尝试: OC + Hybrid + CoreData + FMDB + Swift + ReactiveCocoa + ReactNative
8、个人博客 https://HawkingOuYang.github.io/archives/
9、GitHub在这 https://github.com/HawkingOuYang/

工作业绩:

乐视致新
北京 乐视大厦 6层
根据 Fabric(来自twitter的工具), 乐视数据上报SDK, 乐视服务端; 实时统计数据:
1、在app层面, 崩溃(Crash),卡顿(OOM)等 故障率 为 0.02% ~ 0.06%
2、分享CoreData多线程并发+NSFetchedResultsController用法,分享HomeTime架构设计,探讨ReactiveCocoa,ReactNative,PromiseKit,RestKit等技术
3、积极思考技术选型,开发框架升级:URL路由MGJRouter, 模块解耦BeeHive, 自动化测试Quick、OHHTTPStubs 等等, 把常用的技术方案 封装成framework 等

联通(北京)

联通 || 2015-02 至 2016-02

iOS技术部 | iOS团队leader

工作内容:

北京联通宽带在线有限公司(广州易杰-外派)
北京市海淀区中关村南大街9号楼2层
1、负责 联通“沃邮箱”iPhone端, iOS开发架构,技术选型,iOS团队leader(2015.04底至2016.02初)
2、主要功能开发:阅读邮件,收发邮件,APNs推送,漏接电话,手势密码,指纹解锁,通讯录搜索 等
3、负责代码的版本控制(GitFlow)与app的版本管理,证书,P12制作,上架AppStore,企业版部署
4、担任联通iOS开发者账号的超级管理员,负责联通30个app中的8个app的证书,上架AppStore
5、负责初级工程师的培训,引导,代码review; 解决初级开发者组员的技术问题
6、负责iOS技术选型与落地; 负责iOS开发组的技术分享会
7、熟练使用git,并让iOS团队从svn转入git
8、内存占用优化,性能优化,耗电优化,技术储备更新 等

工作业绩:

1、MailCore2收发邮件内容并用CoreData存入disk, WebView加载HTML显示与编辑邮件内容
2、Native+Webview 仿 微信,嵌入HTML5页面,JS与OC交互: 看GitHub点击 http://t.cn/R6C4baD
3、Native 仿 QQ手势密码,指纹解锁: 看GitHub点击 http://t.cn/R6KInKF
4、APNs和沃推: 邮件,网页活动,推广运营,端内跳转页面
5、兼容iOS7.0与iOS8.0,兼容各种尺寸的屏幕
6、“沃邮箱”iPhone端,具有功能:自定义邮箱配置,收发邮件,代收邮件,翻墙收Gmail,自动注册,融合联系人,广告邮件聚合,漏接电话,APNs推送,夜间模式,手势密码指纹解锁,附件管理,任务管理,嵌入HTML5页面超级登录 等等
7、AppStore下载地址 https://itunes.apple.com/cn/app/wo-you-xiang/id977113509

广州易杰

广州易杰 || 2013-03 至 2015-02

iOS研发部 | iOS开发工程师

工作内容:

广州市易杰数码科技有限公司
广州市天河区中山大道西89号华景软件园A座10层

熟悉iOS业务:邮箱+电商+音频+组件化+IM

2015.02 ~ 2016.02
北京联通“沃邮箱”iPhone端,负责iOS开发架构,主要功能开发,技术方案,GitFlow,证书,上架AppStore

2014.05 ~ 2015.02
广州联通”沃云购”(电商)iPad端 界面层,逻辑层,数据层,网络层 开发:首页模块,手势密码,设置模块,登录模块,公用界面封装

2013.11 ~ 2014.05
公司产品“易企”(组件化量产app) 3个模版开发

2013.05 ~ 2013.11
“绿天平”iPhone端(IM) 3个模块开发

2013.03 ~ 2013.05
公司实习并自学iOS

工作业绩:

1、MRR+ARC,MRR向ARC迁移
2、GitFlow,svn和git,svn向git迁移,bitbucket,gitbucket,GitHub
3、单例模式,工厂模式,MVC设计模式,MVVM设计模式
4、CoreData并发编程,数据库轻量迁移,基于Apple的CoreData.framework封装CCoreData.framework
5、GCD+Operation,基于CoreData的多线程,多线程数据合并等特点,封装CAbstractManager.framework
6、通知+block实现多线程通信,runtime,runloop,thread,block
7、ASIHTTP/AFNetworking,根据HTTP协议,WebDAV协议封装,WireShark抓包
8、Masonry多机型适配,多种iOS操作系统适配
9、iOS证书,AppStore上架,企业版app部署,扫码下载app
10、开发者账号(AppStore和Enterprise)权限和使用
11、fabric奔溃统计,dSYM,jira,instrument


项目经历
[壹] HomeTime 独立开发https://HawkingOuYang.github.iohttps://HawkingOuYang.github.io

乐视 HomeTime(视频通话) iPhone端
角色:iOS独立开发App(其中“视频”有专人开发SDK)
项目URL:App Store
时间:2016-03 至 2017-04
地点:北京 乐视大厦 6层 (乐视致新)
https://HawkingOuYang.github.io
HomeTime: 在手机电视之间,进行视频语音通话https://HawkingOuYang.github.iohttps://HawkingOuYang.github.io
https://HawkingOuYang.github.io

项目描述:
1、独立开发 乐视 HomeTime(视频通话)iPhone端App(其中“视频”有专人开发SDK) 第一,二,三,四版; 后续 带领1人开发;2016-03-18启动项目,第一版2016-06-11号提交AppStore审核,06月25上架AppStore;之后每一个月迭代一版
2、在App层面,技术关键词:OC,C,Java,JavaScript,ARC+纯代码,CoreData+SQLite,GCD+Operation,
HTTP+socket+webDAV,MVVM+Masonry,Fabric+JSPatch+Reveal
3、组员CN,基于Google开源的WebRTC,使用C++自定义信令,封装WebRTC.framework
4、组员YJY,基于组员CN封装的WebRTC.framework,使用OC,封装LeFaceSDK.framework
5、组员OYXJ(我),基于Apple的CoreData.framework,根据CoreData线程安全,多线程数据合并,数据库迁移等特点,使用OC,封装CCoreData.framework → 点击看详情
6、组员OYXJ(我),基于”工厂模式”,”单例模式”,”多线程并发”,”通知+block进行线程通讯”,”GCD+OperationQueue”等,并依赖于CoreData的线程安全,多线程数据合并,使用Objective-C,封装成为CAbstractManager.framework → 点击看详情
7、演示:请连接WiFi之后,点击 (很耗流量) → App演示Demo: HomeTime-iOS-v1.1–2016-08-07.mov ← please connect Wi-Fi network and click this link, because of its heavy network traffic !
8、积极参与iOS团队技术分享:分享CoreData多线程并发+NSFetchedResultsController用法, 分享HomeTime架构设计,探讨ReactiveCocoa、ReactNative、PromiseKit、RestKit等技术
9、特别针对webview实现JS和OC交互的Hybrid开发,仿造 微信webView效果,包括:
1.进度条,
2.左滑返回上个网页或者直接关闭(像UINavigationController),
3.适配iOS8.0的UIWebView(特别处理UIWebView内存泄漏)和WKWebView,
4.支持JS和OC交互HybridApp,
5.支持WebViewProxy
WeChatWebViewController → 我的GitHub
10,工作中抽空+下班之后,撰写文档
项目的目录结构,详见文档:iOS-HomeTime-项目概述.pdf
项目的架构设计,详见文档:HomeTime-iPhone端-项目框架使用说明.pdf
项目的业务流程,详见文档:iOS-HomeTime-业务流程图.png (使用Sublime + PlantUML绘制)
项目的代码规范,详见文档:HomeTime-iPhone端-编码规范.pdf
11、善于总结技术、业务,写成文档,积极分享,提高团队技术实力、技术凝聚力
积极思考技术选型、开发框架升级:URL路由MGJRouter, 模块解耦BeeHive,自动化测试Quick、OHHTTPStubs 等等,把常用的技术方案 封装成framework 等
12、积极学习 美国斯坦福大学 iOS开发 新技术 + 阅读Apple官方文档 + 上stackoverflow搜索答案:
完成学习:ObjectiveC iOS 7 公开课共20节课 “CS193P Fall 2013”来自“Stanford”(美国 斯坦福大学 ) → 点击看学习笔记
完成学习:Swift iOS 9 公开课共18节课 “CS193P_SPR16”来自“Stanford”(美国 斯坦福大学) → 点击看 “iOS公开课+学习资料”
正在学习:“面向 Web 开发者的 HTML、CSS 与 Javascript 课程” 来自“The Johns Hopkins University”(美国 约翰·霍普金斯大学)→ 点击看学习笔记
技术文档总结成为 自己的博客,并分享给同事,同事们技术互补,一起提高和进步

项目业绩:
1.积极协同 Server同学,Android同学,产品,设计,交互,测试等,根据项目排期 高量高质 完成工作
2.撰写 架构演进,技术文档,业务文档,流程图,时序图 等,保证项目的可读性,持续性,维护性
3.积极跟进 市场上 畅销的技术点,业务点, 保证团队的 活力和竞争力
Android手机端App开发人数:共4个人(其中一个Android组长)
iPhone端App开发人数: 1个人(我);iOS组长在第一版的最后15天review代码,要求我某些流程优化.由于iPhone端我独立开发,技术上没问题,工作量,进度安排,人数 和 Android手机端 相比较,差距很大,所以:我很累,尽管如此,我依然如期 独立完成了第一二三四版。后续版本,iOS组长招了一个人来帮我做界面以及部分非核心功能,后续我带领他版本迭代


[贰] 沃邮箱 带团队

北京联通 沃邮箱 iPhone端
角色:iOS团队leader
项目URL:App Store
时间:2015-02 至 2016-02
地点:北京市海淀区中关村南大街9号楼2层 北京联通宽带在线有限公司

时间说明:2014年11月启动,在北京联通进行,项目现在(2017.04)还在继续,本文作者在2015年2月2号,从广州联通 前往 北京联通 加入 沃邮箱项目组,于2016年1月离职

沃邮箱:自定义邮箱配置,收发邮件,代收邮件,翻墙收Gmail,自动注册,融合联系人,广告邮件聚合,漏接电话,APNs推送,夜间模式,手势密码,指纹解锁,附件管理,任务管理,嵌入HTML5页面超级登录 等等

沃邮箱是中国联通增值业务平台的核心应用,手机号码即为用户邮箱号,除满足联通手机用户基本的收发邮件需求, 即时通知需求以外,还集成、拓展邮箱周边服务,如:账单服务、传真邮、超大附件、自写短信、客户端流量减免、超大云空间、语音邮箱等,扩充用户的体验,并通过手机邮箱客户端的高覆盖度,增强用户触点,推广更多的联通自有业务,为更多增值业务营销提供平台,加强用户体验,提升用户粘性和ARPU值。

项目描述 + 项目业绩
详见上述 “工作经历”, 此处不再赘述


[叁] 沃云购

广州联通 沃云购(电商) iPad端
角色:iOS开发组员
项目URL:http://mall.gd10010.cn/
时间:2014-05 至 2015-02
地点:广州市天河区黄埔大道西126号云来斯堡酒店17层 广东省分互联网发展事业部

时间说明:2014年05月启动,在广州联通进行,2015年2月2号当时沃云购的主要功能已经完备,公司安排本文作者在2015年2月2号,从广州联通 前往 北京联通 加入 沃邮箱项目组

广州联通“沃云购”iPad端, 联通营业厅里营业员用于办理联通业务:售卡、售机,一键写入SIM卡,下单、支付、物流 于一体的软件。沃云购商城地址 http://mall.gd10010.cn/

项目业绩:

时间久了,只记得大概的代码实现,模块详细的实现要再看曾经的代码:
负责项目 首页模块、设置模块、登录模块、手势密码 — UI、网络请求、数据存储、业务逻辑。
负责项目 公用界面的封装 — UI、网络请求、数据存储、业务逻辑。
1、首页模块:仿照AppStore首页、网易公开课首页,tableview实现循环滚动,tableview的offset自动定位cell行,cell中异步填充图片或Gif。
2、设置模块:修改密码的输入框以及按钮自动变色(正确为绿色、错误为红色),根据键盘自动调整UI。
3、登录模块:历史账号联想输入以及联想头像,登录密码加密传输以及存储。
4、手势密码:alert级别的UIWindow用于锁屏。
5、封装 物流信息选择页面,物流信息填充页面。


[肆] 易企

公司产品 易企(组件化量产app)
角色:iOS开发组员
项目URL:产品介绍
时间:2013-11 至 2014-05
地点:广州市天河区中山大道西89号华景软件园A座10层 广州市易杰数码科技有限公司

“易企”,公司的一个产品,持续了1年半,投入约150万,主要是模版定制软件,iPhone端,Android端,portal端,微站及pc端,已经和电信合作翼企,正在和移动合作打造和企,未来会与联通合作打造沃企。公司产品”易企”(组件化量产app) 官网地址

项目业绩:
时间久了,只记得大概的代码实现,模块详细的实现要再看曾经的代码:
负责“易企”这个产品3个模版(每个模版相当于一个独立的app)中,iOS客户端 部分模块开发。
1、负责“易企”这个产品3个模版:APM摄影、服装、餐饮 — UI、网络请求、数据存储、业务逻辑。
2、“易企”这个产品的架构更大,其中“绿天平”这个项目的架构 作为 大架构中的单元,所以很多UI、数据结构、网络 等都是可以复用的。


[伍] 绿天平

绿天平(律师IM) iPhone端
角色:iOS开发组员
项目URL:下方动画
时间:2013-05 至 2013-11
地点:广州市天河区中山大道西89号华景软件园A座10层 广州市易杰数码科技有限公司

“绿天平”iPhone端,具有功能:律师之间分享案件资料(语音、照片、文档、笔记、提醒),案件关联多个律师,文档归类、下载、查看、标星,添加好友、搜索好友、IM聊天、推送、设置个人资料、免打扰 等等;共5个模块(IM、案件、好友、秘书、设置),我负责3个模块(好友、秘书、设置)的UI、网络请求、数据存储、业务逻辑;其他两个模块是比较复杂的(一个使用XMPP聊天的IM模块、另一个是“案件”模块)是同事做的。后来被一个学校的研究生导师拿去带学生做iOS开发了。

项目业绩:

负责“绿天平”这个项目,3个模块(好友、秘书、设置)的UI、业务逻辑、数据存储、网络请求。
按照 低保真、高保真、需求文档、接口文档、编码规范、开发规范,实现 业务逻辑、业务流程、数据结构、网络请求,根据高保真细致化UI界面。

1、登入登出:登录、注册、版本升级。
2、好友模块:好友分组、本地搜索和网络搜索、热门搜索、增删好友。
3、设置模块:根控制器、弹窗、表、高度变动的单元格(图片异步填充)、照片墙,适配不同尺寸UI,版本更新、图片音频上传队列、GCD主线程后台线程切换。
4、秘书模块:下拉刷新、上拉加载更多、table多个数据源切换、重用cell切换、封装UI组件选取器和相似页面、文件下载队列。
5、使用 AFSoundManager开源库 播放音频流,在UI上显示播放进度,可拖动调节播放进度。


[陸] iOS实习并自学

角色:iOS开发组员
时间:2013-03 至 2013-05
实习以及自学 3个月,积极、主动、高效、实用,擅于总结、举一反三,得到 iOS团队leader的奖励 和 间接领导的认可,随后 开始做项目,并在项目中表现优秀


项目演示

温馨提示:很耗流量,请连接WiFi之后 → 点击下方点我(click me) ← please connect Wi-Fi network and click, because of its heavy network traffic !

Mac文件系统

点我 (click me)

乐视-HomeTime
联通-沃邮箱
联通-沃云购
  • 联通-沃云购-产品介绍
    点我 (click me)

  • 联通-沃云购-产品演示
    因为测试环境已经关停了,而且这个app只能联通营业厅的营业员使用,所以没有展现出数据。
    点我 (click me)

铃音助手-项目介绍

因为测试环境已经关停了,而且真机运行会崩溃(可能是当时iOS SDK没兼容好,我以后再修复它),所以这里是高保真(即美工给的设计图)。
点我 (click me)

易杰产品-易企

点我 (click me)

绿天平-项目介绍

因为测试环境已经关停了,而且现在真机运行会崩溃(可能是当时iOS SDK没兼容好,我以后再修复它),所以这里是当时运行的截图。
点我 (click me)

高仿 QQ 手势锁屏/指纹解锁

GitHub查看 (GitHub Repository)
gesturelockscreen

高仿 微信 webview

GitHub查看 (GitHub Repository)
WeChatWebViewController