教程名稱:
xa0 xa0 xa0 xa0BAT大廠APP架構(gòu)演進實踐與優(yōu)化之路 還原最真實的架構(gòu)演進優(yōu)化過程
教程內(nèi)容:
xa0 xa0 教程針對不同水平的學員提供了不一樣的上車方式。剛?cè)腴T或者初級的學員來說重點在于架構(gòu)基礎(chǔ)概念的掌握例如OKHttp、LBS、SVG、RxJAVA已經(jīng)MVP結(jié)構(gòu)的方式以及常用的幾種開發(fā)模式。基礎(chǔ)稍微扎實一點的除了基礎(chǔ)架構(gòu)知識的掌握之外就需要開始著手考慮架構(gòu)的設(shè)計以及技術(shù)的選型在這些大牛的身上將這些思想性的東西學習過來并在將來的開發(fā)中運用起來。因為這種架構(gòu)思想是不限于技術(shù)的無論你是學習哪門語言的學員。架構(gòu)思想和大企業(yè)的項目流程規(guī)范性都是通用的。課程主要面向安卓想學習架構(gòu)設(shè)計優(yōu)化的開發(fā)人員。
教程目錄:
1.打車課程項目整體介紹
課程介紹:介紹課程內(nèi)容、教授方式,講訴打車業(yè)務(wù)的整體架構(gòu)思路;針對打車業(yè)務(wù)如何進行需求分析和工作量化評估,同時根據(jù)工作量化提出課程內(nèi)容章節(jié)計劃。
2.需求分析和工作量化
講解(在BAT大廠中)前后端 API 、文檔維護方法、平臺。
3.項目規(guī)范與團隊協(xié)作
分享在BAT大廠中、項目支持是如何維護、保證代碼質(zhì)量的。然后實踐,建立滴滴打車項目的代碼規(guī)范、約定。
4.啟動過渡頁面開發(fā)
講解 SVG 動畫的制作,SVG 制作滴滴 logo 動畫,啟動頁的設(shè)計
5.OkHttp 3.x 的使用
對比HttpClient,URLConnection,OkHttp 三大網(wǎng)絡(luò)庫優(yōu)缺點,講解 OkHttp 3.0 的使用。學員需具備 Http 網(wǎng)絡(luò)協(xié)議基礎(chǔ)知識。
6.基礎(chǔ)網(wǎng)絡(luò)模塊—架構(gòu)實現(xiàn)及OkHttp封裝
Http模塊的架構(gòu)實現(xiàn)解析,講解如何封裝 OkHttp 庫,測試Http模塊等等
7.賬戶注冊登錄模塊—架構(gòu)設(shè)計與開發(fā)實現(xiàn)
用戶、注冊、登錄模塊需求分析,注冊(下發(fā)驗證碼,校驗驗證碼),用戶是否存在,登錄流程解析,以及狀態(tài)判斷,Token自動登錄,講解登錄模塊的設(shè)計思路和實現(xiàn),并使用無分層架構(gòu)的實現(xiàn)
8.MVP架構(gòu)模式介紹以及優(yōu)化實現(xiàn)
分層架構(gòu)模式-MVP 介紹,MVP 接口定義,MVP 解耦優(yōu)化登錄模塊,MVP 架構(gòu)下的單元測試。講解 Android App 業(yè)務(wù)層次解耦原理,并運用 MVP 架構(gòu)模式,優(yōu)化帳號登錄模塊
9.RxJava的使用以及RxJava封裝優(yōu)化MVP
講解 RxJava 的使用,講解如何封裝 RxJava ,讓 MVP 解耦和更干凈
10.高德地圖SDK的接入
介紹高德 LBS 的接入,和相關(guān)用法,在地圖中顯示我的位置,位置藍點/點標記。打車業(yè)務(wù)LBS模塊的架構(gòu)設(shè)計, 獲取用戶當前位置和方向,并上報位置
11.LBS地圖定位模塊—架構(gòu)設(shè)計實現(xiàn)和封裝
地圖定位分層解耦。地圖定位模塊業(yè)務(wù)具有共通性,LBS 隨時可能更換地圖SDK,甚至滴滴不同的版本有使用高德的、也有使用騰訊的,如何滿足最小成本的切換?講解地圖定位模塊的封裝和抽象。
12.打車核心業(yè)務(wù)—附近的司機
講解消息推送機制,bmob 推送的接入,結(jié)合消息推送,獲取附近的司機,實現(xiàn)推送更新附近的司機位置信息
13.打車核心業(yè)務(wù)—起點終點及呼叫司機下單
起點終點路徑繪制,地圖定位及poi功能的使用,呼叫司機,下單業(yè)務(wù)的實現(xiàn)
14.打車核心業(yè)務(wù)—接單以及接送過程相關(guān)
司機接單,司機到用戶接送過程,取消訂單。訂單模塊的整體架構(gòu)分析和實現(xiàn),打車核心業(yè)務(wù),地圖導航。
15.訂單列表及支付狀態(tài)模塊—架構(gòu)設(shè)計與實現(xiàn)
講解支付體系的通用流程,講解用戶訂單列表設(shè)計和實現(xiàn)。
16.整體項目總結(jié)
項目整體架構(gòu)圖(模塊、分層),技術(shù)選型評估,滴滴核心業(yè)務(wù)(前后端整體架構(gòu))。總結(jié)該系列課程的核心技術(shù)點、App 架構(gòu)開發(fā)的通用流程、方法。