在編程之余赋焕,有時候我就在想参歹,什么樣的程序員屬于高級程序員呢?或者說隆判,高級程序員有哪些特性呢犬庇?工作年限一定不是一個關(guān)鍵的指標,許多工作多年的程序員依然寫不出優(yōu)雅的程序侨嘀。無論是在Android開發(fā)還是其他領(lǐng)域臭挽,高級程序員一定是勤奮的,可以快速地掌握大量的新技術(shù)咬腕、新框架欢峰,不僅懂得原理,還能把新的技術(shù)落地到公司的產(chǎn)品中去涨共。這是衡量程序員工作能力的一個重要標準纽帖,那么怎樣才能將技術(shù)運用自如呢?唯有實踐举反“弥保基于此,我想把自己在日常實踐中的一些經(jīng)典案例火鼻,編著成一本成體系的書室囊,以便為想要進步的Android程序員增加更多的實戰(zhàn)經(jīng)驗,這也是編寫本書的核心目的所在魁索。
編寫本書的另外一個目的融撞,是幫助程序員建立產(chǎn)品的思想,對于技術(shù)而言粗蔚,孤立的存在是沒有任何意義的尝偎,技術(shù)只有與需求相結(jié)合,才能具有自身的價值支鸡。技術(shù)人員在開發(fā)的過程中冬念,要時刻了解所完成的功能可以為公司帶來哪些價值,是提升用戶的訪問興趣牧挣,還是提升用戶的使用流暢度急前,抑或是其他。當以產(chǎn)品思維去思考技術(shù)的時候瀑构,就會有動力裆针、有目的地學習更多有價值的技術(shù)刨摩,而不是嘩眾取寵地學一些“看似有用”的新技術(shù)。
除此之外世吨,還有理解架構(gòu)的本質(zhì)澡刹。一些技術(shù)人員經(jīng)常會問:“為什么要使用架構(gòu)?這只會增加額外的代碼量耘婚,而且并不會對功能或性能有所提升罢浇,只需要完成必要的開發(fā)任務(wù)即可°宓唬”這種想法是非常淺顯的嚷闭,因為任何一個應(yīng)用都不是一次成型的,需要不斷地迭代赖临,不斷地擴展胞锰,同時需要不斷地修改已有的業(yè)務(wù)邏輯,這就會涉及系統(tǒng)兼容性的問題兢榨。如何修改新的業(yè)務(wù)邏輯而不影響舊的業(yè)務(wù)邏輯嗅榕?如何最大限度地復(fù)用已有的業(yè)務(wù)邏輯?架構(gòu)就是解決這類問題的鑰匙吵聪,一個優(yōu)秀且合適的項目架構(gòu)可以保證系統(tǒng)的穩(wěn)定性凌那,當開發(fā)新的功能或者修改舊的功能時,不至于破壞已有的業(yè)務(wù)體系吟逝。
本書的實例都是經(jīng)典實戰(zhàn)實例案怯,每一個例子都代表一類在開發(fā)中需要掌握的技巧。本書由淺入深地逐個講解需要掌握的開發(fā)理論與實踐澎办,共分為七部分。
◎ 進階基礎(chǔ):偏重于源碼的解析和理解金砍,介紹閱讀源碼的技巧局蚀,以Activity和View為例,管中窺豹地分析其中的基礎(chǔ)知識恕稠。讀者也可依據(jù)此類方法琅绅,分析其他系統(tǒng)組件的源碼。
◎ 高階控件:介紹若干復(fù)雜的控件布局鹅巍,即AppBarLayout千扶、CoordinatorLayout和ConstraintLayout。通過實例骆捧,讓讀者理解在復(fù)雜控件布局中子視圖是如何組合和相互關(guān)聯(lián)的澎羞。
◎ 項目架構(gòu):分析主流架構(gòu)的設(shè)計思想,即Google推薦的MVP和MVVM敛苇,還有Facebook的Flux妆绞。理解這些架構(gòu)是如何組織和管理大型項目的,以及它們的優(yōu)點和缺點各有哪些。
◎ 響應(yīng)式編程:響應(yīng)式是一種編程思想括饶,在處理網(wǎng)絡(luò)請求和功能測試時株茶,基于響應(yīng)式框架的項目擁有更好的可擴展性和可維護性,響應(yīng)式編程三劍客即RxJava图焰、Dagger和Retrofit启盛。
◎ 酷炫功能與精美動畫:實現(xiàn)兩個稍復(fù)雜的功能,分別是基于第三方控件和基于系統(tǒng)控件的擴展技羔;并實現(xiàn)兩個動畫效果僵闯,分別用于頁面展開和頁面切換。對于功能和動畫堕阔,不同的需求或樣式層出不窮棍厂,本部分側(cè)重于開發(fā)思路的分享。
◎ Kotlin與SVG:Kotlin是用于替代Java的高階編程語言超陆,SVG是用于替代PNG格式的圖像技術(shù)牺弹,本書著重介紹一些基礎(chǔ)概念,提綱挈領(lǐng)时呀,以便于讀者后續(xù)進行自主學習张漂。
◎ 測試與優(yōu)化:分享一個主流的自動化測試框架,以及優(yōu)化內(nèi)存與電量的一些常見方法谨娜。產(chǎn)品的性能與功能同樣重要航攒,應(yīng)用的高品質(zhì)也會提升產(chǎn)品的用戶體驗。
這七部分幾乎已經(jīng)包含高級Android編程的全部內(nèi)容趴梢,本書的每個部分都會通過多個實例漠畜,從不同的角度引領(lǐng)讀者親身實戰(zhàn),真正地掌握高級編程的核心開發(fā)技巧坞靶。但是憔狞,實例的數(shù)量終究有限,希望讀者更多地關(guān)注于實戰(zhàn)中的開發(fā)思想彰阴,而不是具體的代碼邏輯瘾敢,代碼總會不斷地更迭,解決問題的思維卻歷久彌新尿这。本書中的實例更多的是以點帶面簇抵,讀者可以一邊閱讀和思考,一邊編寫代碼射众,相信讀完本書碟摆,一定受益匪淺;同時叨橱,通過本書的實例可以解決一些常見的開發(fā)需求焦履。衷心希望每位讀者在閱讀完本書之后拓劝,都“不虛此行”!
2018年7月于北京海淀
《高級Android開發(fā)強化實戰(zhàn)》京東鏈接:https://item.jd.com/12385680.html
簡書的Android目錄:http://www.reibang.com/p/780658b79227