遇到的问题
做游戏的时候用的是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. 添加统一公共方法(时间,日志,错误规避,异常处理,等等)
完整目录如下: