美文网首页iOS开发iOS技术专题iOS进阶指南
你确定准备开始做项目了么?(iOS)

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

作者: 纸简书生 | 来源:发表于2016-04-17 22:40 被阅读876次

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

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

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

    进入主题:

    开发帐号的申请

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

    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

    相关文章

      网友评论

      • 我本善良:开发时间长了,是应该站在app的外围看自己从前走过的路,否则容易陷进细节实现的沼泽中。
      • 我系哆啦:我觉得想做就做,不要等到觉得知识都积累都差不多才开始做,应该在做的过程中学习
        纸简书生: @我系哆啦 实际开发中是的,但是最为基本的还是需要知道的。比如什么引用计数,事件传递等等。学习,工作一个不断迭代的过程

      本文标题:你确定准备开始做项目了么?(iOS)

      本文链接:https://www.haomeiwen.com/subject/ycoolttx.html