文章主要內容:程序員
什麼是 app 架構師算法
這本書主要內容編程
讀完感覺設計模式
成爲「架構師」是許多程序員的夢想,固然也包括我,在工做的幾年裏,我見過不少架構師,他們在設計某個大型系統時具有很大的話語權,能夠說開發前的架構設計、開發時的技術選型、開發中的規範和性能等,他們都有權來決定。安全
那什麼是架構師呢?根據維基百科對架構師的定義:性能優化
系統架構師(System Architect,簡稱SA或SAr),是在信息系統研發中,負責依據需求來肯定主要的技術選擇、設計系統的主體框架結構,並負責搭建實施的人。他們確立系統的主體架構和實現方向,並負責指導軟件工程師等開發人員的編碼開發工做。網絡
能夠看到,若是說普通程序員是搬磚工,那架構師就是工程設計師,他的責任就是解決軟件系統複雜性帶來的問題。架構
通常咱們說的架構師主要是指後臺架構,但因爲移動互聯網技術的發展,手機應用功能愈來愈多,項目愈來愈複雜,稍微知名些的 App 開發團隊就有十幾我的,在這種狀況下,不少公司設置了 Android 架構師、iOS 架構師一職位(統稱爲 App 架構師)。app
App 架構師的核心職責包括:框架
選型規劃
架構設計
技術攻關
溝通協調
疑難攻略等
這些對架構師來講應該都是通用的。對效率、性能的追求,我認爲是架構師最崇高的目標。
如今市面上針對 Android/iOS 開發的基礎、進階知識書有很多,但還幾乎沒有一本書探討關於如何成爲 APP 架構師的。所以看到這本書出版後我很興奮,第一時間閱讀了一下,讀完後寫下這篇記錄總結。
這本 《App架構師實踐指南》是由前阿里資深軟件工程師/圖像算法工程師 SkySeraph 所著,通讀全文後,能夠讀得出做者在 Android iOS 方面的技術功力以及在架構設計和管理方面的能力。
這本書主要分爲四部分:
基礎篇
核心篇
產品篇
拓展篇
程序員如何成長爲架構師?App 開發工程師須要具有什麼基礎知識?第一部分對這些進行了介紹。
基礎篇主要介紹了架構師的職責以及成爲架構的路線,而後對比 Android 和 iOS 給出了開發的基礎知識和經常使用工具,Android 部分我比較熟悉,這部分讀下來主要是瞭解了開發 iOS 須要具有的能力和工具如何選擇,後面若是考慮寫 iOS 應用時應該有幫助。
主要內容以下:
功能、安全、性能、穩定,架構是一種折中
資深開發須要技術的廣度和深度,架構師須要技術和業務並重
這節介紹了 Android 開發的一些核心基礎,包括:繼承封裝多態、內部類、進程線程、反射註解泛型等
iOS 對應的基礎知識
開源庫的選擇和使用
做爲架構師,只完成產品需求是遠遠不夠的,須要用方便拓展的模式設計項目,同時也要關心應用的穩定性,更要對 App 測試相關的知識有所瞭解,另外安全方面的問題也必須關注。
第二篇核心篇是整本書的精華部分,除了平常開發的知識之外,更是對咱們常常忽略的架構模式、應用質量和穩定性監控處理、測試相關知識作了介紹,讀完後對平時測試開發作的事有了個大概瞭解;此外還對 App 的性能優化進行了多方面介紹,其中幾個部分除了工具還講解了背後的原理,解答了我平時的幾個疑惑;而後還介紹了安全逆向的一些知識;最後對一些熱門知識進行了簡單的介紹。
主要內容以下:
經常使用模塊的設計思路
基礎組件、必備的基礎業務模塊如何設計
App 架構的基本功
組件和模塊
UML 基本功、設計模式概覽
接口設計、常見架構模式等
App 質量和穩定
衡量指標、處理手段
測試相關知識點介紹
App 性能優化
硬件、UI、CPU、內存、網絡、安裝包體積、啓動優化
App 安全逆向
逆向的基本介紹
混淆和加固的原理
Proguard 配置詳細例子
要進階不能只是簡單地寫代碼,咱們要以作產品的心態去編碼,常思考技術之外的東西。
第三部分產品篇對 App 的項目管理、產品思路、設計理念和推廣運營給了基本介紹,而後還分享了做者如何維護團隊的高效,包括編碼規範、敏捷 Scrum 相關等知識。
最後這部分比較短,主要是分享了做者對架構師思惟的理解。
架構思惟:以產品和業務爲驅動的頂層解決問題的思惟,須要同時考慮產品、技術和人三重關係。
架構師常常作的是「分」和「合」,即所謂的系統拆分和從新組合,這要求他的綜合能力要很高,須要同時具有思惟的高度和深度:
具有技術思惟的廣度和深度,涉獵多領域時可以有足夠的技術前瞻思惟
具有溝通協調能力,更懂得平衡
這本 App 架構師的學習指南書,不限於介紹具體技術層面的知識,更可能是技術高度、技術視野以及技術人生的思考。
正如文中提到的「關鍵詞學習法」同樣,這本書給我最大的幫助是提供了成爲架構師須要學習的一些基礎知識點體系,雖然由於篇幅限制不少細節沒有描述清楚,但通過閱讀我算是有了基本認識,書中提供的「關鍵技術點」和參考學習資料方便我繼續深刻研究。
須要注意的是,這本書的知識點是成爲 App 架構師必備的基礎,但還有許多架構師須要掌握的技術知識點沒有涉及到,好比各類第三方框架的介紹和對比、插件化和組件化的詳細內容,安卓 framework 相關知識,JNI NDK 相關內容,這些知識據我所知也是成爲架構師須要掌握的。
一句話描述下這本書:這本《App架構師實踐指南》適合做爲有意願成爲 App 架構師的程序員查漏補缺的參考書。整本書涉及的知識點仍是很多的,讀完能夠確認下本身的基礎能力有哪些不足,掌握了這些基礎,再繼續學習我剛纔提到的內容會比較順利。
《App架構師實踐指南 》
SkySeraph 潘旭玲 著
一本講解從程序員轉變爲架構師須要瞭解的技能和思想,明確地給程序員指引了移動架構師成長的路線,是想成爲架構師的程序員實用指南。
全面介紹了在移動應用開發的架構設計和性能優化方面的知識,是架構師的必備書籍 。講述了移動應用架構師須要瞭解的技能、思想等總體的發展方向,是移動架構師成長的路線圖。
讀者不只能夠學習到移動應用的開發技術,更能收穫到在實戰項目中會用到的各類工程化的知識,是架構師的學習寶典 。
推薦閱讀
長按二維碼,能夠關注咱們喲
天天與你分享IT好文。