孔子曰:溫故而知新
每次項目完成之后,習(xí)慣性的做一些總結(jié)觉既,也算是對自己目前技術(shù)能力的評估,哪里掌握了,哪里沒有掌握好瞪讼。
廢話不多說钧椰,直奔主題
Tips:
一步一個腳印,別慌別亂符欠,坑是自己跳的嫡霞,Bug 是自己寫出來的,要是實在是難受希柿,扇自己兩個耳光
之前說編程就是算法和數(shù)據(jù)結(jié)構(gòu)诊沪,不懂甚至反駁說不會算法和數(shù)據(jù)結(jié)構(gòu)也能夠?qū)懗鰜恚瑳]有關(guān)系曾撤,現(xiàn)在你應(yīng)該明確知道端姚,算法和數(shù)據(jù)結(jié)構(gòu)的重要性,不會就努力去學(xué)
注意你的代碼質(zhì)量挤悉,能夠進行封裝的時候進行封裝渐裸,代碼復(fù)用大學(xué)老師就告訴很重要了
如果項目涉及文件下載功能,請對沙盒內(nèi)文件夾進行規(guī)范化操作装悲,盡量做到見名知意昏鹃,好處是調(diào)試的時候能夠準(zhǔn)確找到文件所在,同時蘋果也是提倡見名知意
如果你的項目涉及文件下載功能诀诊,請一定要記住一點洞渤,在一個文件內(nèi),不可能出現(xiàn)相同名字的兩個文件畏梆。這很淺顯您宪,但是越細節(jié)的東西,在忙起來的時候可能越容易忘記
校驗文件是否存在本地奠涌,盡量使用 iOS SDK 自身提供的 API宪巨,善用系統(tǒng)提供的 API ,這無可厚非溜畅,不要自作聰明的去寫什么系統(tǒng)已經(jīng)能夠支持的算法捏卓。視需求而定,但是要善用系統(tǒng) API
不要過分的相信主流第三方慈格,就算是 SDWebImage怠晴、AFNetworking 同樣是有坑存在。第三方的存在是為了解決主流問題浴捆,如果業(yè)務(wù)屬于特殊情況蒜田,一定要自行封裝,甚至是修改源碼选泻,符合業(yè)務(wù)需求為止
如果沒有讀過第三方源碼冲粤,不要懷疑現(xiàn)在讀是不是已經(jīng)晚了美莫,你能意識到的時候就還不算晚,什么也別想梯捕,讀起來厢呵,讀明白,讀不明白就 Google 或者 Bing
以上的所有傀顾,說給自己聽襟铭,同時希望同道中人能夠共勉。下面說說我的項目短曾,可能一次性不能完成寒砖,會分為多個章節(jié)完成。
一嫉拐、 應(yīng)用場景分析
- 應(yīng)用主要是服務(wù)公司加盟部門人員使用入撒,招商加盟講座,以及銷售人員銷售時椭岩,展示給客戶使用,多數(shù)情況下璃赡,會在沒有網(wǎng)絡(luò)的會場或者是網(wǎng)絡(luò)極差的情況下使用判哥,所以要求必須做數(shù)據(jù)的離線緩存。
- 應(yīng)用面向的群體是公司目標(biāo)客戶碉考,如果在使用過程中塌计,出現(xiàn)閃退、卡頓情況目標(biāo)客戶可能會感覺很不好侯谁,所以性能優(yōu)化要良好锌仅,盡量保證,在使用時不出現(xiàn)致命性問題
- 銷售人員銷售過程中墙贱,更多的項目講解热芹,iPad 應(yīng)用僅僅是輔助功能,視頻惨撇、圖片的展示伊脓,是為了提供更好的銷售效果,但是在整個銷售過程中魁衙,使用的時間不占用整個銷售過程的 3%报腔,所以不能有太多的加載時間,要完全的時間剖淀,隨用隨走纯蛾,保證穩(wěn)定(有點像張小龍的小程序)
- 其他業(yè)務(wù)場景
二、需求
- iPad 項目纵隔,不需要進行 iPhone 適配翻诉,僅僅適配 iPad
- 左側(cè)側(cè)滑菜單炮姨,CenterController 沒有遮罩
- TabBar 在屏幕左側(cè),類似于大眾點評米丘,與主流iPad 項目一致剑令,我叫做 Dock 欄
- 不卡頓,盡量如絲順滑拄查、斷網(wǎng)時可以使用吁津,有網(wǎng)與否不影響整體使用
- 其他后續(xù)新增需求等
三、功能點
經(jīng)過以上所有的論證以及和加盟部門實際使用人員碰頭會之后堕扶,整理出一下所有的功能點碍脏,包括但不限于
- 業(yè)務(wù)功能點:
- 圖片瀏覽器功能:點擊圖片能夠進行圖片瀏覽,圖片基本操作稍算,放大縮小典尾、圖片保存至本地相冊等功能
- 視頻播放器功能:能夠播放視頻,基本視頻播放器功能糊探,手勢操作钾埂、視頻播放器內(nèi)下載視頻功能
- 閱讀 PDF 文檔功能:最好能夠直接通過 iPad 連接打印機之后打印
- 加載 HTML 功能:加盟部門人員長于銷售,電腦操作以及富文本編輯能力不強科平,所以加載 HTML 容錯性要足夠強
- 無限級菜單:公司銷售眾多褥紫,幼兒園行業(yè),幼兒園課程眾多瞪慧,變化頻繁髓考,種類繁多。要求可以無限級展示菜單弃酌、內(nèi)容氨菇,同時動態(tài)布局
- 技術(shù)功能點
- 記錄設(shè)備 UUID :由于應(yīng)用不面向所有用戶使用,同時考慮內(nèi)容私密性妓湘,所以記錄設(shè)備編碼查蓉,后臺可以對設(shè)備進行操作,是否允許設(shè)備獲取數(shù)據(jù)
- 基本登錄功能:員工以公司郵箱為賬號多柑,進行登錄操作奶是,Token 驗證
- RESTful API:利用高緩存機制,不需要另外的資源發(fā)現(xiàn)機制竣灌、同時兼容性好
- 高緩存聂沙、動態(tài)化、組件化:高緩存主要體現(xiàn)在緩存內(nèi)存高初嘹、時間短及汉,動態(tài)化主要是根據(jù)返回數(shù)據(jù)進行實時布局,組件化主要是因為業(yè)務(wù)變更較多屯烦,為了以后能夠更快的進行功能擴展坷随、轉(zhuǎn)移進行組件化設(shè)計
- 圖片房铭、視頻、HTML温眉、PDF 文件離線緩存
- 等等其他功能點