01-新浪微博筆記

新浪微博筆記

iPhone 項目目標(biāo)

  • 熟悉公司開發(fā)流程
  • 提升代碼熟練度
  • 常用工具的使用
  • 建立框架思想

工作相關(guān)

  • 產(chǎn)品經(jīng)理
  • UI設(shè)計
  • 開發(fā)工程師
  • 測試
  • bug管理系統(tǒng): jira,bugfree

項目管理 --> 敏捷板

新浪微博接口地址

項目主體框架

走向工作崗位之后臂容,一般會遇到兩種工作情況:

  1. 新項目開發(fā)

    • 通常在項目開始之前猛铅,公司的產(chǎn)品經(jīng)理會提供完整的產(chǎn)品原型圖烁涌,或功能設(shè)計文檔
    • 通過對這些文檔的解讀歉胶,能夠梳理出目標(biāo)項目的整體架構(gòu)台谢,從而協(xié)助項目框架的搭建
  2. 舊項目維護(hù)

    • 很多老項目是缺乏文檔的豌骏,這種情況在一些小公司中表現(xiàn)的尤為突出
    • 要想快速上手一個老項目,首先運行項目,并且整理項目整體框架結(jié)構(gòu)
    • 然后用整理出的框架結(jié)構(gòu)與代碼結(jié)構(gòu)相互印證悴能,無疑可以對了解項目的整體架構(gòu)起到重要的輔助

綜上所述,無論是新項目杜耙,還是老項目搜骡,在開發(fā)之前確定項目的主體架構(gòu)都是非常重要拂盯,也是十分必要的佑女!

項目準(zhǔn)備

  • 項目部署
    • 目標(biāo):將項目部署到遠(yuǎn)程服務(wù)器,這是團隊開發(fā)必須的
  • 項目設(shè)置
    • 目的:設(shè)置項目基本信息谈竿,準(zhǔn)備初始項目
    • 內(nèi)容
      • 圖標(biāo)
      • 啟動圖片
      • 旋轉(zhuǎn)方向
      • 項目名稱
      • 類前綴
  • 確定新浪微博系統(tǒng)架構(gòu)

開源中國社區(qū)

官方網(wǎng)站

https://git.oschina.net/

  • 開源中國社區(qū)成立于2008年8月团驱,其目的是為中國的IT技術(shù)人員提供一個全面的、快捷更新的用來檢索開源軟件以及交流使用開源經(jīng)驗的平臺
  • 目前國內(nèi)有很多公司會將公司的項目部署在 OSChina

GitHUB 的對比

  1. 服務(wù)器在國內(nèi)空凸,速度更快
  2. 免費賬戶同樣可以建立 私有 項目嚎花,而 GitHUB 上要建立私有項目必須 付費

使用

  • 注冊賬號

    • 建議使用網(wǎng)易的郵箱,使用其他免費郵箱可能會收不到驗證郵件
  • 添加 SSH 公鑰

SSHKey示意圖.png
# 切換目錄紊选,MAC中目錄的第一個字符如果是 `.` 表示改文件夾是隱藏文件夾
$ cd ~/.ssh
# 查看當(dāng)前目錄文件
$ ls

# 生成 RSA 密鑰對
# 1> "" 中輸入個人郵箱
# 2> 提示輸入私鑰文件名稱,直接回車
# 3> 提示輸入密碼道逗,可以隨便輸入兵罢,只要本次能夠記住即可
$ ssh-keygen -t rsa -C "xxx@126.com"

# 查看公鑰內(nèi)容
$ cat id_rsa.pub
# 測試 SSH 連接
$ ssh -T git@git.oschina.net

# 終端提示 `Welcome to Git@OSC, xxx!` 說明連接成功
  • 新建項目
  • 克隆項目
# 切換至項目目錄
$ cd 項目目錄

# 克隆項目,地址可以在項目首頁復(fù)制
$ git clone git@git.oschina.net:xxx/ProjectName.git
  • 添加 gitignore
# ~/dev/github/gitignore/ 是保存 gitignore 的目錄
$ cp ~/dev/github/gitignore/Swift.gitignore .gitignore
  • 提示:

    • 可以從 https://github.com/github/gitignore 獲取最新版本的 gitignore 文件
    • 添加 .gitignore 文件之后滓窍,每次提交時不會將個人的項目設(shè)置信息(例如:末次打開的文件卖词,調(diào)試斷點等)提交到服務(wù)器,在團隊開發(fā)中非常重要
  • 常見命令

# 將項目克隆到本地
$ git clone xxx

# 添加到代碼區(qū)
$ git add .

# 添加到版本庫
$ git commit -m "注釋"

# 推送到服務(wù)器
$ git push

項目設(shè)置

設(shè)置最低支持iOS版本&橫豎屏

version.png

設(shè)置應(yīng)用顯示名稱

appicons.png
  • 提示
    • 此處修改的內(nèi)容是 Info.plistCFBundleName 對應(yīng)的內(nèi)容
    • 注意不要超過6個中文吏夯,否則會影響用戶體驗

設(shè)置類前綴

classprefix.png

基本架構(gòu)

在開發(fā)之前此蜈,確定項目的整體架構(gòu),明確開發(fā)的主體功能非常重要噪生!新浪微博符合經(jīng)典應(yīng)用程序架構(gòu)設(shè)計:

  • 主視圖控制器是一個 UITabbarController
  • 包含四個 UINavigationController裆赵,分別是
    • 首頁
    • 消息
    • 發(fā)現(xiàn)

特殊之處:

  • UITabbarController 中間有一個 "+" 按鈕,點擊該按鈕能夠 Modal 顯示微博類型選擇界面跺嗽,方便用戶選擇自己需要的微博類型
  • 四個 UINavigationController 在用戶登錄前后顯示的界面格式是不一樣的

與原版新浪微博的區(qū)別

由于必須使用新浪微博官方的 API 才能夠正常開發(fā)顾瞪,換言之,如果沒有登錄系統(tǒng)是無法使用新浪微博提供的接口的抛蚁!

基于上述原因陈醒,在實際開發(fā)中對未登錄之前的界面設(shè)計進(jìn)行簡化

MVVM

MVVM 是 Model-View-ViewModel 的簡寫,MVVM 模式和 MVC 模式一樣瞧甩,主要目的是分離視圖(View)和模型(Model)

MVC 回顧

  • MVC 結(jié)構(gòu)圖
MVC示意圖.png
  • MVC 存在的問題
    • 模型的代碼很少
    • 控制器的代碼一不小心就越來越多
    • 不好測試

MVVM

  • MVVM 結(jié)構(gòu)圖
MVVM示意圖.png
  • MVVM 概念

    • 在 MVVM 中钉跷,viewview controller 正式聯(lián)系在一起,我們把它們視為一個組件
    • viewview controller 都不能直接引用 model肚逸,而是引用視圖模型
    • view model 是一個放置用戶輸入驗證邏輯爷辙,視圖顯示邏輯彬坏,發(fā)起網(wǎng)絡(luò)請求和其他代碼
  • MVVM 使用注意事項

    • view 引用 view model,但反過來不行
    • view model 引用了 model膝晾,但反過來不行
    • 如果我們破壞了這些規(guī)則栓始,便無法正確地使用 MVVM

MVVM 的優(yōu)點

  • 低耦合:View 可以獨立于 Model 變化和修改,一個 ViewModel 可以綁定到不同的 View
  • 可重用性:可以把一些視圖邏輯放在一個 ViewModel 里面血当,讓很多 view 重用這段視圖邏輯
  • 獨立開發(fā):開發(fā)人員可以專注于業(yè)務(wù)邏輯和數(shù)據(jù)的開發(fā) ViewModel幻赚,設(shè)計人員可以專注于頁面設(shè)計
  • 可測試:通常界面是比較難于測試的,而 MVVM 模式可以針對 ViewModel 來進(jìn)行測試
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末臊旭,一起剝皮案震驚了整個濱河市落恼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌离熏,老刑警劉巖佳谦,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異滋戳,居然都是意外死亡钻蔑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門奸鸯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咪笑,“玉大人,你說我怎么就攤上這事府喳∑牙撸” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵钝满,是天一觀的道長兜粘。 經(jīng)常有香客問我,道長弯蚜,這世上最難降的妖魔是什么孔轴? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮碎捺,結(jié)果婚禮上路鹰,老公的妹妹穿的比我還像新娘。我一直安慰自己收厨,他們只是感情好晋柱,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诵叁,像睡著了一般雁竞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天碑诉,我揣著相機與錄音彪腔,去河邊找鬼。 笑死进栽,一個胖子當(dāng)著我的面吹牛德挣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播快毛,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼格嗅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了祸泪?” 一聲冷哼從身側(cè)響起吗浩,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤建芙,失蹤者是張志新(化名)和其女友劉穎没隘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體禁荸,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡右蒲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赶熟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瑰妄。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖映砖,靈堂內(nèi)的尸體忽然破棺而出间坐,到底是詐尸還是另有隱情,我是刑警寧澤邑退,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布竹宋,位于F島的核電站,受9級特大地震影響地技,放射性物質(zhì)發(fā)生泄漏蜈七。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一莫矗、第九天 我趴在偏房一處隱蔽的房頂上張望飒硅。 院中可真熱鬧,春花似錦作谚、人聲如沸三娩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雀监。三九已至,卻和暖如春彬伦,著一層夾襖步出監(jiān)牢的瞬間滔悉,已是汗流浹背伊诵。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留回官,地道東北人曹宴。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像歉提,于是被迫代替她去往敵國和親笛坦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容