你确定准备开始做项目了么?(iOS)


文章带目录版请移步简纸书生

在确定做一个项目之前有很多的因素需要考虑,笔者这里不讨论项目管理中的一些比如需求确定了,项目立项这些东西。主要从项目的动工讲一讲自己觉得需要注意的方面。

  • 前提:你已经具备了开发的能力。

进入主题:

开发帐号的申请

自己前不久写过一篇入门及的帐号申请的博客,小白也能看懂。

2016年苹果开发者账号注册及邓白氏申请流程详解

项目的编码风格

项目的编码风格就像是一个人内在气质,不同的编码风格同样能完成项目的开发。指定了一套统一的编码风格,更有益于后期开发人员的维护,比如开发人员的离职,统一的风格让新人更快的上手。

这里收集了目前比较流行或者说是较好的编码规范(我公司就是按照这样的要求进行代码审查的)

编程语言 | 编码规范链接 |
-----|------|----
OC (中文) | OC之禅 |
Swift(英文) | The Official raywenderlich.com Swift Style Guide. |

这两套编码规范足够满足开发iOS相关应用的了。

项目的架构

对于刚入门的iOS开发人员来说,基本上第一个实际项目都是MVC架构的。维护过老项目的同学就应该知道,按照这种方式,臃肿的VC到后期基本上能够达到两三千行,如果这些代码不是自己写的,恭喜里,慢慢享受帮别人填坑的过程吧。

在设定项目架构之前,肯定需要对相关架构有所了解吧,来看看老外分析的结果。

iOS Architecture Patterns 需要翻墙,还有已经有人翻译过了

iOS 架构模式分析 国人翻译的

老外写文章的风格和国内有很多不一样,或许是因为翻译的问题,自我感觉讲的内容太多的累赘,里面的名字也写得很高大上。详情请直接点击链接。

当前比较流行的方式应该算是MVVM了,之前了解过一点ReactCocoa,但是在实际项目中还没有用起来过。网上关于ReactCocoa的分析也很多。这里附上几篇分析得不错的连接供各位折腾。

ReactCocoa原理分析篇

老外篇

ReactiveCocoa and MVVM, an Introduction

ReactiveCocoa 和 MVVM 入门国人翻译版

雷神系列(原理分析得很不错,关于runtime的也值得一看)

MVVM With ReactiveCocoa

ReactiveCocoa v2.5 源码解析之架构总览

ReactCocoa实践篇

峥吖(主要讲如何使用,实用为主)

最快让你上手ReactiveCocoa之基础篇

最快让你上手ReactiveCocoa之进阶篇

把以上的链接挨着一个个看完之后,对iOS的架构或许会有更深的理解。

项目目录结构

项目目录结构再项目初期的时候并没显得很重要。但是当项目迭代了多个版本后,估计你去找一个需要的文件除了使用Xcode的shift+command+o之外很难准确的找到。

最常用的莫过于

-- Models

-- Views

-- Controllers(或者ViewModels)

-- Nets

-- Helpers

个人经过实践觉得,将功能模块来划分(比如根据Tabbar上Item来划分)。如微信中,就按照微信,通讯录,发现,我几个模块分几个大的部分,然后在各个部分里面加入如上的结构。

-- 微信

--Models

--Views

--...

-- 通讯录

--Models

--Views

--...

-- Public

--Models

--Views

-- ...

项目第三方管理

国内用得做的应该算是cocoapods了。这个第三方管理库着实为我们解决了不少问题。但是如果没有使用好,同样会造成很多的问题。自己踩过的坑有,版本升级,开发人员用不同的cocoapods导致异常,cocoapods的完全重装等等。

相关使用介绍我是参照的唐巧写的用CocoaPods做iOS程序的依赖管理

可以建立多个Scheme

关于iOS项目中的arget,scheme,project和build setting概念可以看官方给出的解释。这是最为直接了当的。

iOS中arget,scheme,project和build setting概念

如果英文不是很好,可以看看

iOS中workspace,project,target,scheme 解析

关于Scheme的命名可以已经开发版,测试版,发布版来分类。
如果英文够好可以看看

How to Use Xcode Targets to Manage Development and Production Builds

如果你还爱折腾

关于项目持续集成自己一直没有涉及过。所以也不能写什么东东了。不过可以提供一些有用的链接。

About Continuous Integration in Xcode这个感觉需要xcode服务器,我望而却步了。

iOS CI with Jenkins这篇还没来得及看。作者写的时间居然是2014年,😳

总结

本类想些一些关于iOS架构方面的,没想到只把项目搭建写了就已经不早了,哎!时间真的过得太快。关于架构方面具体的分析,抽个空在写吧。

参考

7 Things you must absolutely do before writing an iOS app

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,071评论 4 62
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 23,813评论 8 183
  • prima facia duty actual duty道德規範的來源力是懲罰 行為 主體性 agency 我們作...
    阿掌阅读 335评论 0 0
  • 这一天是我们好姐妹相聚的日子,下班后,我匆匆赶往聚会的地方,我还是晚到了,可是想到好久未相聚的朋友们我还是特别开心...
    狒狒妞阅读 220评论 0 2