Android 日新月異的技術

前言

在日新月異的技術世界里,Android 作為移動端份額最大的操作系統(tǒng)當然是緊緊的占據(jù)著第一線,也為 Java 這門語言注入著新活力

身為幾百萬的 Android 開發(fā)之一棵磷,有必要了解掌握 Android 的最新技術胚鸯。(新技術包括近兩年來非常受歡迎的技術及在未來極具潛力的技術,當前時間2016年9月15日熔任,后續(xù)也會繼續(xù)更新)

Android 版本

  • 2008年9月谷歌正式發(fā)布了 Android 1.0 系統(tǒng)

  • 中間版本略去不提及(Android L 發(fā)布尤其重要褒链,可以說其帶來的新特性尤其是新的設計規(guī)范帶給 Android 新的活力)

  • 2016年 Android 7.0 (Nougat)

雖然飽受碎片化的困擾,但新版本的更新率也在不斷提高

Android N

Android迭代至今已經非常成熟疑苔,是移動端最成功的操作系統(tǒng)之一甫匹,而且保持著一年一次的大版本更新。2016年,Android迎來了以牛軋?zhí)?Nougat 命名的 Android N(7.0) 操作系統(tǒng)兵迅,帶來了數(shù)十項的更新優(yōu)化

包括多窗口支持抢韭、通知功能增強、配置文件指導的 JIT/AOT 編譯恍箭、快速的應用安裝路徑刻恭、瞌睡模式的增強等方面。
Google I/O 2016 上發(fā)布的 Android N 有哪些新特性扯夭?

Android Studio 編譯器

I/O 2013 鳍贾,谷歌推出新的 Android 開發(fā)環(huán)境,基于 IntelliJ IDEA 的 Android Studio交洗,以此來取代 Eclipse骑科,并且不斷更新至今。
在 IDEA 的基礎上构拳,Android Studio 提供了以下一些功能:

  • 基于 Gradle 的構建支持
  • Android 專屬的重構和快速修復
  • 提示工具以捕獲性能咆爽、可用性、版本兼容性等問題
  • 支持 ProGuard 和應用簽名
  • 基于模板的向導來生成常用的 Android 應用設計和組件
  • 功能強大的布局編輯器置森,可以讓你拖拉 UI 控件并進行效果預覽

Android Studio 2.2

I/O 2016 斗埂,谷歌推出了 Android Studio 2.2 預覽版,按照谷歌的說法凫海,本次更新包含了三個方面: speed, smarts, and Android platform support呛凶,言外之意就是更快、更智能盐碱,而且增加了很多有用的功能

  1. Layout Editor 全新的布局編輯器
  2. Constraint Layout 約束布局
  3. Samples Browser 谷歌示例代碼
  4. Instant Run Improvements 改進的Instant Run
  5. Build Cache 編輯緩存
  6. APK Analyzer APK分析
  7. Virtual Sensors in the Android Emulator 支持虛擬傳感器的模擬器
  8. 除以上之外把兔,此次更新還包括對 Java 8 的支持,Jack 編譯器的改進瓮顽,可以調試 GPU县好,改進了對 C++ 的支持等,推出了不少提升 Android 開發(fā)效率的工具暖混,性能上也做了優(yōu)化缕贡。

在2016年9月19日,谷歌推出了 Android Studio 2.2 正式版拣播。Android Studio 2.2 來啦

Android Studio 3.0

Android Support Library

Android Support LIbrary 庫是谷歌為提供不同版本的兼容包和兼容不同形態(tài)設備提出的解決方案晾咪,通過jar包引入,這是安卓開發(fā)者必須了解的內容贮配。比如 v4 Support Libraries 被設計在 Android 2.3 (API level 9) 及其以上系統(tǒng)中使用谍倦,v7 Support Libraries 支持Android 2.1 (API level 7)及其以上版本,Design Support Library 配合 material design 設計等泪勒,最近的兩次大更新:

Support Library 23.2

更新內容包括:提供對 Vector Drawables 和 Animated Vector Drawables 的支持昼蛀,官方的夜間模式宴猾,Design Support Library 中 新增的 Bottom Sheets,RecyclerView的優(yōu)化等
Android Support Library 23.2:特性介紹

Support Library 24.2

更新內容包括:對 v4, v7 Support Libraries 支持范圍?提升至 Android 2.3 (API level 9) 及其以上版本叼旋,并對他們進行了拆分仇哆,使得項目依賴減少
Android Support Library的前世今生

Material Design

質感設計,是由?谷歌推出的全新設計語言夫植,這種設計語言旨在為手機讹剔、平板電腦、臺式機和“其他平臺”提供更一致详民、更廣泛的“外觀和感覺”延欠。雖然距離 Material Design 設計規(guī)范的推出已有兩年多之久,但它的提出足以讓人興奮不已沈跨,這是谷歌拿出的媲美蘋果的扁平化設計衫冻。標志著不欣賞設計,對設計毫無感覺的?谷歌已是昨日
Material Design中文wiki
Materialup-MD設計靈感

語言

React-native 中文網(wǎng)

隨著移動互聯(lián)網(wǎng)的崛起谒出,實現(xiàn)跨平臺開發(fā)一直都是程序員的夢想。目前移動應用的跨平臺解決方案也很多邻奠,而由 Facebook 主導的 React Native 是?最成熟笤喳,最優(yōu)秀的方案之一。
React Native 是一個跨平臺移動 APP 開發(fā)框架碌宴,基于 JavaScript 和 React 之上可以在多平臺上獲得完全一致的開發(fā)體驗杀狡,提高開發(fā)效率。

Kotlin 中文網(wǎng)

Kotlin 是由 JetBrain 在2011年推出的一個運行在JVM上的語言贰镣, 看上去有點類似C#和Scala的結合呜象,并且同為靜態(tài)類型。作為一門JVM上的語言碑隆,可以輕松兼容Java恭陡,并且整個語言設計的非常輕量。
專注于互通上煤,安全休玩,簡潔,工具健全...可以實現(xiàn) Java + Kotlin 的無縫開發(fā)劫狠。
因為是同為 JetBrain 推出拴疤,所以Android Studio對其有非常良好的支持性。
作為 Android 領域的 Swift独泞,絕對讓你如沐新風呐矾。拋棄沉重的 Java 語法,Kotlin 融入了很多現(xiàn)代編程語言的思想懦砂。如果你受夠了 Java 的繁瑣還有時不時出現(xiàn)的空指針錯誤蜒犯,并且對高級函數(shù)式語言心生向往组橄,kotlin絕對值得一試

開發(fā)模式

MVP

普通的 Android 開發(fā)模式可以定義為 MVC 模式,由 Activity 和 Fragment 充當著 Controller 的角色愧薛。
由于 MVC 中 View 和 Model 之間的依賴太強晨炕,導致 Activity 中的代碼過于臃腫。為了他們可以絕對獨立的存在毫炉,慢慢演化出了 MVP瓮栗。在 MVP 中 View 并不直接使用 Model,它們之間的通信是通過 Presenter (MVC 中的 Controller) 來進行的瞄勾。
安卓設計模式示例

MVVM

數(shù)據(jù)綁定在 Windows WPF 和 Web 已經非常常見费奸,它非常高效的開發(fā)效率,讓你只關心你的數(shù)據(jù)和業(yè)務进陡。對于龐大的項目而言有時 MVP 模式也無法滿足簡化系統(tǒng)開發(fā)的復雜度愿阐,MVVM 就顯的更為重要了。
MVVM 可以算是 MVP 的升級版趾疚,將 Presenter 改名為 ViewModel缨历。關鍵在于 View 和 Model 的雙向綁定,當 View 有用戶輸入后糙麦,ViewModel 通知 Model 更新數(shù)據(jù)辛孵,同理 Model 數(shù)據(jù)更新后,ViewModel 通知 View 更新赡磅。
I/O 2015 魄缚,谷歌推出了 Data Binding 庫作為 MVVM 的框架,Model 將會自動更新 View 而無需經過 ViewModel 焚廊,可以最大限度的實現(xiàn) ViewModel(Activity等) 和 View 的解偶冶匹。經過一年的發(fā)展,從Beta到如今比較完善的版本咆瘟,從Android Studio 1.3到如今2.2的支持嚼隘,可以說Data Binding已經是一個可用度較高,也能帶來實際生產力提升的技術了
Data Binding入門篇
Data Binding高級篇

FLUX

Flux模式最大的特點是單向的數(shù)據(jù)流 unidirectional data flow 袒餐,它的 UI 狀態(tài)更新模式繼承了 MVC 模式的設計思想嗓蘑。 Facebook 開源的 React 系列(React.js / React Native)都是基于此模型。
Android Flux中文說明

Retrofit+RxJava

如果說讓我選 2015 年最令人興奮的 Android 技術的話匿乃,我一定會選 Retrofit + RxJava 這對黃金組合桩皿。Retrofit 是一個應用于 Android 的第三方網(wǎng)絡請求庫,擁有方便獨特的接口定義幢炸,網(wǎng)絡工具的高度集成泄隔,豐富完善的接口回調的特點,更重要的一點宛徊,它可以提供 RxJava 的回調接口佛嬉。而 RxJava 是利用可觀察序列和操作符來編寫異步和基于事件的程序逻澳,十分適用于 Android 的線程機制。兩者的結合是一份非常完美的網(wǎng)絡異步請求框架暖呕。當然 RxJava 還有更廣泛的使用場景斜做。
RxJava的使用總結

Dagger2

依賴注入并不是什么新技術,但是使用在 Android 確實一個新的嘗試湾揽。Android App 越來越被當成嚴肅的大型項目來構建瓤逼,很多在以前大型服務器開發(fā)上使用的技術都被應用到了移動開發(fā)。Android 開發(fā)分模塊開發(fā)库物,使用 Dagger 來松耦合模塊霸旗。特別值得一體的是,Dagger 2 現(xiàn)在由 Google 親自接管戚揭。
dagger2

Android熱更新技術

發(fā)布版本的長周期高代價使得Android的熱更新技術處于炙手可熱的狀態(tài)诱告,雖然方案并沒有完全成熟,或多或少都存在些問題民晒,但各大公司都在積極摸索中精居。
QQ空間超級補丁基于DEX分包方案,使用了多DEX加載的原理潜必,微信Tinker基于前者箱蟆,差距在于提出了一個提供DEX差量包,整體替換DEX的方案刮便,阿里百川HotFix基于Andfix,美團Robust原理類似于Instant Run绽慈。
Android熱修復技術選型——三大流派解析
Android熱更新方案Robust

參考來源

知乎: Android 開發(fā)有哪些新技術出現(xiàn)恨旱?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市坝疼,隨后出現(xiàn)的幾起案子搜贤,更是在濱河造成了極大的恐慌,老刑警劉巖钝凶,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仪芒,死亡現(xiàn)場離奇詭異,居然都是意外死亡耕陷,警方通過查閱死者的電腦和手機掂名,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哟沫,“玉大人饺蔑,你說我怎么就攤上這事∈染鳎” “怎么了猾警?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵孔祸,是天一觀的道長。 經常有香客問我发皿,道長崔慧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任穴墅,我火速辦了婚禮惶室,結果婚禮上,老公的妹妹穿的比我還像新娘封救。我一直安慰自己拇涤,他們只是感情好,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布誉结。 她就那樣靜靜地躺著鹅士,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惩坑。 梳的紋絲不亂的頭發(fā)上掉盅,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音以舒,去河邊找鬼趾痘。 笑死,一個胖子當著我的面吹牛蔓钟,可吹牛的內容都是我干的永票。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼滥沫,長吁一口氣:“原來是場噩夢啊……” “哼侣集!你這毒婦竟也來了?” 一聲冷哼從身側響起兰绣,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤世分,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缀辩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體臭埋,經...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年臀玄,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓢阴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡健无,死狀恐怖炫掐,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情睬涧,我是刑警寧澤募胃,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布旗唁,位于F島的核電站痹束,受9級特大地震影響,放射性物質發(fā)生泄漏祷嘶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一论巍、第九天 我趴在偏房一處隱蔽的房頂上張望烛谊。 院中可真熱鬧,春花似錦嘉汰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽密似。三九已至焙矛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間残腌,已是汗流浹背村斟。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工抛猫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人邑滨。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓掖看,卻偏偏與公主長得像,于是被迫代替她去往敵國和親哎壳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內容