高級 Android 工程師的進階之路

在編程之餘,有時候我就在想,什麼樣的程序員屬於高級程序員呢?或者說,高級程序員有哪些特性呢?工做年限必定不是一個關鍵的指標,許多工做多年的程序員依然寫不出優雅的程序。不管是在Android開發仍是其餘領域,高級程序員必定是勤奮的,能夠快速地掌握大量的新技術、新框架,不只懂得原理,還能把新的技術落地到公司的產品中去。這是衡量程序員工做能力的一個重要標準,那麼怎樣才能將技術運用自如呢?惟有實踐。基於此,我想把本身在平常實踐中的一些經典案例,編著成一本成體系的書,以便爲想要進步的Android程序員增長更多的實戰經驗,這也是編寫本書的核心目的所在。html

編寫本書的另一個目的,是幫助程序員創建產品的思想,對於技術而言,孤立的存在是沒有任何意義的,技術只有與需求相結合,才能具備自身的價值。技術人員在開發的過程當中,要時刻了解所完成的功能能夠爲公司帶來哪些價值,是提高用戶的訪問興趣,仍是提高用戶的使用流暢度,抑或是其餘。當以產品思惟去思考技術的時候,就會有動力、有目的地學習更多有價值的技術,而不是譁衆取寵地學一些「看似有用」的新技術。程序員

除此以外,還有理解架構的本質。一些技術人員常常會問:「爲何要使用架構?這隻會增長額外的代碼量,並且並不會對功能或性能有所提高,只須要完成必要的開發任務便可。」這種想法是很是淺顯的,由於任何一個應用都不是一次成型的,須要不斷地迭代,不斷地擴展,同時須要不斷地修改已有的業務邏輯,這就會涉及系統兼容性的問題。如何修改新的業務邏輯而不影響舊的業務邏輯?如何最大限度地複用已有的業務邏輯?架構就是解決這類問題的鑰匙,一個優秀且合適的項目架構能夠保證系統的穩定性,當開發新的功能或者修改舊的功能時,不至於破壞已有的業務體系。編程

本書的實例都是經典實戰實例,每個例子都表明一類在開發中須要掌握的技巧。本書由淺入深地逐個講解須要掌握的開發理論與實踐,共分爲七部分。網絡

◎ 進階基礎:偏重於源碼的解析和理解,介紹閱讀源碼的技巧,以Activity和View爲例,管中窺豹地分析其中的基礎知識。讀者也可依據此類方法,分析其餘系統組件的源碼。架構

◎ 高階控件:介紹若干複雜的控件佈局,即AppBarLayout、CoordinatorLayout和ConstraintLayout。經過實例,讓讀者理解在複雜控件佈局中子視圖是如何組合和相互關聯的。框架

◎ 項目架構:分析主流架構的設計思想,即Google推薦的MVP和MVVM,還有Facebook的Flux。理解這些架構是如何組織和管理大型項目的,以及它們的優勢和缺點各有哪些。編程語言

◎ 響應式編程:響應式是一種編程思想,在處理網絡請求和功能測試時,基於響應式框架的項目擁有更好的可擴展性和可維護性,響應式編程三劍客即RxJava、Dagger和Retrofit。佈局

◎ 酷炫功能與精美動畫:實現兩個稍複雜的功能,分別是基於第三方控件和基於系統控件的擴展;並實現兩個動畫效果,分別用於頁面展開和頁面切換。對於功能和動畫,不一樣的需求或樣式層出不窮,本部分側重於開發思路的分享。性能

◎ Kotlin與SVG:Kotlin是用於替代Java的高階編程語言,SVG是用於替代PNG格式的圖像技術,本書着重介紹一些基礎概念,提綱挈領,以便於讀者後續進行自主學習。學習

◎ 測試與優化:分享一個主流的自動化測試框架,以及優化內存與電量的一些常見方法。產品的性能與功能一樣重要,應用的高品質也會提高產品的用戶體驗。

這七部分幾乎已經包含高級Android編程的所有內容,本書的每一個部分都會經過多個實例,從不一樣的角度引領讀者親身實戰,真正地掌握高級編程的核心開發技巧。可是,實例的數量終究有限,但願讀者更多地關注於實戰中的開發思想,而不是具體的代碼邏輯,代碼總會不斷地更迭,解決問題的思惟卻歷久彌新。本書中的實例更多的是以點帶面,讀者能夠一邊閱讀和思考,一邊編寫代碼,相信讀完本書,必定受益不淺;同時,經過本書的實例能夠解決一些常見的開發需求。衷心但願每位讀者在閱讀完本書以後,都「不枉此行」!

2018年7月於北京海淀

《高級Android開發強化實戰》京東連接:https://item.jd.com/12385680.html

本書
相關文章
相關標籤/搜索