你確定準(zhǔn)備開始做項目了么?(iOS)


文章帶目錄版請移步簡紙書生

在確定做一個項目之前有很多的因素需要考慮,筆者這里不討論項目管理中的一些比如需求確定了,項目立項這些東西。主要從項目的動工講一講自己覺得需要注意的方面。

  • 前提:你已經(jīng)具備了開發(fā)的能力。

進(jìn)入主題:

開發(fā)帳號的申請

自己前不久寫過一篇入門及的帳號申請的博客,小白也能看懂。

2016年蘋果開發(fā)者賬號注冊及鄧白氏申請流程詳解

項目的編碼風(fēng)格

項目的編碼風(fēng)格就像是一個人內(nèi)在氣質(zhì),不同的編碼風(fēng)格同樣能完成項目的開發(fā)。指定了一套統(tǒng)一的編碼風(fēng)格,更有益于后期開發(fā)人員的維護(hù),比如開發(fā)人員的離職,統(tǒng)一的風(fēng)格讓新人更快的上手。

這里收集了目前比較流行或者說是較好的編碼規(guī)范(我公司就是按照這樣的要求進(jìn)行代碼審查的)

編程語言 | 編碼規(guī)范鏈接 |
-----|------|----
OC (中文) | OC之禪 |
Swift(英文) | The Official raywenderlich.com Swift Style Guide. |

這兩套編碼規(guī)范足夠滿足開發(fā)iOS相關(guān)應(yīng)用的了。

項目的架構(gòu)

對于剛?cè)腴T的iOS開發(fā)人員來說,基本上第一個實際項目都是MVC架構(gòu)的。維護(hù)過老項目的同學(xué)就應(yīng)該知道,按照這種方式,臃腫的VC到后期基本上能夠達(dá)到兩三千行,如果這些代碼不是自己寫的,恭喜里,慢慢享受幫別人填坑的過程吧。

在設(shè)定項目架構(gòu)之前,肯定需要對相關(guān)架構(gòu)有所了解吧,來看看老外分析的結(jié)果。

iOS Architecture Patterns 需要翻墻,還有已經(jīng)有人翻譯過了

iOS 架構(gòu)模式分析 國人翻譯的

老外寫文章的風(fēng)格和國內(nèi)有很多不一樣,或許是因為翻譯的問題,自我感覺講的內(nèi)容太多的累贅,里面的名字也寫得很高大上。詳情請直接點擊鏈接。

當(dāng)前比較流行的方式應(yīng)該算是MVVM了,之前了解過一點ReactCocoa,但是在實際項目中還沒有用起來過。網(wǎng)上關(guān)于ReactCocoa的分析也很多。這里附上幾篇分析得不錯的連接供各位折騰。

ReactCocoa原理分析篇

老外篇

ReactiveCocoa and MVVM, an Introduction

ReactiveCocoa 和 MVVM 入門國人翻譯版

雷神系列(原理分析得很不錯,關(guān)于runtime的也值得一看)

MVVM With ReactiveCocoa

ReactiveCocoa v2.5 源碼解析之架構(gòu)總覽

ReactCocoa實踐篇

崢吖(主要講如何使用,實用為主)

最快讓你上手ReactiveCocoa之基礎(chǔ)篇

最快讓你上手ReactiveCocoa之進(jìn)階篇

把以上的鏈接挨著一個個看完之后,對iOS的架構(gòu)或許會有更深的理解。

項目目錄結(jié)構(gòu)

項目目錄結(jié)構(gòu)再項目初期的時候并沒顯得很重要。但是當(dāng)項目迭代了多個版本后,估計你去找一個需要的文件除了使用Xcode的shift+command+o之外很難準(zhǔn)確的找到。

最常用的莫過于

-- Models

-- Views

-- Controllers(或者ViewModels)

-- Nets

-- Helpers

個人經(jīng)過實踐覺得,將功能模塊來劃分(比如根據(jù)Tabbar上Item來劃分)。如微信中,就按照微信,通訊錄,發(fā)現(xiàn),我?guī)讉€模塊分幾個大的部分,然后在各個部分里面加入如上的結(jié)構(gòu)。

-- 微信

--Models

--Views

--...

-- 通訊錄

--Models

--Views

--...

-- Public

--Models

--Views

-- ...

項目第三方管理

國內(nèi)用得做的應(yīng)該算是cocoapods了。這個第三方管理庫著實為我們解決了不少問題。但是如果沒有使用好,同樣會造成很多的問題。自己踩過的坑有,版本升級,開發(fā)人員用不同的cocoapods導(dǎo)致異常,cocoapods的完全重裝等等。

相關(guān)使用介紹我是參照的唐巧寫的用CocoaPods做iOS程序的依賴管理

可以建立多個Scheme

關(guān)于iOS項目中的arget,scheme,project和build setting概念可以看官方給出的解釋。這是最為直接了當(dāng)?shù)摹?/p>

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

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

iOS中workspace,project,target,scheme 解析

關(guān)于Scheme的命名可以已經(jīng)開發(fā)版,測試版,發(fā)布版來分類。
如果英文夠好可以看看

How to Use Xcode Targets to Manage Development and Production Builds

如果你還愛折騰

關(guān)于項目持續(xù)集成自己一直沒有涉及過。所以也不能寫什么東東了。不過可以提供一些有用的鏈接。

About Continuous Integration in Xcode這個感覺需要xcode服務(wù)器,我望而卻步了。

iOS CI with Jenkins這篇還沒來得及看。作者寫的時間居然是2014年,??

總結(jié)

本類想些一些關(guān)于iOS架構(gòu)方面的,沒想到只把項目搭建寫了就已經(jīng)不早了,哎!時間真的過得太快。關(guān)于架構(gòu)方面具體的分析,抽個空在寫吧。

參考

7 Things you must absolutely do before writing an iOS app

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,609評論 4 61
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實...
    香橙柚子閱讀 24,816評論 8 183
  • prima facia duty actual duty道德規(guī)範(fàn)的來源力是懲罰 行為 主體性 agency 我們作...
    阿掌閱讀 470評論 0 0
  • 這一天是我們好姐妹相聚的日子,下班后,我匆匆趕往聚會的地方,我還是晚到了,可是想到好久未相聚的朋友們我還是特別開心...
    狒狒妞閱讀 262評論 0 2

友情鏈接更多精彩內(nèi)容