????????前端代碼純Swift編寫,基本頁面已經(jīng)編寫完成,下面首先將展示一下登錄注冊模塊.后端接口用Python3.0+編寫,實現(xiàn)部分接口,數(shù)據(jù)庫采用MySql.項目是完全仿照Twitter 客戶端編寫.
????????由于項目時間較長,內(nèi)容不乏一些OC的編程思想,有需要的隨意看看思路吧.由于內(nèi)容較多,文章簡要介紹了一下,列了幾張圖.不麻煩的話給個贊或者star,謝謝!
前臺代碼地址:
????????https://github.com/waitwalker/MyTwitter
后臺代碼地址:
????????https://github.com/waitwalker/MyTwitterAPI
一. 項目主要架構(gòu)模式:
????????1.1 盡量采用現(xiàn)在比較流行的MVVM(model,view,viewModel),這里舉一個簡單的使用例子=>關(guān)于頁面是一個列表頁面:
????????1.2 列表的數(shù)據(jù)源來自MTTAboutViewModel,MTTAboutViewModel通過一個類方法將數(shù)據(jù)回調(diào)給MTTAboutTwitterViewController, MTTAboutTwitterViewController將數(shù)據(jù)傳給cell(view).MTTAboutTwitterViewController不負責(zé)數(shù)據(jù)的請求以及業(yè)務(wù)處理.
1.3 將數(shù)據(jù)回調(diào)給VC:
1.4 view顯示
二. 項目主要技術(shù)和第三方框架:
項目的架構(gòu)主要采用mvvm模式,布局采用的是SnapKit(3.0+版本).
網(wǎng)絡(luò)請求用的是Alamofire.
json數(shù)據(jù)解析用的SwiftyJSON.
事件流的監(jiān)控用的是RxSwift,之前用過ReactiveCocoa,ReactiveCocoa也有自己的swift版本,兩者都屬于響應(yīng)式編程框架,在語法上還是有很大區(qū)別.學(xué)習(xí)RxSwift比一門新的語言學(xué)習(xí)起來還要難受(個人感覺),不過基本用法掌握后使用起來很方便,具體實現(xiàn)可以參考項目中的代碼.
還有其他方面的,比如設(shè)計模式什么的,太多,大家有興趣的可以把項目克隆下來看看.
????????由于項目時間較長,內(nèi)容不乏一些OC的編程思想,有需要的隨意看看思路吧.
三 .項目結(jié)構(gòu)主要分為:
3.1 登錄&注冊:
3.2 首頁
????????首頁頁面,目前實現(xiàn)首頁發(fā)推功能