之前有幸應邀參與了慕課網的免費課程《Android依賴管理與私服搭建》和實戰電視連續劇《Android通用框架設計與完整電商App開發》,在早先錄制關于依賴管理的課程時,就有一部分同學因為很少接觸Linux或類Unix操作系統而感到力不從心(力不從心別多想……),但是因為畢竟就一個小時不到的課程,給大家排排難也就可以了。但是在之后的實戰課程里,大家不斷實踐不斷延續性的學習的需求越來越欲求不滿(欲求不滿也別多想……)。
實戰課一般是幾十個小時的大課,里面的代碼量已經非常巨大了,再加上錄課階段邊侃邊敲,很多細節的地方寫的時候基本屬于斷片狀態,多多少少會出些BUG,很多細心的同學在學習的過程中,會發現問題,或者可以優化的點,這樣就會不可避免的出現各種探討和小版本的迭代,那么之前原始的通過社交軟件的溝通方式就顯得特別的低效了和不及時了。并且,當大家集思廣益的時候,會出現信息的丟失和忽略。
這個課程分兩個大的部分。一個部分是帶著大家從第一行代碼開始高度封裝一個自己的快速開發框架。畢竟,天下私活唯快不破(你們懂的),以最快的速度完成一個項目,并且把BUG都限制在框架層,是最大產出效益的方式,同時將通用的功能以最傻瓜式的方式提供接口,不管是給自己的接班人也好,還是給未來幾個月斷片的自己,都是最快速和最穩妥完成項目的方法。并且,當我們寫代碼的時候,寫功能,就不應該思考業務,寫業務,就不應該糾結功能,這種分離,也是對自己架構的一種提升。
但是這部分內容是一個循序漸進不斷完善的過程。錄制課程的時候,這個框架頂多算是alpha中的alpha版,需要完善的內容非常之多。比如性能,比如更詳細的講解,比如更多設計模式的使用。
說到設計模式,雖然我一直主張,設計模式這種東西是無招勝有招的,課程和框架里并沒有特別強調設計模式,一般都是把設計模式融合到課程中,然后再轉化成合適自己的模式。但是這是個課程呀,對不對(有點學院派的趕腳),所以需要有這么一個平臺,能夠讓大家能夠專門的來探討他們覺得理解起來有點困難的部分,貼貼代碼,發發心得,提提改進意見,包括性能的提升,以及更優雅的封裝(不要說博客或者論壇,咋說也是人家的課程,不能完全公開出來的……只能是各位土豪買課的富帥和富美們了)。
還有就是,寫框架的過程,往往和實現功能是不一樣的。寫框架是一個不斷驗證,不斷思考,不斷重構,不斷優化和極致化的過程,這需要很長很長很長一段時間的時間,驗證,精簡,完善和集思廣益,所以需要有一個機制,讓學習的學生和自己能夠不斷的交流代碼,不斷的優化個吸取別人的信息。之前有想過通過Github創建個私有項目,或者coding,大家提交代碼然后進行審核合并。不過小白鼠我和幾個小白鼠同學實驗之后,效果并不理想,正在思考一種方便交流信息和代碼的方式。
當然啦,框架起了個非常愜意的名字Latte(拿鐵),我也希望它能夠像拿鐵一樣回味悠長,想一有時間就慢慢的去擴展和完善這個框架,讓它讓我們的開發更加的輕松愜意。比如說,現在的架構是單Activity架構,那么之后多Activity架構的擴展包就會加進來,并且講解。現在是多module的模式管理依賴,那么以后,就會慢慢編程插件化的方式去管理依賴,利用small或者tinker這些熱門的技術。當然,像dagger2這樣的技術,看機會,和之前的補充一起,慢慢的一點一點加進去。
關于電商的話,其實個人感覺功能是有了,但算不上完善,很多電商里比較好的業務邏輯,也是可以和大家侃侃的,并且和上面一樣補充進課程的新章節里,所以也需要有一個可以共享邏輯圖的地方。之前研究過百度腦圖,并且修改過源碼,做成了自己的一個工具,但是總感覺太重,processon是一個不錯的方案,不知道效果怎樣。
之后呢,封裝成能夠快速處理某一類業務邏輯的module或者插件,一個能快速處理業務邏輯的框架,絕對是純技術框架所不能比擬的。
總之呢,我堅持寫框架和完善業務框架的封裝,以及視頻教學,都是一個持續的過程,不存在一次性講完就真的學完了,我覺得那也是不負責任的,就像健身一樣,為了活的一個好的身材,我堅持以年為單位舉鐵。那么完善代碼和不斷豐富教學視頻,以及以文章或更多的方式探索更高效的學習和教學方式,就是大家和我的責任和義務。
至于這種模式怎么定,確實沒想好,真心希望有一個比較完滿的方案。
至于課程嘛。代碼會不斷的進步,更新和完善。一有空也會努力的加錄視頻,講解新完善的內容和功能,以及修復BUG,爭取讓更多的人學到真東西
課程騷浪賤,學壞后果自負……
嗯,先這樣
相關文章