EasyIOS基于MVVM 的IOS開發(fā)框架
Swift版本最新發(fā)布: https://github.com/EasyIOS/EasyIOS-Swift
全新基于MVVM(Model-View-ViewModel)編程模式架構(gòu),開啟EasyIOS開發(fā)函數(shù)式編程新篇章。
EasyIOS 2.0類似AngularJs,最為核心的是:MVVM、ORM、模塊化、自動化雙向數(shù)據(jù)綁定、等等
關(guān)于有疑問什么是MVVM,以及為什么IOS開發(fā)需要MVVM思想編程的,請看文章用Model-View-ViewModel構(gòu)建iOS App有詳細(xì)介紹.
EasyIOS 2.0是基于MVVM編程思想進(jìn)行構(gòu)建的,封裝了Scene,SceneModel,Model,Action四種模型來對IOS進(jìn)行開發(fā),4種模型的定義解決了IOS開發(fā)中ViewController承擔(dān)了過多角色而造成的代碼質(zhì)量低下,使得結(jié)構(gòu)思路更加清晰。
-
1.其中Scene就是ViewController的子類,負(fù)責(zé)僅僅負(fù)責(zé)界面的展示邏輯
-
2.Model數(shù)據(jù)模型,父類實(shí)現(xiàn)了ORM,可以實(shí)現(xiàn)json、object、sqlite三者之間的一鍵轉(zhuǎn)換,
-
3.SceneModel 視圖-數(shù)據(jù)模型,主要負(fù)責(zé) 視圖與模型的綁定工作,其中binding的工作交給了ReactiveCocoa。
-
4.SceneModel包含Action成員,Action類主要負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的請求,數(shù)據(jù)緩存,數(shù)據(jù)解析工作
如果你有看Github的Trending Objective-C榜單,那你肯定是見過ReactiveCocoa了。如果你在weibo上關(guān)注唐巧、onevcat等國內(nèi)一線知名開發(fā)者。那也應(yīng)該聽說過ReactiveCocoa了。 ReactiveCocoa簡稱RAC,就是基于響應(yīng)式編程思想的Objective-C實(shí)踐,它是Github的一個開源項目,你可以在這里找到它。
采用MKNetworkKit 網(wǎng)絡(luò)框架,修改了部分功能,底層支持網(wǎng)絡(luò)緩存,輕松控制是否啟用緩存。
采用ReactiveCocoa 框架,實(shí)現(xiàn)響應(yīng)式編程,減少代碼復(fù)雜度。
集成了開源代碼UIGridView 網(wǎng)格視圖
集成了開源代碼RTLabel 富文本Label
集成SVProgressHUD指示器
集成MJRefresh下拉刷新,有刪改
model類整合Jastor的類庫和MojoDataBase類庫
整合了很多開源的優(yōu)秀代碼
部分函數(shù)借鑒了BeeFramework
常用類庫:
Action 負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)請求
Model 負(fù)責(zé)數(shù)據(jù)存儲
SceneModel 負(fù)責(zé)Scene與Model的綁定,調(diào)用action進(jìn)行數(shù)據(jù)請求
Scene 一個視圖相當(dāng)于UIViewController,提供了快速集成網(wǎng)絡(luò)請求和下拉刷新上拉加載的方法。
SceneTableView 一個TableView,配合scene提供了集成下拉刷新上拉加載的方法
SceneCollectionView 一個CollectionView,配合scene提供了集成下拉刷新上拉加載的方法
2.0版本更新
-
架構(gòu)修改,基于MVVM架構(gòu)
-
把SceneModel從Scene中剝離出來,并且加入響應(yīng)式編程框架ReactiveCocoa
-
ReactiveCocoa中文使用說明教程 ReactiveCocoa2實(shí)戰(zhàn)
-
ReactiveCocoa 在github上有開源項目ReactiveCocoa2
1.0.3版本更新
-
再也不用擔(dān)心奇葩的圖文混排了
-
新增字體圖片支持 資源里的demo 就是一個基于swift和easyios的字體圖片演示,可以用來作為圖片字典查閱
-
可擴(kuò)展的字體庫,字需要添加ttf和json文件就可以輕松擴(kuò)展特殊字體
-
目前支持4種圖片字體FontAwesome、Zocial-Regular、Ionicons、Foundation
-
FontAwesome 4.1 字體庫, 包含 439 個圖標(biāo)
-
Foundation icons 字體庫, 包含283 個圖標(biāo)
-
Zocial Contains 字體庫, 包含99 個圖標(biāo)
-
ionicons 1.5.2 字體庫, 包含601 個圖標(biāo),大部分是 IOS7 style
1.0.2版本更新
-
fix一些頭文件的引用關(guān)系,增加了swift頭文件支持。
-
用swift的同學(xué),要設(shè)置Objective-C Bridging Header為${PODS_ROOT}/Headers/EasyIOS/swift-bridge.h
-
1.0.2版本發(fā)布到了CocoaPods
1.0.1版本更新
-
1.增加了ORM支持,從此可以實(shí)現(xiàn)json、object、sqlite三者之間的一鍵轉(zhuǎn)換,可以節(jié)省很多代碼,是不是很酷。
model類整合了Jastor的類庫和MojoDataBase類庫
-
2.修改了Action類中的post的參數(shù),增加了files參數(shù),
因此,action.POST_MSG的時候現(xiàn)在至少要3個參數(shù)哦
-
3.借鑒了beeframework的消息通知機(jī)制。。.默默給郭大點(diǎn)個贊。。
-
4.修復(fù)了一個下拉刷新的bug
-
5.提供了一鍵打開百度地圖、蘋果地圖、google地圖、高德地圖發(fā)起調(diào)用的接口,再也不用擔(dān)心看地圖文檔
