1 Star 0 Fork 60

MrMign / EasyIOS

forked from 冰镇闪灵 / EasyIOS 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

image

EasyIOS-Swift版本发布!欢迎Star、Fork

Pod Version Pod Version License qq

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 以提升开发效率为宗旨

  • 代码分离 -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,最为核心的是:MVVMORM、模块化、自动化双向数据绑定、等等

喜欢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承担了过多角色而造成的代码质量低下,使得结构思路更加清晰。

  • 1.其中Scene就是ViewController的子类,仅仅负责界面的展示逻辑
  • 2.Model数据模型,父类实现了ORM,可以实现json、object、sqlite三者之间的一键转换,
  • 3.SceneModel 视图-数据模型,主要负责 视图与模型的绑定工作,其中binding的工作交给了ReactiveCocoa
  • 4.SceneModel包含Action成员,Action类主要负责网络数据的请求,数据缓存,数据解析工作

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

二次封装AFNetworking,集成到Action,增加了网络缓存功能,轻松控制是否启用缓存。

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

Model类整合JsonModel的类库和MojoDataBase类库

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

常用类库:

Action 负责网络数据请求

Model 负责数据存储

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

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

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

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

###How To Install

  • Import from CocoaPods

  • Add below to Podfile and run pod install

      platform :ios, "6.0"
      pod 'EasyIOS', '~> 2.2.2'
      pod 'EasyIOS-Extention', '~> 1.2'
  • If you use swift , please click here

##2.2.2 版本更新

  • 指定RAC最高版本号为2.4.4
  • Action类POST方法增加缓存功能
  • Request类增加设置http头信息

##2.2版本更新

  • 修改Action类中的配置方式:由原来的宏调用改为类方法配置
  • 针对IOS8优化
  • 为UIScrollView增加下拉放大效果
  • 新增EZNavigationController类,解决ios7中快速push容易crash的问题
  • 重写下拉刷新,与上拉加载,完全解耦,支持自定义UI。
  • 新增AutoLayoutCell自适应高度的cell,以及UIScrollView的AutoLayout实现自适应contentSize
  • 智能键盘,防止键盘遮盖输入框
  • 新增强大的XAspect,完美实现代码解耦,再一次为UIViewController减负
  • 兼容IOS8的UIAlertController与IOS7的UIActionSheetUIAlertView
  • Action类新增Download下载方法
  • EasyIOS-Extention分离可选的第三方类库
  • 移除了RTLabel,EzUILabel
  • 修复部分bug
  • ……

##2.1版本更新

  • 多谢各位小伙伴们的支持以及不断的提出Issues,清晰的指出了了EasyIOS的优化项,本次更新主要针对网络访问Action类
  • 2.1版本移除了MKNetWorkKit,基于现有的api重新封装了AFNetworking,并且加入了缓存控制。
  • 如果利用Action类来发起请求的小伙伴可以体验到无痛升级的快感。。
  • 同时移除UIImageView+MKNetWorkKit替换为大家熟悉的SDWebImage,解决图片闪烁问题。
  • 修复部分循环引用的bug

##2.0.3版本更新

  • 紧急修复2.0.2 model层初始化数据为nil的bug
  • 移除EUIGestureRecognizer
  • 增加SHGestureRecognizerBlocks

##2.0.2版本更新

  • 新增gcd封装GCDObjC,告别CocoaTouch原生难记的gcd调用方法
  • 新增正则表达式封装RegExCategories,可以轻松的开始码正则表达式了
  • 新增缓存处理封装TMCache,方便手动操作数据缓存(MK的自动缓存没有采用TMCache)
  • Model层升级:MojoDatabase+JsonModel新增自动检测、自动创建数据表,新增查询方法 ,order by、group by、limit等等方法
  • 新增功能教程在Wiki Paper

##2.0.1版本更新

  • 修改pod依赖
  • FontIcon剥离项目,单独维护
  • Model层修改:移除Jastor,添加JsonModelMojoDatabase+JsonModel剥离项目,单独维护。
  • 增加懒人程序代码生成工具ModelCoder
  • 移除部分非必要类库,代码整合
  • 本着引导大家编程更easy的原则,增加EasykitFLKAutoLayout

##2.0版本更新

  • 架构修改,基于MVVM架构
  • SceneModelScene中剥离出来,并且加入响应式编程框架ReactiveCocoa
  • ReactiveCocoa中文使用说明教程 ReactiveCocoa2实战
  • ReactiveCocoa 在github上有开源项目ReactiveCocoa2

##1.0.3版本更新

  • 再也不用担心奇葩的图文混排了
  • 新增字体图片支持 资源里的demo 就是一个基于 swifteasyios的字体图片演示,可以用来作为图片字典查阅
  • 可扩展的字体库,字需要添加ttfjson文件就可以轻松扩展特殊字体
  • 目前支持4种图片字体 FontAwesomeZocial-RegularIoniconsFoundation
  • FontAwesome 4.1 字体库, 包含 439 个图标
  • Foundation icons 字体库, 包含283 个图标
  • Zocial Contains 字体库, 包含99 个图标
  • ionicons 1.5.2 字体库, 包含601 个图标,大部分是 IOS7 style

image

##1.0.2版本更新

  • fix一些头文件的引用关系,增加了swift头文件支持。
  • 用swift的同学,要设置Objective-C Bridging Header${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地图、高德地图发起调用的接口,再也不用担心看地图文档了

The MIT License (MIT) Copyright (c) 2014 zhuchaowe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

a easy way to program objective-c 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/cloudniw1/EasyIOS.git
git@gitee.com:cloudniw1/EasyIOS.git
cloudniw1
EasyIOS
EasyIOS
master

搜索帮助

14c37bed 8189591 565d56ea 8189591