歡迎加入【iOS/Swift/OC開發(fā)交流群|127183325】交流學習
一. 游戲類
地下城聯(lián)盟
- 使用的游戲引擎:cocos2d-x
- 開發(fā)平臺:Mac/Linux/Windows
- 開發(fā)工具:Xcode/VS
- 開發(fā)語言:C++/Lua
火車危機
- 開發(fā)平臺:Mac/Windows
- 開發(fā)工具:Unity3D
- 開發(fā)語言:javascript+C#
cocos2d-x介紹
引擎介紹
- Cocos2d-x是一個開源的移動2D游戲框架,MIT許可證下發(fā)布的。這是一個C++ Cocos2d-iPhone項目的版本。
- 可以使用多種語言開發(fā):C++/Lua/javascript
- 跨平臺,橫跨iOS Android WP 黑莓等操作系統(tǒng)
- 輔助開發(fā)工具豐富,有UI編輯器,動畫編輯器,場景編輯器,粒子編輯器
- 項目地址:cocos2d-x
家族成員
- cocos2d-x屬于cocos2d家族,cocos2d家族主要包含四個開發(fā)引擎和一些周邊的輔助工具,四個開發(fā)引擎有cocos2d-x,cocos2d-html5,cocos2d-objc,cocos2d-js。
- cocos2d-html5是針對Web平臺的游戲引擎,使用js開發(fā)。
- cocos2d-objc是使用原生語言寫的游戲引擎,只能開發(fā)iOS和OS X平臺的游戲。
- cocos2d-js是使用javascript開發(fā)的游戲引擎,使用js開發(fā),底層調(diào)用C++。
開發(fā)游戲的優(yōu)勢
- 流程控制簡單。
- 使用cocos2d開發(fā)時類似一臺舞臺劇,分為場景(Scene),幕(Layer),演員(Sprite),動作(Action),舞臺特效(Effect)。
- 游戲過程就是場景間的切換,幕的切換,演員的表演,外加一些舞臺特效。比舞臺劇多出的一點就是游戲和玩家的交互。
cocos2d-x和CrossApp
- CrossApp是一個移動端應(yīng)用跨平臺開發(fā)引擎,它借鑒了cocos2d-x底層跨平臺的部分,使用C++來進行開發(fā),性能和原生不相上下。
二. 應(yīng)用類
FaBo機器人客戶端
整個項目的架構(gòu)可以看下圖:

FaBo機器人客戶端
項目的總結(jié)地址:項目總結(jié)
砼車幫

砼車幫
項目總結(jié)地址:項目總結(jié)
三. 游戲和應(yīng)用開發(fā)的比較
- 游戲更主要的是在View中的繪制,應(yīng)用更主要的是數(shù)據(jù)的呈現(xiàn)。
- 游戲場景的切換是View間的切換,應(yīng)用主要是Activity/Controller間的切換。
- 游戲?qū)PS要求更高。
- 在架構(gòu)上,應(yīng)用的分層更清晰。
四. 工作中用到的一些東西
Git工作流
Git工作流分類比較多,沒有固定的標準,一般都是將多種工作流方式進行糅合形成適合自己團隊進行開發(fā)的一種工作流。下面的五種工作流是使用比較多,流程相對清晰的工作流。
集中式工作流
流程圖:

集中式工作流
功能分支工作流
流程圖:
Gitflow工作流
Gitflow工作流用到四個分支,歷史分支,功能分支,發(fā)布分支和維護分支。主要用于一些比較大型的項目。
流程圖:

Gitflow工作流
- 歷史分支。Gitflow工作流使用了兩個分支來記錄項目的歷史,包含master分支和develop分支,master分支是一個發(fā)布歷史分支,develop分支是功能開發(fā)歷史分支。示意圖如下:

歷史分支
- 功能分支。在進行一個新功能開發(fā)時,需要從develop分支拉出一個新的分支用作功能開發(fā)分支,功能開發(fā)完成后需要合并到develop分支。示意圖如下:

功能分支
- 發(fā)布分支。在進行發(fā)布的時候會用到發(fā)布分支。到了既定的發(fā)布時間后,需要從develop分支拉出一個新的分支用作發(fā)布分支。發(fā)布分支只能用做Bug修改,新功能從這個時間點開始不能再放到發(fā)布分支上。在進行發(fā)布工作時不會影響團隊其他人進行新功能的開發(fā)。示意圖如下:

發(fā)布分支
- 維護分支。用于已經(jīng)發(fā)布的產(chǎn)品進行快速修復問題的分支。在master分支拉出一個新的分支用作維護分支,修復完成后立即合并到master和develop分支上。這樣就可以不用等下個發(fā)布循環(huán)結(jié)束就可將問題處理掉。示意圖如下:

維護分支
Forking工作流
流程圖:
Pull Request工作流
LLDB調(diào)試
LLDB是從Xcode5開始自帶的一個調(diào)試引擎,可以很方便的對程序進行調(diào)試和排錯。
常用命令
- p。打印基本變量的值或者指針的地址。
- po。打印對象的描述信息。
- expr。在調(diào)試過程中修改變量的值。
- call。在調(diào)試過程中調(diào)用方法。
- bt。打印調(diào)用堆棧。
- image。用于尋址,尋找堆棧地址對應(yīng)的代碼位置。
- help。打印幫助信息。
一些第三方庫
CocoaAsyncSocket
一個socket第三方庫
Masonry
純代碼實現(xiàn)AutoLayout
FCUUID
獲取手機唯一標示的替代解決方案
QRCodeReaderViewController
二維碼掃描第三方庫
第三方庫管理工具CocoaPods
CocoaPods是一個非常強大的第三方庫管理工具,使用它可以很方便的引入第三方庫,而且使用起來非常簡單。
安裝第三方庫
pod install
更新第三方庫
pod update
如果發(fā)現(xiàn)安裝或者更新非常緩慢的,可以使用下面的命令
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update