`
mmdev
  • 浏览: 12914255 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

【幻灯片分享】社区类iPhone应用开发的技术实践 |麻麻帮 陈剑飞 | iOS DevCamp

 
阅读更多

简单中的不简单,iPhone应用开发实践总结:《社区类iPhone应用开发的技术实践》 | iOS DevCamp | 7月27日 北京

主题简介:很多iPhone应用产品的开发,并没有多少技术亮点,而更多的是对各种iOS开发技术的灵活掌握和应用,以及经验的积累。本演讲将结合讲师这些年自学iPhone开发的历程,结合自己多个应用开发实践的案例,与大家分享iOS开发的技术实践,内容将涉及:开源框架的选择,如何搭建程序架构从而写更干净的代码,如何有效使用内存和防止内存泄露,如何巧妙运用快捷键,快速加载图片的实践过程,等等。这些看似普通的技术点,将蕴含着讲师这些年iOS开发技术实践的最重要的总结。

演讲嘉宾:陈剑飞,儒果网络科技(麻麻帮)创始人。上海交大毕业后从事HP/Cisco硬件产品经理超过10年,2010年开始自学iPhone程序开发,是国内最早一批从苹果应用商店淘金的个人开发者之一。目前团队获得来自创新工场的天使投资,重点关注移动终端的亲子育儿社区。


【幻灯片在线观看】*:

<iframe src="http://www.slideshare.net/slideshow/embed_code/13838599" width="597" height="486" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen=""> </iframe>


备注:* 因为炫姐姐对SlideShare这一平台的偏爱,尽管需要使点小技巧才能上传分享,但是炫姐姐还是坚持选择了这一功能强大却简洁好用的平台。一来对国外这些开发出优秀的工具和平台、造福于互联网和人类的团队表示致敬,二来则是对国内对于这些优秀的工具和平台的限制表示一下立场。读者如果不能正常浏览,那么需要像炫姐姐一样用点小技巧。而对于那些还是不知道炫姐姐在说什么的小白读者,可以移步到这里查询原因。


【幻灯片下载页面】: iOS DevCamp幻灯片分享:社区类iPhone应用开发的技术实践 | 麻麻帮 陈剑飞 http://download.csdn.net/detail/shiningxyy/4473583 -来自CSDN下载频道(不需要积分,自由下载)


【幻灯片内容刚要】:

1. iOS DevCamp Produced by CSDN
2. 简单中的不简单 社区类iOS应用开发的技术实践分享 陈剑飞, 麻麻帮创始
3. 开始协作之前 •  代码缩进 -­‐ (void)someMethod 参考: { –  空格长度(2?4?) 1.  [someOther boolValue]) { if (Apple “Coding Guidelines for –  函数声明中的空格 //Do something important Cocoa” –  行长度是否要限制?限制多少? } 2.  } Google “ObjecZve-­‐C Style –  结尾”{“的位置 Guide” –  代码中的空行 改写为 •  变量命名规则 3.  ZDS “Code Style Guide” –  选择合适的词 (Info? Data? Object?) -­‐ (void)someMethod { –  变量名长短 if (![someOther boolValue]) return; –  类变量的下划线 –  大小写 (匈牙利命名法?驼峰命名法?) //Do something important }
4. 开始协作之前 •  函数命名规则 -­‐ (void)someMethod 参考: { –  清晰有效,不会有歧义 1.  [someOther boolValue]) { if (Apple “Coding Guidelines for –  慎用缩写(SND, PSWD, IMG),写全称 //Do something important Cocoa” –  不同类中相似方法,尽量用同样的名字 } 2.  } Google “ObjecZve-­‐C Style •  注释要求 Guide” –  大部分情况下函数名和变量名应该能说明问题 改写为 –  不要用注释临时删除代码 3.  ZDS “Code Style Guide” –  不需要注释的代码是最整洁的代码 -­‐ (void)someMethod { if (![someOther boolValue]) return; //Do something important }
5. 开始协作之前 -­‐ (void)someMethod 参考: { •  语法相关 1.  [someOther boolValue]) { if (Apple “Coding Guidelines for –  对于空值的判断 //Do something important Cocoa” –  对于布尔变量的判断 } 2.  } Google “ObjecZve-­‐C Style –  代码主路径 Guide” –  Dealloc方法中的代码顺序 改写为 –  Protocal 和#pragma的使用 3.  ZDS “Code Style Guide” •  Project文件夹的组织 -­‐ (void)someMethod { if (![someOther boolValue]) return; //Do something important }
6. 工欲善其事,必先利其器 •  Xcode的键盘快捷 –  Command + Up –  Command + L –  Shia + Command + F –  Command + F •  Xcode 标记工具 –  #pragma mark 行标记 –  //TODO: //FIXME: //MARK: //!!!: //???:(从Xcode4开始写在{}内无效) –  #warning •  -­‐Xcode辅助工具 –  Instruments (Leak, AllocaZon, Zombie) –  Analyze
7. “⼀一个程序员的职业修养” •  整洁代码 推荐阅读: –  没有孤立的数字 Robert. C. MarZn (著) 韩磊(译) –  短函数 人民邮电出版社 –  不复制代码 •  代码洁癖 •  阶段性重构的必要性 •  面向对象的思考 •  Modal-­‐View-­‐Controller 架构
8. 踩在巨人的肩膀上 •  常见开源框架选择 –  ASIH5pRequest –  SVProgressHUD –  SDWebImage –  TouchJSON –  EGORefreshTableHeaderView •  保持代码更新 (gitHub) •  熟读源代码 •  改造合适自己的版本
9. 社区类应用特点 产品设计对策 •  用户是内容的产生者 •  需要简化输入,图片上 传,视频上传等 •  支持横屏输入,语音输入 •  支持文字草稿,文字复制 •  服务器和手机端有大 •  精简数据传输 量数据交互 •  本地缓存机制实现与更新 策略 •  用户对于刷新和等待 •  异步与同步选择 的忍受度低 •  长时间操作的提示分类
10. 社区类应用特点 技术实现 •  设计统⼀一的跳转方式 •  大量页面跳转 (程序内URL) •  在传统View Controller基础•  多数页面需要和服 上设计多个继承类,封装 务器交互 了大量与服务器同步交互 或者异步交互的方法 •  设计统⼀一的通知管理器,•  通知频繁 管理全局服务器通知,在 每次与服务器的数据传输 中,放置通知字段
11. 实例一:瀑布流实现中的若干问题 •  UIScrollview + 自定义View •  视频首帧图片延迟加载 •  内存效率问题, 如何释放不 需要显示的图片所占用的内 存 •  动态加载效果
12. 实例二:有关通知的设计 •  三个层次的通知 –  Push NoZficaZon –  程序内通知 –  通知中心 •  与服务器每次交换数据都含有 通知结构 {name=“xxx”, code=“xx”, data=“”, noZf=“”} •  每个页面都含有通知显示
13. 关于 Memory Warning •  图片和视频占用内存多,Memory Warning 是经常的,在viewDidUnload中释放非必须 资源,注意,该资源应该能被viewDidLoad 中重新创建,不然不应该释放 •  尽量用真机测试,不然无法发现潜在 memory warning 问题 •  如果在程序中可预见性的会产生大量 autorelease对象,应该自建autorelease pool
14. 谢谢 jobs@mamabang.com

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics