仅需6步,教你轻易撕掉app开发框架的神秘面纱(1):确定框架方案
遇到的问题
做游戏的时候用的是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. 添加统一公共方法(时间,日志,错误规避,异常处理,等等)
完整目录如下:
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(1):确定框架方案
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(2):MVP比MVC更好吗
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(3):构造具有个人特色的MVP模式
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(4):网络模块的封装
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(5):数据持久化
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(6):各种公共方法及工具类的封装
仅需6步,教你轻易撕掉app开发框架的神秘面纱(1):确定框架方案相关推荐
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(5):数据持久化
遇到的问题 有的时候程序中需要全局皆可访问的变量,比如:用户是否登录,用户个人信息(用户名,地区,生日),或者一些其他信息如:是否是首次登录,是否需要显示新手引导等等. 其中有些数据需要持久化到本地硬 ...
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(4):网络模块的封装
程序框架确定了,还需要封装网络模块. 一个丰富多彩的APP少不了网络资源的支持,毕竟用户数据要存储,用户之间也要交互,用户行为要统计等等. 使用开源框架 俗话说得好,轮子多了路好走,我们不需要自己造轮 ...
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(3):构造具有个人特色的MVP模式
1. MVP的问题 之前我们说过MVP模式最大的问题在于:每写一个Activity/Fragment需要写4个对应的文件,对于一个简易的app框架来说太麻烦了.所以我们需要对MVP进行一定的简化. 关 ...
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(6):各种公共方法及工具类的封装
为什么要封装公共方法 封装公共方法有2方面的原因: 一是功能方面的原因:有些方法很多地方都会用,而且它输入输出明确,并且跟业务逻辑无关.比如检查用户是否登录,检查某串数字是否为合法的手机号.像这种方法 ...
- 仅需6步,教你轻易撕掉app开发框架的神秘面纱(2):MVP比MVC更好吗
对于程序框架的选择,由于android天然的MVC,本来不需要另外设计直接使用即可.但是我更加钟情于MVP模式,对于其将ui完全与业务逻辑分离的思路很赞同. 那么什么是业务逻辑?个人认为,对数据(即M ...
- 怎么快速修改gif尺寸?仅需三步教你改gif大小
很多时候我们从网上下载的gif动图或者是从电影.电视剧中截取的高清gif动图尺寸过大不方便传输,想要对gif图片尺寸修改的时候应该如何调整gif尺寸呢?很简单,使用[GIF中文网]的gif改大小(ht ...
- python爬虫excel数据_最简单的爬数据方法:Excel爬取数据,仅需6步
原标题:最简单的爬数据方法:Excel爬取数据,仅需6步 在看到这篇文章的时候,大家是不是都还停留在对python爬虫的迷恋中,今天就来教大家怎样使用微软的Excel爬取一个网页的后台数据,注:此方法 ...
- 隐藏esp_仅需一分钟教你看懂汽车内的隐藏功能,哪些功能是你不知道的?
车内的按键多种多样,而且越高档的车,按键就越多.除了少数国产车,绝大部分车辆的按键标识都是用英文字母表示,从而导致不少车主只能通过查看说明书才知道是什么意思. 今天小编整理了车内各种按键标识,不是很清 ...
- php 商城套餐搭配功能,速卖通商品搭配套餐功能已上线!设置速卖通搭配套餐仅需三步...
据雨果网获悉,速卖通商品搭配套餐功能已于 10 月 19 日上线.商品搭配套餐的主要功能及作用,主要是帮助速卖通的卖家,通过自行选择商品,设置不同商品间搭配优惠促销价格,提高商品推广内容的丰富性及专业 ...
最新文章
- 只能匹配第一列吗_VLOOKUP会用了吗?不会的抓紧看
- leetcode-217-存在重复元素
- 七天来学习ASP.NET MVC (两)——ASP.NET MVC 数据传输
- Why NoSQL?
- SAP Fiori 修改catalog group名称的技术实现
- xdocument查找节点值_二叉查找树(java)
- 业务实时监控服务ARMS推出小程序监控支持各种小程序
- 2021人工智能竞赛白皮书:1000场竞赛的深度分析
- fineuploader php服务端
- 日程管理 FullCalendar
- sql语句mysql_MySQL基本的Sql语句
- java8官网下载地址
- I have nothing 中文歌词 歌词
- oracle用imp导入dmp文件
- 配置Oracle VM Manager服务器虚拟化软件
- xdg在Linux中的用法,Linux实用命令之xdg-open
- java程序设计实验报告代写_代做CS实验报告、代写java c/c++ CS课程设计作业、代写程序作业...
- java 长链接转短链接_java长链接转短链接代码和如何跳转使用
- 怎样学好Python
- 怎么批量设置EDIUS中的图片持续时间