這幾天終于閑下來了,想對項(xiàng)目開發(fā)做一些簡單的總結(jié)榕茧。案場是一款面向房地產(chǎn)企業(yè)的app應(yīng)用垃沦,簡單的來說類似于移動辦公的app。就項(xiàng)目技術(shù)而言,還是比較簡單的,業(yè)務(wù)相對復(fù)雜一點(diǎn)豆巨,操作起來也相對復(fù)雜一點(diǎn),當(dāng)然用戶體驗(yàn)很多時(shí)候是產(chǎn)品設(shè)計(jì)的時(shí)候定下來的池充,這里就不說了。
android版本缎讼,除了當(dāng)時(shí)我選擇了一些基礎(chǔ)代碼庫之后纵菌,我基本沒怎么參與。沒有參與有很多種原因:
1休涤、自己有過4-5年的android經(jīng)驗(yàn),歷史經(jīng)驗(yàn)告訴我,不難只是工作量大功氨。
2序苏、iOS開發(fā)存在很多未知問題,我需要花多時(shí)間去探討捷凄。
3忱详、第一周我看android開發(fā)的小伙子寫的代碼,代碼質(zhì)量不錯跺涤,效率也比較高匈睁,責(zé)任心比較強(qiáng),很放心桶错。
在android版本開發(fā)的過程里面航唆,我只是偶爾會review一下代碼,看到有問題的回去修改或者提醒修改院刁。到項(xiàng)目的后期糯钙,我回頭看android代碼的時(shí)候,感覺會比我自己寫得要好退腥,起碼比較規(guī)范任岸,無論是activity還是fragment都是固定的模版,對接受項(xiàng)目者還是比較友好的狡刘。當(dāng)然開發(fā)過程還是存在一點(diǎn)點(diǎn)問題的享潜,就是沒有提前做好規(guī)劃,導(dǎo)致后面加Loader嗅蔬,下拉刷新很亂剑按。如果當(dāng)初規(guī)劃好一點(diǎn),后面的工作會更加順利和舒心购城。
android開發(fā)的前期工作吕座,我還是做了很多東西的,封裝網(wǎng)絡(luò)的基礎(chǔ)庫瘪板,例如基于OKhttp的Volley吴趴,session會話的保存,還有基于gosn網(wǎng)絡(luò)庫的封裝侮攀。這次嘗試了新的東西锣枝,把所有接口都寫在一個(gè)文件上面,方便管理兰英。但是后來發(fā)現(xiàn)撇叁,這樣搞法哪個(gè)文件的代碼量會很多,閱讀起來會比較累人畦贸。后來看了看clean架構(gòu)陨闹,感覺會比較清晰楞捂,下次有項(xiàng)目再用。本來計(jì)劃在這個(gè)項(xiàng)目要用rxandroid的趋厉,由于開發(fā)人員對它不熟悉寨闹,最后也沒用上,還是老模式的MVC君账,但是下次還是希望放棄EventBus改用Rxbus繁堡。
對于iOS版,基礎(chǔ)庫還是我搭建的乡数,只是大部分有不是我做的椭蹄,在以往的開發(fā)中,都是純代碼開發(fā)净赴,但是在這個(gè)項(xiàng)目中绳矩,我選擇了storyboard+Autolayout,在開發(fā)的過程的確踩了很多坑劫侧,但是我不后悔這樣的選擇埋酬,有時(shí)候有些經(jīng)歷是無價(jià)的,我知道很多大公司都選擇了很成熟的方案烧栋,例如微信QQ写妥,基本都是純代碼寫的。storyboard是蘋果推薦的审姓,蘋果最終的目的是讓UI設(shè)計(jì)去布局珍特,程序員只關(guān)心業(yè)務(wù)邏輯,但是國內(nèi)適合沒那么受歡迎魔吐。storyboard非常方便人熟悉項(xiàng)目框架流程扎筒,但是編譯慢,多人協(xié)作麻煩酬姆。說到多人協(xié)作嗜桌,整一個(gè)xcode都不是特別人性化,多人提交的時(shí)候很容易產(chǎn)生沖突辞色,特在是SVN上骨宠。
踩過很多坑,讓我了解了很多東西相满,經(jīng)過這個(gè)項(xiàng)目起碼對Autolayout层亿,RAC是比較了解了。我不想去簡單的評價(jià)對和錯立美,方案通常是需求決定的匿又,storyboard對個(gè)人開發(fā)是友好的,但是對團(tuán)隊(duì)開發(fā)需要拆分多個(gè)建蹄,而且盡可能簡單碌更。對于純代碼裕偿,看起來很凌亂,對于新人需要配備ViewController 跳轉(zhuǎn)圖才容易熟悉代碼针贬。當(dāng)你熟悉storyboard的時(shí)候击费,你會發(fā)現(xiàn)開發(fā)mac os x的程序也同樣適用,而且快速入門桦他。
去年11月開始,我一直關(guān)注著iOS開發(fā)谆棱,也是從自身發(fā)展來看的快压,我需要多幾個(gè)項(xiàng)目來完善自己知識體系。經(jīng)過這個(gè)項(xiàng)目垃瞧,學(xué)習(xí)到了很多東西蔫劣,一部分是在別人博客的是看到的,一部分是自己嘗試出來的个从,還有一部分是和別人交流出來的脉幢,不管從哪里來的,對自己都是一種很好的經(jīng)歷嗦锐。項(xiàng)目后期我想了很多關(guān)于框架的問題嫌松,關(guān)于很多安全的問題,關(guān)于很多底層的問題奕污,對runtime萎羔,runloop,多線程有了更多體會碳默。
對于技術(shù)贾陷,我個(gè)人還是喜歡找些新東西去折騰,哪怕過程有點(diǎn)坎坷嘱根,但是只有心臨其境才能真切的感知那些不曾想過的問題髓废,解決哪些不曾想過的問題。任何一個(gè)方案都是有適用范圍的该抒,不可能是萬金油慌洪。有些人可能在大公司呆過,看過很多有經(jīng)驗(yàn)的文章柔逼,可以很輕松的做出選擇蒋譬,但是對于沒有這樣經(jīng)歷的人,只能靠自己嘗試了愉适。