到這個Q結(jié)束, 真的就開發(fā)iOS一年了, 在從iOS開發(fā)菜鳥走向不那么菜的過程中, 現(xiàn)在進(jìn)入到了一個比較迷茫的時期, 似乎沒什么問題解決不了, 又似乎什么問題都解決不了姐霍。
2016年二季度工作計劃
1 完成學(xué)習(xí)路線圖的剩余部分, 力求對iOS開發(fā)無死角, 至少在和別人的交流上不會出現(xiàn)別人說了一個名詞自己連聽都沒聽過.(基礎(chǔ)側(cè))
2 深入學(xué)習(xí)MVVM的VM數(shù)據(jù)綁定方式, 以最好的方式在項目中保證自己的代碼可讀性最高, 力求所有View上的代碼可復(fù)用, 邏輯層的代碼邏輯清晰代碼簡潔, 力求頁面部分能清晰理出控制器的職責(zé).
3 將學(xué)過的東西通過自己的項目(WeTogether)鞏固加深理解, 做出一個有下載, 上傳, 初具社交類軟件規(guī)模的項目.(實戰(zhàn)側(cè))
4 深入研究MJExtension和YYKit框架, 對runTime有更深的理解. 嘗試寫出protobuf協(xié)議解析的類似框架, 一行代碼將PBModel轉(zhuǎn)XXModel. (提升側(cè))
5 有時間學(xué)習(xí)下React Native.(忙里偷閑)
完成情況
1 除了一些真的很少用的比如iCloud,CoreImage框架, iPad開發(fā)外其他的都已經(jīng)完成了學(xué)習(xí)的任務(wù), 而且也在實際開發(fā)中能夠熟練使用FMDB, AFN,Masonry這些框架, 不過對于一些低版本的系統(tǒng), 可能這些框架還是存在這樣或者那樣的問題, 不過好在這些問題都已經(jīng)解決了环形。完成度80%.
2 在多人團隊合作開發(fā)的項目中有時候要把這里做好真的很難, 你不寫很low的代碼不代表別人不寫, 你很難控制別人, 所以在邏輯層, 現(xiàn)在出現(xiàn)了這樣的情況族淮, 別人的代碼都是手動解析協(xié)議, 而我使用MJExtension框架, 這樣就造成了代碼上的不美觀, 但我不覺得我這里錯了! 在View復(fù)用上, 由于業(yè)務(wù)的需要, 我封裝了一些業(yè)務(wù)邏輯在控件里, 控件以異步的方式加載, 控件內(nèi)部回去做網(wǎng)絡(luò)請求, 實際上這樣的業(yè)務(wù)控件較比那些通過model去設(shè)置view的控件用起來更方便, 加上Masonry的使用更好的發(fā)揮了這些控件的作用, 但是對于性能, 不知道會不會有所影響吉殃。 完成度90%.
3 當(dāng)發(fā)現(xiàn)研究一些框架比實際做出些東西更有提升的時候, 這里又被忽略了衰琐。完成度 0%.
4 這里應(yīng)該是最有成就的一塊了, github上各種優(yōu)秀的開源框架, 下圖是我mac上存在的一些開源框架, 不是每個都細(xì)讀了, 但至少每個我都看了宏娄。雖說深入研究毙石, 但對于知識的縱向比對是欠缺的, 比如現(xiàn)在主流的MJ, YY, Mantle, 到底有什么區(qū)別, 還沒仔細(xì)研讀廉沮。完成度 95%.
5 這個也是被遺漏的角落, 在網(wǎng)上已經(jīng)被吹的神乎其技的時候, 還是感覺這里學(xué)習(xí)成本可能有些高, 暫時還沒入門, 只是大概看了下。完成度10%.
總的來說, 這是進(jìn)入iOS開發(fā)以來最迷茫的一個Q, 中間做了公司的一個比較大的需求, 竭盡全力將學(xué)到的知識用到實際的項目中, 然而并沒什么卵用啊, 還是很多人不理解你! 在學(xué)習(xí)上已然沒有了早期閱讀各位大大源碼上的諸多困難, 基本上可以通過代碼理解大大們的一些思想了, 但是一些gcd和宏還有runloop上的高端用法還不是很清楚徐矩。
為了消滅迷惘, 繼續(xù)前行, 下面是2016年第三季度工作計劃(全面提升學(xué)習(xí)深度):
1 必須完成React Native的入門學(xué)習(xí), 不管多難多麻煩,一定要在這個Q結(jié)束前能夠達(dá)到簡單實戰(zhàn)的效果滞时。(必須完成的)
2 掃清gcd和宏還有runloop上的高端用法。項目中全面使用緩存策略, 對于有需要的數(shù)據(jù), 進(jìn)行寫數(shù)據(jù)庫操作, 普通數(shù)據(jù)必須先從內(nèi)存上取, 沒有才去請求網(wǎng)絡(luò), 雖然不差流量, 但也不能浪費用戶的流量滤灯。(基礎(chǔ)側(cè))
3 深入研究組件化, XMPP, HTTP2這些貌似很高大上實際也不是很麻煩的紙老虎坪稽。(技能學(xué)習(xí)側(cè))
4 研究各種可以提升性能的框架, 力求多少人用都不卡曼玩。(提升側(cè))
5 學(xué)習(xí)Swift的基本用法, 力求能看懂簡單的語法。(忙里偷閑側(cè))