遇到的問題
做遊戲的時候用的是cocos2dx+lua,遊戲開發自有它的一套框架機制。而現在公司主要項目要做android和iOS應用。本文主要介紹如何搭建簡單易用的App框架。
如何解決
對於新手來說,接觸一門新的知識,往往會思考該怎麼入手,技術範圍是什麼。因爲作爲一個成熟的操作系統來說,android和iOS的複雜性和多樣性毋庸置疑。想要短時間內成爲專家是不可能的。但是你只需要掌握其核心原理,然後通過學習源代碼和查詢資料,不斷將知識或融匯貫通,或淺嘗輒止,長此以往就會形成完整的知識體系。任何技術都是如此。
技術都是相通的,android和ios是兩個類似的移動平臺,做的又是頁面和功能完全一致的應用,因此只需要一個解決方案就夠了。
在此推薦這本書:《App研發錄:架構設計、Crash分析和競品技術分析》。
作者從項目負責人的角度,闡述了從代碼框架,團隊管理,自動化工具,錯誤分析收集,log收集,分析不同app使用的技術,人員管理,人員招聘等各個方面,作者自己的看法和經驗。寫的非常不錯。
最終方案
一個完整的應用框架是什麼樣的呢?良好的可讀性和擴展性就不多說了。主要有2個功能,一是網絡通信功能,二是實現選定的設計模式(MVC,MVP)。
那麼我們這裏要實現的簡單,易用的移動app框架都包含什麼東西呢?
1. 決定程序框架:MVC,MVP,MVVM等等。
2. 編寫網絡模塊,網絡數據處理。
3. 根據選定的框架編寫主要支撐代碼,某些系統類的重定義其生命週期(android的Activity,iOS的UIViewControler)。
4. 數據本地化。
5. 添加統一公共方法(時間,日誌,錯誤規避,異常處理,等等)
完整目錄如下: