Swift5 + MVVM + 文藝復興微博(純程式碼)
背景: 現在越來越多的公司會嘗試用 Swift 做 native 的開發了,很多之前習慣用 Objective-C 的開發,有新專案啟動的時候,也會想說用 Swift 試試。如果從 2020年程式語言排行榜 上看的話,Swift的熱度也領先 Objective-C 10個身位了。而我們現在公司所做的專案,也是用 Swift 開發的,雖然說之前有些 OC 基礎,寫起 Swift 功能也是能實現,但是程式碼不是很優雅,不夠 'Swift Style'。 熟練度不夠的話,很多 Swift 的高階寫法還得去翻文件才知道什麼意思,所以就打算從0單排一個Swift的專案,而微博正好有 開放API , 所以這裡就選擇它了。
主頁介面
表情介面
專案架構
專案功能
- 原創微博功能
- 轉發微博功能
- Emoji表情功能
- 撰寫微博介面
- 新特性功能
- 訊息提醒功能
- 多圖展示功能
- 富文字功能
- 多圖展示功能
- 下滑自動載入功能
- 上/下拉重新整理功能
- OAuth 授權登入功能
- 已完成
- 釋出微博功能(API已不提供)
- 圖片上傳功能(API已不提供)
- 訊息功能
- 發現功能
- 我的功能
- SVProgressHUD 提醒功能
用到的技術點
- TableView高度快取
- SDWebImage圓角處理
- FMDB資料快取
- OAuth授權
- 單張圖片的高度計算
- Cell滾動自動載入更多
- 撰寫頁面的動畫處理
- 釋出介面的Emoji處理
- 多圖的展示
- ...
不足點
- Weibo 的 App 包裡的素材圖片實在太多了,找到完全匹配的要花費超多時間,所以有的資源不是很匹配,或者不是當前最新的
- 該Demo使用了FMDB,其實微博這種時效性畢竟高,且有較高政治敏感度的,不適合用本地快取, 這裡只是一個 FMDB 使用的簡單案例,更適合更新不用太及時,或者類似qq這種接收服務端推送訊息的app.
- 這個文藝復興版的微博(2016年的),現在的微博已經有了較大的變動,且很多API介面現在已經不開放了,所以暫時先用此懷舊版本.
- SVProgressHUD 在Swift5.0會crash,所以這個app裡沒有 toast 功能,坐等修復...
- Gif圖片由於現在入口網站只能傳 < 5M 的,所以看上去畢竟模糊,實際效果會比 Gif 圖片好得多,建議用真機跑一下試試~
- 這版本來打算用本人拙劣的英文寫全篇的註釋,後來由於本人 Chinelish 水平有限,畢竟複雜的邏輯/業務就用中文寫了( 求輕噴)
- ...
使用的第三方庫
- AFNetworking
- SDWebImage
- YYModel
- SnapKit
- FMDB
- pop
- HMPhotoViewerController
工具分享
圖片素材獲取: cartool
取色標註工具: MarkMan
資料庫工具: Navicat
畫圖工具: MindNode
...
總結
從事了一段時間的 Swift 開發,發現沒有一定量的程式碼積澱(踩坑)還是不行,所以就打算自己寫一個入門的純Swift App。這個專案是本萌新的第一個釋出swift專案,有些粗糙,但是如果新手作為 Swift 上手,入門的,其實應該還可以。該專案基本都是用的 “純程式碼+純Swift” 的方式寫的,用的也是儘量新的 API, 萌新們想玩的話感覺還是可以上手的。
最近發現, 時間管理 真的很重要,很多事情,一開始以為自己做不到,就打退堂鼓了,但是隻要咬咬牙,挑戰一下自己的極限,這不,這個Demo就出來了~ (為了寫這破玩意,老夫都頸椎病去做針灸了,騙波 star不過分吧~ (開玩笑的,大家開心就好?))
覺得哪裡寫的不好的,哪裡能改進的,有時間幫忙做code review,提PR的,熱烈歡迎啊,這裡先謝過了~
本文Demo: MNWeibo
推薦?:
如果你想一起進階,不妨新增一下交流群 1012951431
面試題資料或者相關學習資料都在群檔案中 進群即可下載!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69971523/viewspace-2691082/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《鬼哭之邦》真算是JRPG的文藝復興
- 從深淵中歸來:古典CRPG的“文藝復興“
- 純前端實現詞雲展示+附微博熱搜詞雲Demo程式碼前端
- Albrecht Dürer:把文藝復興思想帶入德國的畫家
- 《極樂迪斯科》:以一己之力扛起桌上 RPG 文藝復興的大旗
- 智慧時代與華為路標:手機影像的文藝復興史
- 數字時代的“文藝復興”:集卡遊戲是如何重獲新生的?遊戲
- 《貪婪之秋》:一個小團隊針對經典美式RPG的文藝復興
- 微博、虎牙挺進興趣社群:同行不同路
- 《極樂迪斯科》:CRPG的文藝復興,後冷戰時代的百年孤獨
- 微博爬取長津湖博文及評論
- 文藝復興還是死而復生?那些已經涼了的老遊戲品類又回來了遊戲
- 數字時代的“文藝復興”?起底數字藏品,讓人歡喜讓人愁
- 甲骨文:AI驅動的復興之路AI
- 心動發起了一場JRPG的“文藝復興”,《另一個伊甸》上線首日TapTap 9.2分APT
- 一文讀懂微搭低程式碼
- 劉博文:程式碼無終點,堅持跑,就不會輸
- [譯]純程式碼建立 UIViewUIView
- 轉發新浪微博程式猿心得
- 新浪微博動態 RSA 分析圖文+登入
- 使用 Source Generators 快速編寫 MVVM 程式碼MVVM
- 一文詳解ATK Loss論文復現與程式碼實戰
- 微博收集
- 用 mpvue 寫個【微博-青銅版】微信小程式Vue微信小程式
- 新浪微博app如何去喚起跳轉微信小程式APP微信小程式
- 微博動漫:2020微博動漫白皮書
- 小程式·雲開發實戰 - 迷你微博
- 其他感興趣的程式碼庫
- 文藝平衡樹
- 博文標題
- 測試博文
- 《微博營銷》——微博能為你做什麼
- Python實現微博爬蟲,爬取新浪微博Python爬蟲
- MVVM原始碼 - 如何實現一個MVVM框架MVVM原始碼框架
- cocos2dx 很好的原始碼分析博文原始碼
- 程式設計,不止有程式碼,還有藝術程式設計
- 母嬰類微博怎麼運營?還是在玩微博呢?還是被微博玩呢?
- 低程式碼應用程式開發開始興起