值得一记

  • 上架2个 iOS 应用
  • Scrum master 半年
  • 分享『iOS 设计模式简介』讲座
  • 参加「极客行动」并完成一个公益项目
  • 在 Evernote 中记录了220篇技术笔记
  • 熟练 Git 及其理念
  • Vim 入门

趣点-阅读线索

加入趣点后的第一个也是最主要的项目,前前后后折腾了4个多月的时间才正式上架。过程中学到了很多实用的东西,也踩了不少的坑,并逐渐开始探索底层的东西。

  • 初期技术预研和框架搭建花了不少时间,主要是经验不足
  • 期间有一次设计和交互上的大变动,因为当时的设计是外包的
  • 自定义了一些控件,如横向滚动的列表,可左右拖动的 cell,可点击的 label等
  • 在 Webview 中加载了 JS 插件
  • 几次代码重构,分离耦合度高的模块,创建一些接口类
  • 4吋屏适配,iPad 和 iOS7 兼容

Iamhere-自助签到应用

Toy project,前端+后台+iOS+Android 3天时间完成第一版,后来花了将近一个月讨论/改进产品化。

  • 使用了当时较流行的 FlatUIKit 写界面,很喜欢这种舒服的扁平风格,虽然代码稍显臃肿,但归置得当还是一目了然的,而且免去贴图,省事
  • 二维码扫描用的 ZBarSDK,可扫各种码,集成使用简单(ZBarReaderViewController),对扫描界面的定制支持也不错(ZBarReaderView)。不过似乎停止更新了,iOS7 也增加了二维码扫描功能。
  • 定位碰到了一个大坑——「火星座标」,好在先烈们提供了方案
  • 显示倒计时这个模块写的不太好,计算剩余时间考虑不周全,造成几个 BUG
  • 本地通知这个功能蛮有意思

说说 Scrum

小团队最适合像 Scrum 这种敏捷开发的流程,这也是小团队的优势。不过方法是死的,关键还得看个人的执行和实施。得益最多的还是对任务的拆分,将大的任务细分为可控的小点,执行起来比较有效率。Trello 很好用。

设计模式和讲座

在做趣点客户端的时候边学习边思考边写,积累了一些 iOS 中设计模式的使用,于是在 「TechTalk」 分2次分享了 『iOS 设计模式简介』,所谓能讲出来才算真正的理解嘛。
讲的挺烂的,到后面都变成了研讨会了,说明理解还是比较浅,不过对我来说还是挺有收获。

极客行动

类似「黑客马拉松」的活动,时间是36小时,一个后台、一个设计和我,项目是公益与会人员签到和志愿者外勤追踪,准备做一个打卡+记录统计的 iOS 应用。最后虽然没有获奖,但36小时3个人合作让一个项目在手中成功诞生,还是挺有成就感的。

笔记

Evernote 真是一个强大的生产力工具,各平台的客户端不说,围绕它开发的一些插件就非常好用,浏览器上的「剪贴」简直神器。还有就是越来越多的工具能同步到 Evernote,比如「马克飞象」就完美的结合了 Markdown 编辑器和 Evernote。用 Markdown 语法即时预览写完,同步过去就是一篇渲染完毕的笔记,弥补了 Evernote 格式上的缺憾。所以当解决一个难题、踩过一个坑、捣鼓了新东西…时我就会及时记录,慢慢就有了一些积累。准备等有空就发到博客上去晒晒。

Git

刚开始用 Git 管理代码的时候只知道 add/commit/push,commit 的频率非常低,一看 log 就知道完全没有发挥出 Git 所应有的版本管理的作用。后来在各种大牛们的指点下,

  • 每个 commit 只做一件事
  • commit message 规范明了
  • branch 结构清晰
  • 打 tag
  • merge 冲突代码
  • .gitignore/.gitconfig 文件配置
  • tig 非常好用 :]
  • 等等

感觉很好,也算是会用 Git 进行版本管理了吧。

Vim

之前在 Terminal 中编辑文档一直用的 nano,后来终于用上了「编辑器之神」Vim,学习曲线略高但是值得。

  • 安装了 MacVim 并添加alias vim="mvim -v"在终端中使用
  • janus 正好为我等懒人准备了插件配置包,这也是仅次于 oh-my-zsh 的好东西 :]
  • 目前还是非常初级的 Vimer

其他

  • 关注了很多 iOS 的同行大牛们,他们很多都有自己的博客,让我收获颇多
  • Github 上的开源项目让我知道优秀的代码该怎么写
  • 开发者们贡献了很多好用的控件,让我避免了重复「造轮子」
  • 这一年专心于 iOS 开发的积累,以现在的学习能力和技术经验,市面上的大部分 iOS 客户端应该都能独立实现