EasyIOS 基于MVVM 的IOS开发框架

我要开发同款
墨水2014年07月18日
125阅读
开发技术Swift
所属分类Objective-C、iOS/iPhone/iPad开发包、手机/移动开发
授权协议MIT

作品详情

Swift版本最新发布: https://github.com/EasyIOS/EasyIOS-Swift

全新基于MVVM(Model-View-ViewModel)编程模式架构,开启EasyIOS开发函数式编程新篇章。

EasyIOS2.0类似AngularJs,最为核心的是:MVVM、ORM、模块化、自动化双向数据绑定、等等

关于有疑问什么是MVVM,以及为什么IOS开发需要MVVM思想编程的,请看文章用Model-View-ViewModel构建iOSApp有详细介绍.

EasyIOS2.0是基于MVVM编程思想进行构建的,封装了Scene,SceneModel,Model,Action四种模型来对IOS进行开发,4种模型的定义解决了IOS开发中ViewController承担了过多角色而造成的代码质量低下,使得结构思路更加清晰。

1.其中Scene就是ViewController的子类,负责仅仅负责界面的展示逻辑

2.Model数据模型,父类实现了ORM,可以实现json、object、sqlite三者之间的一键转换,

3.SceneModel视图-数据模型,主要负责视图与模型的绑定工作,其中binding的工作交给了ReactiveCocoa。

4.SceneModel包含Action成员,Action类主要负责网络数据的请求,数据缓存,数据解析工作

如果你有看Github的TrendingObjective-C榜单,那你肯定是见过ReactiveCocoa了。如果你在weibo上关注唐巧、onevcat等国内一线知名开发者。那也应该听说过ReactiveCocoa了。ReactiveCocoa简称RAC,就是基于响应式编程思想的Objective-C实践,它是Github的一个开源项目,你可以在这里找到它。

采用MKNetworkKit网络框架,修改了部分功能,底层支持网络缓存,轻松控制是否启用缓存。

采用ReactiveCocoa框架,实现响应式编程,减少代码复杂度。

集成了开源代码UIGridView网格视图

集成了开源代码RTLabel富文本Label

集成SVProgressHUD指示器

集成MJRefresh下拉刷新,有删改

model类整合Jastor的类库和MojoDataBase类库

整合了很多开源的优秀代码

部分函数借鉴了BeeFramework

常用类库:

Action负责网络数据请求

Model负责数据存储

SceneModel负责Scene与Model的绑定,调用action进行数据请求

Scene一个视图相当于UIViewController,提供了快速集成网络请求和下拉刷新上拉加载的方法。

SceneTableView一个TableView,配合scene提供了集成下拉刷新上拉加载的方法

SceneCollectionView一个CollectionView,配合scene提供了集成下拉刷新上拉加载的方法

2.0版本更新

架构修改,基于MVVM架构

把SceneModel从Scene中剥离出来,并且加入响应式编程框架ReactiveCocoa

ReactiveCocoa中文使用说明教程 ReactiveCocoa2实战

ReactiveCocoa在github上有开源项目ReactiveCocoa2

1.0.3版本更新

再也不用担心奇葩的图文混排了

新增字体图片支持资源里的demo就是一个基于swift和easyios的字体图片演示,可以用来作为图片字典查阅

可扩展的字体库,字需要添加ttf和json文件就可以轻松扩展特殊字体

目前支持4种图片字体FontAwesome、Zocial-Regular、Ionicons、Foundation

FontAwesome4.1字体库,包含439个图标

Foundationicons字体库,包含283个图标

ZocialContains字体库,包含99个图标

ionicons1.5.2字体库,包含601个图标,大部分是IOS7style

1.0.2版本更新

fix一些头文件的引用关系,增加了swift头文件支持。

用swift的同学,要设置Objective-CBridgingHeader为${PODS_ROOT}/Headers/EasyIOS/swift-bridge.h

1.0.2版本发布到了CocoaPods

1.0.1版本更新

1.增加了ORM支持,从此可以实现json、object、sqlite三者之间的一键转换,可以节省很多代码,是不是很酷。

model类整合了Jastor的类库和MojoDataBase类库

2.修改了Action类中的post的参数,增加了files参数,

因此,action.POST_MSG的时候现在至少要3个参数哦

3.借鉴了beeframework的消息通知机制。。.默默给郭大点个赞。。

4.修复了一个下拉刷新的bug

5.提供了一键打开百度地图、苹果地图、google地图、高德地图发起调用的接口,再也不用担心看地图文档

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论