移动端架构师【完结】

#1

移动端架构师【完结】

移动端普通工程师到架构师的全方位蜕变
全面掌握面向移动端未来的主流技术栈
从零开始亲自构建千万级电商项目,串联移动架构师成长各阶段

階段一:Kotlin x Java打造 UI 通用組件

第1周 走進移動端架構師

本周明確移動端架構師需要具備的技術栈,在架構中大型APP及技術選型時有哪些方法論可以遵循,帶妳認識講師團爲课程量身定製的開發套件,讓我們一起通過“好物”項目的HiLog戰役燃起架構師成長之路吧

课程安排:

1、了解移動端架構師需要具備的技術栈與能力

2、如何從0開始架構一個中大型APP

3、如何做好項目的技術選型

4、認識爲“好物”項目量身定製的開發套件

5、HiLog庫疑難點分析與架構設計

6、HiLog基礎框架搭建

7、HiLog堆栈信息打印與日誌格式化功能實現

8、基於HiLogPrinter實現日誌可視化模塊

第2周 通用UI組件開發與基礎框架設計

不做搬運工,帶妳造轮子。利用兩周時間帶妳爲“好物”項目架構一套高可用高擴展的Android通用UI組件,本周完成HiTabBottom和HiTabTop組件的架構設計和開發,掌握APP基礎框架結構設計

课程安排:

1、HiTabBottom組件疑難點分析與架構設計

2、HiTabBottom的單Tab組件封裝

3、HiTabBottomLayout封裝與應用

4、APP基礎框架結構設計

5、基於HiTabBottom實現APP底部導航框架

6、Fragment常見問題解決

7、HiTabTop架構設計與功能實現

8、HiTabTop自動滚動功能分析與實現

第3周 高級UI組件定製與解耦設計

框架設計服務於使用者,以移動端高頻技術點下拉刷新和廣告位爲例設計實現項目“好物”的HiRefresh和HiBanner組件,並教會妳如何從需求出發架構並實現輕量級高擴展的組件,幫妳彌補造轮子中的盲區

课程安排:

1、打造下拉刷新HiOverView視圖

2、實現下拉刷新HiRefreshLayout

3、HiRefreshLayout調試完善

4、HiBanner架構設計與ViewPager定製

5、打造高通用的HiBannerAdapter

6、實現HiBanner的高度定製

7、HiBannerDelegate封裝與指示器HiIndicator定製

第4周 Android必備Kotlin核心技術

架構師該如何完成到Kotlin轉變?如何快速掌握Kotlin?课程會面向未來Kotlin,使用新版解鎖Kotlin開發核心知識體係,使用Kotlin重構“好物”HiCircleIndicator

课程安排:

1、以架構師角度認識Kotlin

2、Kotlin開發環境搭建技巧

3、Kotlin必備基礎

4、Kotlin方法與Lambda表達式

5、Kotlin方法進階

6、Kotlin構造方法與繼承

7、深入理解Kotlin抽象類與接口

8、深入理解Kotlin泛型和注解

9、讓人愛不释手的Kotlin擴展(Extensions)技術探秘與應用

10、Kotlin擴展案例

11、Kotlin重構HiCircleIndicator

12、Kotlin實用技巧

第5周 Android UI核心組件剖析與實戰

本周以高頻核心組件實現原理爲入口,帶妳學習Google Android團隊如何做架構設計,最後會藉助“好物”項目HiDataItem的封裝讓妳領悟如何利用設計原理,封裝出高易用的UI組件。

课程安排:

1、從開機到SystemServer進程及服務創建流程分析【高能預警】

2、Launcher應用啟動之進程啟動

3、ActivityThread源码分析【見微知著】

4、View樹測绘流程分析

5、頁面刷新機製分析

6、手勢分發來源

7、Activity任務栈管理

8、FragmentTransaction事務執行流程分析【見微知著】

9、Fragment頁面重叠與新版懒加载

10、RecyclerView家族圖谱分析

11、RecyclerView源码解析【見微知著】

12、RecyclerView優化之回收復用機製探秘

13、高易用HiDataItem組件封裝之需求分析

14、高易用HiDataItem組件封裝

第6周 Android 導航架構探秘

本周以Navigation和ARouter路由組件爲入口,如何做好技術選型日後不返工,通過全面性原理分析進階改造帶妳掌握如何設計端内路由,基於ARouter完成“好物”項目的登錄攔截與全局降級策略

课程安排:

1、架構師該如何選择導航框架

2、對比Jetpack Navigation和ARouter的差異

3、架構師如何做好技術選型

4、Jetpack Navigation架構解析

5、Jetpack Navigation原理探秘

6、Jetpack Navigation自定義注解處理器

7、Jetpack Navigation進階改造

8、ARouter的配置用法

9、ARouter編译時原理分析

10、ARouter運行時原理剖析

11、需求疑難點分析及成果展示

12、基於ARouter實現登錄攔截與全局降級策略

階段二:解鎖Android高階技能,探秘實戰Jetpack

第7周 線程與線程池核心技術

本周非常硬核,從多線程通信、並發安全、並發流程控製、線程池任務調度和線程復用原理,到手寫逆向還原協程實現原理,再到協程進階實戰,完成“好物”項目的多線程操作框架HiExecutor封裝

课程安排:

1、多種線程創建方式與對比

2、線程優先級核心及應用技巧

3、線程狀態剖析及四種方法應用

4、線程間通信核心

5、線程安全的本質

6、線程安全之原子類

7、線程安全之Synchronized

8、線程安全之ReentrantLock案例詳解

9、線程安全之共享鎖排他鎖及鎖的設計優化

10、線程池實現原理剖析

11、線程池源码分析

12、線程池中線程復用原理

13、简潔易用的多線程操作框架HiExecutor封裝

14、探秘Kotlin協程機製

15、Kotlin協程掛起與恢復原理,逆向剖析還原

16、Kotlin協程應用

17、架構師如何做多線程優化

第8周 Android網络編程進階

本周帶妳重新認識網络編程核心技術,解鎖最新版Retrofit架構源码,爲“好物”項目手寫封裝简潔易用低耦合的網络層框架HiRestful,實戰接口攔截與路由處理,完成登錄、注册、個人中心模塊設計開發

课程安排:

1、Android網络編程核心技術

2、HiRestful設計思想分析

3、HiRestful之方法解析器

4、HiRestful之攔截器派發

5、從源码到原理剖析Retrofit核心技能 【見微知著】

6、爲HiRestful添加Retrofit支持

7、自定義View之InputItemLayout

8、登錄模塊開發

9、注册模塊開發

10、接口攔截與路由處理

11、個人中心模塊開發

第9周 架構首頁模塊

本周開始將帶妳完成“好物”項目首頁架構及開發,領略RecyclerView分頁及通用列表的風骚玩法,實現頂部導航欄與内容區域聯動,掌握數據绑定性能調優等進階技能

课程安排:

1、HiAdapter搭建首頁架構需求及疑難點分析

2、HiAdapter能力升級

3、HiRecyclerView風骚實現分頁預加载

4、基於HiRecyclerView架構通用列表

5、首頁模塊導航與内容需求及疑難點分析

6、首頁模塊頂部導航欄與内容區域聯動

7、基於約束佈局ConstraintLayout搭建列表Item

8、首頁模塊列表數據绑定

9、首頁列表性能優化

10、用戶體驗優化之沈浸式

第9+周 架構首頁分類模塊

本周將帶妳爲“好物”項目設計出靈活易用高拓展的HiSlider組件,實現分類模塊,設計出HiDebugTool調試模塊,最終把轮子們高效組合到一起完成可復用的首頁模塊

课程安排:

1、側邊導航菜單HiSlider樣式定製

2、HiSlider數據適配

3、SpanSizeLoopUp不同尋常實現分組思路

4、SpanSizeLookUp不同尋常實現分組效果

5、ItemDecoration實現分組標題

6、基於HIAbsListFragment快速構建商品列表頁

7、設計開發者支撑工具HiDebugTool並支持Https網络調試能力

8、Https抓包原理與弱網络場景模擬

第10周 解密Jetpack工具庫核心組件

剖析Jetpack核心組件實現原理, 掌握Jetpack最新架構,領略官方架構設計之美,把妳從内存泄漏、空指針等問題中解脱出來。基於Room,帶妳爲“好物”項目設計開發一款離線緩存框架

课程安排:

1、Jetpack架構組件庫解析

2、Lifecycle組件架構實現原理

3、LiveData組件架構實現原理

4、實現不用反注册,不會内存泄露的消息總線

5、ViewModel實例復用原理新解析

6、SavedState組件數據存儲與復用原理全解析

7、Room架構組件原理解析

8、Room+LiveData監聽數據庫數據變更刷新頁面原理分析

9、基於Room封裝APP離線緩存框架HiStorage

10、基於HiStorage拓展HiRestful實現接口緩存能力

11、首頁緩存適配和ViewPager刷新調優

12、基於LiveData實現登陸結果通知和账戶信息管理

第11周 架構商品詳情模塊

本周項目開啟爬坡過坎階段,詳情頁模塊紛繁復雜,架構師要能化繁爲简,本周不僅帶妳高效完成“好物”項目的詳情模塊開發任務,還將傳授妳如何實現流暢,解耦等極致效果

课程安排:

1、商品詳情模塊架構分析

2、搭建詳情頁整體結構

3、基於HiBanner+HiDataItem實現列表主圖轮播

4、基於Chip組件實現商品評價模塊

5、店铺模塊疑難點分析與開發

6、商品屬性模塊疑難點分析與開發

7、商品相册與推薦商品模塊疑難點分析與開發

8、商品收藏與標題欄滑動渐變

第12周 Android消息機製與類加载

本周將帶妳全面掌握Android消息分析機製,深入理解ClassLoader類加载機製奥秘,Tinker框架實現“好物”項目的熱修復,掌握市場主流熱修復實現原理

课程安排:

1、Android消息機製之消息生產

2、Android消息機製之消息消费

3、Android消息機製之ThreadLocal

4、Android類加载之雙親委派

5、Android類加载之高階面試題與源码分析

6、走進Android熱修復世界

7、Tinker的實戰應用

8、Tinker實現原理之補丁全量合成流程分析

9、Tinker實現原理分析之動態加载dex實現熱修復流程分析

階段三:主流架構演進與項目架構改造

第13周 玩轉Kotlin x Java 設計模式

本周將進行Kotlin與Java設計模式心法修煉,類比Java設計模式, 快速理解掌握如何利用設計模式進行APP架構的設計改造,實現利用建造者模式擴展“好物”項目的指示器組件及通知列表模塊

课程安排:

1、走進Kotlin x Java 設計模式

2、深入理解Kotlin 與 Java 單例模式

3、別有洞天的Kotlin裝饰器模式

4、深入理解Kotlin 與 Java 建造者模式

5、深入理解Kotlin 與 Java 適配器模式

6、如何利用設計模式進行App架構的設計

7、通知列表接口係分與資源獲取工具HiRes封裝

8、通知列表模塊實現

第14周 主流架構模式演進之路

主流架構模式修煉, 全面掌握MVC,MVP,MVVM開發模式演進,並使用主流的MVVM模式重構“好物”項目的首頁模塊, 從架構師角度帶妳解鎖模塊化,組件化模塊化,組件化,工程化,插件化,容器化開發模式

课程安排:

1、如何理解架構設計

2、MVC和MVP分析及手寫實現

3、傳統MVVM分析及手寫實現

4、Jetpack下的MVVM及手寫實現

5、DataBinding高頻用法及傳經送寶

6、基於MVVM模式重構首頁模塊

7、從架構師角度理解模塊化、組件化

8、單一工程、模塊化、組件化、插件化及容器化分析

9、基於模塊化重構工程結構

10、從插件化到回歸Android標準化

11、組件化實戰封裝HiNavigationBar

12、HiNavBar設計及實現思路分析

13、HiNavBar實現動態添加按钮&解決標題溢出

第15周 主流架構實戰搜索模塊

本周將基於組件化方式爲“好物”項目封裝高易用高擴展HiSearchView組件,基於MVVM設計搭建搜索模塊架構,並實現搜索模塊的調優

课程安排:

1、高易用高擴展搜索組件HiSearchBar封裝

2、HiSearhView之思路講解與初始態實現

3、HiSearhView之關键詞實現

4、搜索模塊功能細分與架構搭建

5、基於MVVM實現實時搜索與商品搜索狀態

6、歷史搜索狀態設計與實現

第16周 IOC架構設計

本周將從Hilt核心實現原理展開,傳授妳如何設計一款優秀的IOC依賴注入框架,減少模板代码,提升整個團隊開發效率,爲“好物”項目實現基於MVVM+Hilt收貨地址模塊,封裝高易用城市選择組件

课程安排:

1、走進IOC架構世界

2、Hilt DI庫高頻用法傳經送寶

3、Hilt運行時依賴注入實現原理分析

4、AmountView通用計數器組件設計與實現

5、設計與實現下單模塊

6、拓展HiRestful支持PUT,DELETE請求

7、基於Hilt實現收貨地址模塊

8、城市選择器組件結構設計實現思路分析

9、城市數據預處理與持久化

10、基於HiStorage實現城市選择器組件

11、地址列表頁設計與實現

12、城市選择組件HiCity封裝

第17周 構建與打包能力

本周將從如何高效的構建多渠道包,到實現Gradle插件,帶妳領略Gradle的魅力,完成基於Jenkins實現持續集成與自動打包,逐步解鎖構建打包的核心技能

课程安排:

1、如何高效的構建渠道包?

2、Gradle項目構建基礎

3、Gradle項目構建之Task任務

4、Gradle 插件開發之Transform

5、Javassist字節码插樁技術實戰

6、發佈Gradle插件到JCenter

7、基於Jenkins實現持續集成與自動打包、發佈及通知

8、Android library 發佈與JCenter

9、v1、v2簽名原理

10、直面底層還原apk打包流程

11、APK安全的攻與守

階段四:混合架構設計與開發

第18周 走進Flutter開發

Flutter是考察一個架構師技術廣度及對新技術敏感度的重要依據,本周帶妳快速掌握Flutter開發核心技能,爲今後的技術選型提供支撑,最後使用Flutter帶妳實現“好物”的網络層框架及推薦模塊

课程安排:

1、架構師該如何高效的學習Flutter

2、Flutter開發環境搭建及常見問題

3、走進Flutter的Widget世界

4、如何進行Flutter佈局開發

5、輕鬆掌握Flutter調試技巧

6、基於http庫封裝Flutter網络層框架

7、基於dio擴展網络層框架並編寫單元測試

8、推薦模塊接口係分與Dao層設計

9、推薦模塊結構框架搭建

10、推薦模塊Item實現

第19周 Flutter混合架構原理剖析與應用

深入Flutter進階内容,作爲架構師還要了解Flutter框架原理,掌握Flutter和Native之間的通信及路由架構的處理,本周最後帶妳打造“好物”項目的通信架構及推薦模塊的集成

课程安排:

1、Flutter框架和原理剖析

2、探析Flutter渲染機製之三棵樹

3、如何在原有的項目中集成Flutter?

4、復雜場景下的Flutter混合架構設計【秒開性能0损耗】

5、Flutter與Native通信原理剖析

6、基於MethodChannel實現Flutter與Naitive通信架構HiFlutterBridge

7、Flutter推薦模塊集成

8、基於Flutter實現主流的首頁架構

第20周 Flutter實戰應用與性能優化

本周將基於Flutter來實現“好物”項目的收藏模塊,剖析Flutter嵌入Native組件的實現原理與應用,之後會帶妳精研Flutter的性能調優以及對Flutter熱更新方案的探索

课程安排:

1、Flutter側鑒權功能實現與登錄態同步

2、收藏模塊接口係分與Dao層設計

3、收藏模塊結構框架搭建

4、收藏模塊Item實現

5、復雜場景下Flutter嵌入Native組件實戰

6、Flutter Native組件的通信功原理與實現

7、playground模塊設計

8、Flutter性能調優

9、Flutter引擎加载機製與熱更新方案探索

10、Flutter熱更新方案實現與應用

第21周 走進RN開發

RN作爲移動端跨平台另一個核心技術, 繁榮的社區生態提供了成熟的最佳實践,本周帶妳進入混合開發框架RN的學習,帶妳使用RN設計開發“好物”項目的瀏览歷史模塊

课程安排:

1、架構師該如何高效的學習RN

2、RN開發環境搭建及常見問題

3、RN自定義組件封裝

4、輕鬆掌握RN調試技巧

5、基於fetch+promise庫封裝RN網络層框架

6、瀏览歷史模塊接口係分與Dao層設計

7、瀏览歷史模塊結構框架搭建

8、瀏览歷史模塊Item實現

9、走進RN社區和其常見組件

第22周 RN混合架構原理剖析與應用

深入RN進階内容,了解框架原理,掌握RN和Native之間的通信,路由架構的處理, 性能優化以及疑難雜癥的處理。本周最後帶妳使用RN封裝“好物”項目的通信架構HiRNBridge,完成商品模塊集成

课程安排:

1、RN框架和原理剖析

2、如何在原有的項目中集成RN?

3、RN混合架構開發實戰技巧【傳經送寶】

4、RN與Native通信原理剖析

5、基於NativeModule實現RN與Native通信架構HiRNBridge

6、RN歷史瀏览模塊集成

7、RN引擎預加载管理框架開發

8、Native UI組件開發實戰

9、Native UI組件的事件通信指南

10、RN性能調優

階段五:穩定性及性能調優

第23周 穩定性優化

本周將帶妳站在架構師角度學會建立長效Code Review機製,提升團隊代码質量,開展有效監控,排查Java Crash、Native Crash問題,實践打造“永不”Crash的APP

课程安排:

1、作爲架構師該如何提升應用的穩定性?

2、如何提升應用代码質量?

3、建立有效的Code Review機製

4、Crash監控與排查

5、Java混淆代码還原

6、如何做好Crash防護來實現一個“永不”Crash的App

7、Native Crash監控

8、addr2line堆栈還原

9、HiDebugTool能力擴展

第24周 性能優化

本周將帶妳站在架構師角度掌握如何做好應用啟動速度優化,頁面渲染耗時,頁面滑動FPS監控,内存以及網络優化,打造性能極致體驗APP

课程安排:

1、性能優化的重要性及意義

2、啟動優化之耗時統計&啟動白屏優化

3、從0到1設計實現異步並發啟動框架TaskFlow

4、TaskFlow築基之Task任務

5、TaskFlow合體之Project任務組

6、TaskFlow靈魂之TaskRuntime調度器

7、TaskFlow涅槃之TaskRuntime依賴樹檢查

8、TaskFlow大乘之TaskFlowManager啟動器

9、頁面加载耗時優化實戰

10、頁面滑動流暢度FPS優化實戰

11、内存泄漏排查定位

12、不合理大圖檢測插件

13、如何進行APK包大小瘦身

第25周 開發技能拓展

本周將帶妳實現華爲多屏幕手機適配,Android Q黑暗模式適配, 老舊項目AndroidX升級適配,帶妳剖析Google最新組件化AppBundle架構並掌握權限治理

课程安排:

1、AndroidX升級適配的必要性

2、如何在老項目中使用AndroidX

3、升級適配常見問題解決

4、升級之後如何配置混淆

5、實戰老項目升級適配

6、摺叠屏適配實戰

7、Android Q暗黑模式適配

8、新一代組件化動態化方案App Bundle使用場景和優勢

9、AppBundle動態交付原理

10、AppBundle文件結構分析

11、使用Bundletool測試AppBundle

12、AppBundle拆分注意事項

13、架構師必須要掌握的權限治理

階段六:前後端接口設計與配置中心係統

第26周 後端-DAU超千萬的移動端接口設計實現

幫妳掃清後端主流技術盲區,擴展架構師技術視野,帶妳爲“好物”項目打造高可靠高性能的移動端接口,讓大家領略後端主流架構的設計和開發

课程安排:

1、移動端架構師需要具備的後端技術栈和能力

2、前後端分離的架構與高效的協作方式

3、後端-SpringBoot2 + MyBatis + MySQL開發框架搭建

4、後端-基於PDMan工具實現數據庫建模

5、後端-基於BCrypt實現用戶信息加密與注册功能

6、後端-整合與優化Swagger2文檔API

7、後端-登錄功能與Response功能設計實現

8、後端-基於Redis實現高速的用戶信息緩存

9、後端-基於注解攔截器實現接口訪問控製與登錄態處理

10、後端-用戶列表API開發與分頁功能實現

11、後端-用戶管理API的設計與實現

12、後端-商品類別模塊建模與功能開發

13、後端-商品類別管理API開發

14、後端-城市服務模塊功能實現

15、後端-項目打包並部署到Tomcat服務器

16、後端-基於Tomcat + Nginx搭建負载均衡的服務器

第27周 前端-管理後台設計實現

本周將幫妳打通前後端技術,帶妳基於React + TypeScript + AntDesign + react-router完成“好物”項目管理端前台的搭建,讓妳領略web前端的主流架構設計和開發

课程安排:

1、移動端架構師需要具備的前端技術栈和能力

2、前端-基於create-react-app 搭建web工程

3、前端-整合antd與less並搭建具有Ant Design風格的頁面

4、前端-頁面結構設計與框架搭建

5、前端-導航架構模塊設計與實現

6、前端-基於react-router-dom實現路由模塊

7、前端-網络模塊封裝與service層實現

8、前端-用戶管理功能模塊設計與實現

9、前端-商品類別管理模塊開發

10、前端-添加商品類別功能實現

11、前端-項目打包與部署

第28周 【SDK+服務端+控台】配置中心架構實現

本周將從配置中心的原理出發,帶妳爲“好物”項目手寫一個配置中心係統,其中包括配置中心後端,以及配置中心的客戶端SDK,讓妳贯通前後端開發

课程安排:

1、配置中心架構及實現原理解析

2、配置中心係統數據建模

3、後端-查询配置接口設計與開發

4、後端-更新配置接口設計與開發

5、後端-配置持久化存儲功能設計與實現

6、後端-如何實現高速緩存與探針功能?

7、前端-配置列表設計與實現

8、前端-搜索與過濾功能實現

9、前端-添加配置與發佈實現

10、前端-導航模塊擴展與路由通知功能實現

11、前端-如何實現發佈回滚的功能?

12、客戶端SDK-HiConfig工程搭建與接口設計

13、客戶端SDK-配置同步與更新功能實現

14、客戶端SDK-如何實現配置緩存與恢復功能?

15、客戶端SDK-如何實現配置的高效獲取與監聽功能?

16、基於HiConfig實現模塊功能的動態化

第29周 HiAbility SDK開發

本周將帶妳設計實現“好物”項目HiAbility SDK開發,完成支付能力,推送能力,掃码能力,分享SDK,埋點統計等能力的實現與整合

课程安排:

1、基礎推送能力集成

2、OEM廠商推送能力集成

3、打造可配置化分享面板

4、分享卡片消息到QQ好友

5、分享卡片消息到微信

6、華爲HMS掃码能力集成

7、數據統計與埋點

8、支付寶支付能力的實現與整合

9、微信支付能力的實現與整合

第30周 學成“下山”

本周是我們的學成下山之戰,在這里將傳授妳“出師锦囊”,讓妳躺赢接下來的職業發展,助妳早日登上移動端的巅峰

课程安排:

1、如何設計高質量的简歷

2、巧用简歷投遞渠道讓機會找自己

3、移動端架構師常見面試分析

4、移動端架構師面試技巧

5、善用面試復盤面試路上越戰越勇

6、關於架構師的職業發展探讨

7、架構師該如何帶團隊

8、架構師如何做好技術管理

9、揭開項目管理面纱

10、項目管理的五大階段的最佳實践

11、項目管理的方法論

12、項目聲明周期管理和風險管理

13、後續學習指南
地址:51xuebc点com