【幻灯片分享】社区类iPhone应用开发的技术实践 |麻麻帮 陈剑飞 | iOS DevCamp
简单中的不简单,iPhone应用开发实践总结:《社区类iPhone应用开发的技术实践》 | iOS DevCamp | 7月27日 北京
主题简介:很多iPhone应用产品的开发,并没有多少技术亮点,而更多的是对各种iOS开发技术的灵活掌握和应用,以及经验的积累。本演讲将结合讲师这些年自学iPhone开发的历程,结合自己多个应用开发实践的案例,与大家分享iOS开发的技术实践,内容将涉及:开源框架的选择,如何搭建程序架构从而写更干净的代码,如何有效使用内存和防止内存泄露,如何巧妙运用快捷键,快速加载图片的实践过程,等等。这些看似普通的技术点,将蕴含着讲师这些年iOS开发技术实践的最重要的总结。
演讲嘉宾:陈剑飞,儒果网络科技(麻麻帮)创始人。上海交大毕业后从事HP/Cisco硬件产品经理超过10年,2010年开始自学iPhone程序开发,是国内最早一批从苹果应用商店淘金的个人开发者之一。目前团队获得来自创新工场的天使投资,重点关注移动终端的亲子育儿社区。
推荐指数:3星半
推荐理由:实实在在的实践总结,很多的to do ¬ to do 的 tips,简单中的不简单。
不足之处:总结略显简短。
现场评分:3.6
【讲师现场靓照】
【幻灯片在线观看】*:
简单中的不简单,iPhone应用开发实践总结:《社区类iPhone应用开发的技术实践》| 麻麻帮 陈剑飞 from Shining @DevCamp
备注:* 因为炫姐姐对SlideShare这一平台的偏爱,尽管需要使点小技巧才能上传分享,但是炫姐姐还是坚持选择了这一功能强大却简洁好用的平台。一来对国外这些开发出优秀的工具和平台、造福于互联网和人类的团队表示致敬,二来则是对国内对于这些优秀的工具和平台的限制表示一下立场。读者如果不能正常浏览,那么需要像炫姐姐一样用点小技巧。而对于那些还是不知道炫姐姐在说什么的小白读者,可以移步到这里查询原因。
【幻灯片下载页面】: iOS DevCamp幻灯片分享:社区类iPhone应用开发的技术实践 | 麻麻帮 陈剑飞 http://download.csdn.net/detail/shiningxyy/4473583 -来自CSDN下载频道(不需要积分,自由下载)
【幻灯片内容刚要】:
1. iOS DevCamp Produced by CSDN
2. 简单中的不简单 社区类iOS应用开发的技术实践分享 陈剑飞, 麻麻帮创始人
3. 开始协作之前 ?? 代码缩进 –? 函数声明中的空格 –? 行长度是否要限制?限制多少? –? 结尾”{“的位置 –? 代码中的空行 ?? 变量命名规则 –? 选择合适的词 (Info? Data? Object?) –? 变量名长短 –? 类变量的下划线 –? 大小写 (匈牙利命名法?驼峰命名法?)
4. 开始协作之前 ?? 函数命名规则 –? 清晰有效,不会有歧义 –? 慎用缩写(SND, PSWD, IMG),写全称 –? 不同类中相似方法,尽量用同样的名字 ?? 注释要求 –? 大部分情况下函数名和变量名应该能说明问题 –? 不要用注释临时删除代码 –? 不需要注释的代码是最整洁的代码
5. 开始协作之前 ?? 语法相关 –? 对于空值的判断 –? 对于布尔变量的判断 –? 代码主路径 –? Dealloc方法中的代码顺序 –? Protocal 和#pragma的使用 ?? Project文件夹的组织
6. 工欲善其事,必先利其器 ?? Xcode的键盘快捷 ?? Xcode 标记工具 ?? --‐Xcode辅助工具
7. 程序员的职业修养 ?? 整洁代码 –? 没有孤立的数字 –? 短函数 –? 不复制代码 ?? 代码洁癖 ?? 阶段性重构的必要性 ?? 面向对象的思考 ?? Modal--‐View--‐Controller 架构
8. 踩在巨人的肩膀上 ?? 常见开源框架选择 –? ASIH5pRequest –? SVProgressHUD –? SDWebImage –? TouchJSON –? EGORefreshTableHeaderView ?? 保持代码更新 (gitHub) ?? 熟读源代码 ?? 改造合适自己的版本
9. 社区类应用特点 产品设计对策 ?? 用户是内容的产生者 ?? 需要简化输入,图片上 传,视频上传等 ?? 支持横屏输入,语音输入 ?? 支持文字草稿,文字复制 ?? 服务器和手机端有大 ?? 精简数据传输 量数据交互 ?? 本地缓存机制实现与更新 策略 ?? 用户对于刷新和等待 ?? 异步与同步选择 的忍受度低 ?? 长时间操作的提示分类
10. 社区类应用特点 技术实现 ?? 设计统?一的跳转方式 ?? 大量页面跳转 (程序内URL) ?? 在传统View Controller基础?? 多数页面需要和服 上设计多个继承类,封装 务器交互 了大量与服务器同步交互 或者异步交互的方法 ?? 设计统?一的通知管理器,?? 通知频繁 管理全局服务器通知,在 每次与服务器的数据传输 中,放置通知字段
11. 实例一:瀑布流实现中的若干问题 ?? UIScrollview + 自定义View ?? 视频首帧图片延迟加载 ?? 内存效率问题, 如何释放不 需要显示的图片所占用的内 存 ?? 动态加载效果
12. 实例二:有关通知的设计 ?? 三个层次的通知 –? Push NoZ?caZon –? 程序内通知 –? 通知中心 ?? 与服务器每次交换数据都含有 通知结构 {name=“xxx”, code=“xx”, data=“”, noZf=“”} ?? 每个页面都含有通知显示
13. 关于 Memory Warning ?? 图片和视频占用内存多,Memory Warning 是经常的,在viewDidUnload中释放非必须 资源,注意,该资源应该能被viewDidLoad 中重新创建,不然不应该释放 ?? 尽量用真机测试,不然无法发现潜在 memory warning 问题 ?? 如果在程序中可预见性的会产生大量 autorelease对象,应该自建autorelease pool
14. 谢谢 jobs@mamabang.com