基於MVVM 的IOS開發框架 EasyIOS

全新基於MVVM(Model-View-ViewModel)編程模式架構,開啓EasyIOS開發函數式編程新篇章。php

EasyIOS 2.0相似AngularJs,最爲核心的是:MVVM、ORM、模塊化、自動化雙向數據綁定、等等html

關於有疑問什麼是MVVM,以及爲何IOS開發須要MVVM思想編程的,請看文章用Model-View-ViewModel構建iOS App有詳細介紹.ios

EasyIOS 2.0是基於MVVM編程思想進行構建的,封裝了Scene,SceneModel,Model,Action四種模型來對IOS進行開發,4種模型的定義解決了IOS開發中ViewController承擔了過多角色而形成的代碼質量低下,使得結構思路更加清晰。git

  • 1.其中Scene就是ViewController的子類,負責僅僅負責界面的展現邏輯github

  • 2.Model數據模型,父類實現了ORM,能夠實現json、object、sqlite三者之間的一鍵轉換,sql

  • 3.SceneModel 視圖-數據模型,主要負責 視圖與模型的綁定工做,其中binding的工做交給了ReactiveCocoa。編程

  • 4.SceneModel包含Action成員,Action類主要負責網絡數據的請求,數據緩存,數據解析工做json

若是你有看Github的Trending Objective-C榜單,那你確定是見過ReactiveCocoa了。若是你在weibo上關注唐巧、onevcat等國內一線知名開發者。那也應該據說過ReactiveCocoa了。 ReactiveCocoa簡稱RAC,就是基於響應式編程思想的Objective-C實踐,它是Github的一個開源項目,你能夠在這裏找到它。swift

採用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

  • FontAwesome 4.1 字體庫, 包含 439 個圖標

  • Foundation icons 字體庫, 包含283 個圖標

  • Zocial Contains 字體庫, 包含99 個圖標

  • ionicons 1.5.2 字體庫, 包含601 個圖標,大部分是 IOS7 style

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地圖、高德地圖發起調用的接口,不再用擔憂看地圖文檔

相關文章
相關標籤/搜索