文章主要内容:
什麼是 app 架構師
這本書主要内容
讀完感受
什麼是 App 架構師
成為“架構師”是許多程式員的夢想,當然也包括我,在工作的幾年裡,我見過很多架構師,他們在設計某個大型系統時具備很大的話語權,可以說開發前的架構設計、開發時的技術選型、開發中的規範和性能等,他們都有權來決定。
那什麼是架構師呢?根據維基百科對架構師的定義:
系統架構師(System Architect,簡稱SA或SAr),是在資訊系統研發中,負責依據需求來确定主要的技術選擇、設計系統的主體架構結構,并負責搭建實施的人。他們确立系統的主體架構和實作方向,并負責指導軟體工程師等開發人員的編碼開發工作。
可以看到,如果說普通程式員是搬磚工,那架構師就是工程設計師,他的責任就是解決軟體系統複雜性帶來的問題。
一般我們說的架構師主要是指背景架構,但由于移動網際網路技術的發展,手機應用功能越來越多,項目越來越複雜,稍微知名些的 App 開發團隊就有十幾個人,在這種情況下,很多公司設定了 Android 架構師、iOS 架構師一職位(統稱為 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 潘旭玲 著
點此連結購買紙書一本講解從程式員轉變為架構師需要了解的技能和思想,明确地給程式員指引了移動架構師成長的路線,是想成為架構師的程式員實用指南。
全面介紹了在移動應用開發的架構設計和性能優化方面的知識,是架構師的必備書籍 。講述了移動應用架構師需要了解的技能、思想等整體的發展方向,是移動架構師成長的路線圖。
讀者不僅可以學習到移動應用的開發技術,更能收獲到在實戰項目中會用到的各種工程化的知識,是架構師的學習寶典 。
推薦閱讀 2018年5月新書書單(文末福利) 2018年4月新書書單 異步圖書最全Python書單 一份程式員必備的算法書單 第一本Python神經網絡程式設計圖書長按二維碼,可以關注我們喲
每天與你分享IT好文。
在“異步圖書”背景回複“關注”,即可免費獲得2000門線上視訊課程;推薦朋友關注根據提示擷取贈書連結,免費得異步e讀版圖書一本。趕緊來參加哦!
本文轉自 愛學習的張拭心
異步圖書點選閱讀原文,檢視更多内容
閱讀原文