朱海文 3e28daaec5 init | 3 years ago | |
---|---|---|
.. | ||
Easy | 3 years ago | |
Extend | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago |
EasyIOS is a new generation of development framework based on Model-View-ViewModel
which makes faster and easier app development, Build your app by geek's way.
EasyIOS官方qq群1群 :340906744(已满)
EasyIOS官方qq群2群 :495121980
欢迎大家加入讨论
EasyRSS:基于EasyIOS 2.2.2 的开源项目,EasyIOS的官方Demo
##EasyIOS 以提升开发效率为宗旨
代码分离 -Model-View-ViewModel
- 分离ViewController中的大量逻辑代码,解决ViewController承担了过多角色而造成的代码质量低下。增加视图与模型的绑定特性。
自动持久化 -Model to Db
– 我再也不想思考如何实现持久化了。在我的想法里,将模型对象直接扔到一个bucket里,然后它就能自动的对数据进行存储、缓存、合并以及唯一化。我应当关注于描述对象间的属性和联系,以及我希望它们分组的方式。其他的实现细节都应该是不可见的。
自动RESTful API –Json to Model
- 一旦我给程序发出指令,将一个API响应对应到一个数据对象,网络和JSON转换应该被自动完成。我只想关注如何将JSON中那些项目展示给用户。
有表现力的触发器和响应 -ReactiveCocoa
– 我想用源于响应意图(Intent)的语法来描述事件的响应和触发器,我不关心它们间的连接是如何实现的,并且这些连接也不应该在重构时出错。
简洁明了的网络请求 -Action
and Request
- 对于简单的GET、POST请求,可以进行对象化操作,我只想告诉程序,链接在哪里,有哪些参数,接下来就自动拉取到想要的数据,顺便帮我把缓存也做齐了,也是极好的。
便捷的UI布局 – FLKAutolayout
-更加便捷的进行autolayout布局,不管你使用springs & struts或者AutoLayout,每种方法都需要你明确相关视图如何排列。你需要花大量的时间编写和修正这些排列,特别是现在有这么多设备需要适配 的情况下。没有什么是自动写好的,UI布局依赖于对细节的不断调整。推荐开发期间Debug工具FLEX,pod 'FLEX', '~> 1.1.1'
需要手动集成,发布release版本时请删除。
友好的线程控制 -GCDObjC
-
便捷的正则匹配
富文本的Label
and so on……
##The MVVM(Model-View-ViewModel)
全新基于MVVM(Model-View-ViewModel)
编程模式架构,开启EasyIOS开发函数式编程新篇章。
EasyIOS 2.0类似AngularJs
,最为核心的是:MVVM
、ORM
、模块化、自动化双向数据绑定、等等
喜欢swift
的同学,同样有swift
的2.0 demo RACSwift for EasyIOS,供大家学习。
关于有疑问什么是MVVM,以及为什么IOS开发需要MVVM思想编程的,请看文章用Model-View-ViewModel构建iOS App有详细介绍.
EasyIOS 2.0是基于MVVM编程思想进行构建的,封装了Scene,SceneModel,Model,Action四种模型来对IOS进行开发,4种模型的定义解决了IOS开发中ViewController承担了过多角色而造成的代码质量低下,使得结构思路更加清晰。
Scene
就是ViewController
的子类,仅仅负责界面的展示逻辑Model
数据模型,父类实现了ORM,可以实现json、object、sqlite三者之间的一键转换,SceneModel
视图-数据模型,主要负责 视图与模型的绑定工作,其中binding的工作交给了ReactiveCocoa
。SceneModel
包含Action
成员,Action
类主要负责网络数据的请求,数据缓存,数据解析工作如果你有看Github的Trending Objective-C榜单,那你肯定是见过ReactiveCocoa
了,
ReactiveCocoa
简称RAC,就是基于响应式编程思想的Objective-C实践,它是Github的一个开源项目,你可以在这里找到它。
二次封装AFNetworking
,集成到Action,增加了网络缓存功能,轻松控制是否启用缓存。
采用ReactiveCocoa
框架,实现响应式编程,减少代码复杂度。
Model
类整合JsonModel
的类库和MojoDataBase
类库
整合了很多开源的优秀代码
常用类库:
Action
负责网络数据请求
Model
负责数据存储
SceneModel
负责Scene
与Model
的绑定,调用action进行数据请求
Scene
一个视图相当于UIViewController
,提供了快速集成网络请求和下拉刷新上拉加载的方法。
SceneTableView
一个TableView
,配合Scene
提供了集成下拉刷新上拉加载的方法
SceneCollectionView
一个CollectionView
,配合Scene
提供了集成下拉刷新上拉加载的方法
###How To Install
Add below to Podfile and run pod install
platform :ios, "6.0"
pod 'EasyIOS', :git=>'https://github.com/zhuchaowe/EasyIOS.git',:tag=>'2.3'
pod 'EasyIOS-Extention', '~> 1.2'
If you use swift , please click here
##2.3版本更新
##2.2.3 版本更新
##2.2.2 版本更新
##2.2版本更新
EZNavigationController
类,解决ios7中快速push容易crash的问题UIAlertController
与IOS7的UIActionSheet
、UIAlertView
EasyIOS-Extention
分离可选的第三方类库RTLabel
,EzUILabel
##2.1版本更新
MKNetWorkKit
,基于现有的api重新封装了AFNetworking
,并且加入了缓存控制。Action
类来发起请求的小伙伴可以体验到无痛升级的快感。。UIImageView+MKNetWorkKit
替换为大家熟悉的SDWebImage
,解决图片闪烁问题。##2.0.3版本更新
EUIGestureRecognizer
SHGestureRecognizerBlocks
##2.0.2版本更新
GCDObjC
,告别CocoaTouch原生难记的gcd调用方法RegExCategories
,可以轻松的开始码正则表达式了TMCache
,方便手动操作数据缓存(MK的自动缓存没有采用TMCache)##2.0.1版本更新
Easykit
、FLKAutoLayout
类##2.0版本更新
SceneModel
从Scene
中剥离出来,并且加入响应式编程框架ReactiveCocoa
ReactiveCocoa
中文使用说明教程 ReactiveCocoa2实战ReactiveCocoa
在github上有开源项目ReactiveCocoa2##1.0.3版本更新
swift
和easyios
的字体图片演示,可以用来作为图片字典查阅ttf
和json
文件就可以轻松扩展特殊字体FontAwesome
、Zocial-Regular
、Ionicons
、Foundation
##1.0.2版本更新
Objective-C Bridging Header
为${PODS_ROOT}/Headers/EasyIOS/swift-bridge.h
##1.0.1版本更新
model类整合了Jastor的类库和MojoDataBase类库
因此,action.POST_MSG的时候现在至少要3个参数哦
3.借鉴了beeframework的消息通知机制。。.默默给郭大点个赞。。
4.修复了一个下拉刷新的bug
5.提供了一键打开百度地图、苹果地图、google地图、高德地图发起调用的接口,再也不用担心看地图文档了