本文是投稿文章,作者:衡成飛(博客)
產品本身是一個維度,另外一個維度,我想應該是技術層面。
App的框架,如大樓之根基,好的框架對於開發,拓展和維護可以起到事半功倍的效果,其重要性不言而喻。
今天分享一下自己在搭建框架時的經驗,希望大家多提意見,一起進步成長。
以下是常見的APP框架結構,此Project中包括自定義的UITabbar、Json反序列化、網絡請求異步加載、自適應cell高度以及圓角圖片等等。
下圖是已經搭建好的項目結構
App結構如下
常見的APP框架大多只有一個Project,包括了所有的業務功能實現。
其缺點是,對於一個稍微大型的APP,結構顯得較為復雜,不利於後期的開發和維護。
以下劃分,是我個人的一些理解,不足之處還請指教。
※ APP
大的層級劃分
Classes---所有開發文件放在此
|-----Common----本app中常見的定義和操作
|-----Logic----所有業務功能相關文件
Third---所有第三方依賴(不支持cocoapod的)
另外依賴下面的IOSModel,IOSCommon,IOSView三個framework。
※ Model(Dynamic Framework)
所有的Http接口模型對象。
此framework作為Client和Server的橋梁,只需關注接口的數據格式。
另外包括Json反序列化為Model的過程,以後若要替換第三方,只需修改此framework即可。
※ Common(Dynamic Framework)
通用的操作,如網絡請求,Extension等。
此framework,包含了和業務無關的通用的操作,並對第三方做了再次封裝。
若開發其他app,只需引用此framework即可。
※ View(Dynamic Framework)
自定義的View,如圓角圖片等(Storyboard可直接設置,不需要編寫代碼)
CocoaPods依賴的常見第三方庫
關於iOS9適配問題,此工程中也已經全部解決。
1:BitCode問題
2:非Https請求
3:第三方登錄問題
以上Project下載路徑:http://git.oschina.net/hengchengfei/IOSTemplate