歡迎光臨
每天分享高質量文章

2017 年 Android 領域大事件回顧

來自:開源中國

連結:oschina.net/translate/2017-year-in-a-review-android

原文:https://proandroiddev.com/2017-year-in-a-review-android-5f2cd8738790


2017 對於 Android 來說是了不起的一年。在這一年中,Android 釋出了很多重大的公告,包括支援 Kotlin 這一領人振奮的新語言,以及使用 Neural 網路 API 和 ARCore 構建智慧互動式應用等。


讓我們以 Android 開發者的視角來快速回顧一下 2017 年中所有值得註意的 Android 公告。



Kotlin  —  有趣的新語言


Android 開發者早就已經對 Java 語言樣板化的程式碼厭倦了,而幾年之前,少有公司和開發者會去尋找其它可供構建 Android 應用的選擇,直到他們遇上了 Kotlin。

自此這種富有魅力的語言就不斷地開疆擴土,很快在5月17日 Google 就宣佈了 Kotlin 為 Android 開發的官方語言。


至於後面發生了什麼,地球人都知道 😉 Kotlin 萬歲!


有趣的事實: Android Studio 3.0 中有超過 17% 的專案使用的是 Kotlin

Kotlin 語言風格指南


隨著 Kotlin 的發展漸成燎原之勢,JetBrains 的 Google 和 Kotlin 團隊釋出了包含了在使用 Kotlin 構建 Android 應用時可以遵循的一系列規則。


  • 在 Android 上開發 Kotlin 程式碼的官方指南


Android 架構元件



之前,Google 從來都沒有就哪種架構適合用來構建 Android 應用發表觀點,或者給出推薦做法。


不過在 2017 年他們終於決定用《架構元件與指南》來告訴大家他們推薦使用什麼架構。


 架構指南


《架構指南》是一系列的指導意見,定義可以來構建穩定,可維護和測試的 Android 應用的實際架構和最佳實踐。


架構元件


架構元件是一堆被設計用來幫助我們遵循架構指南構建應用的庫。這些庫是模組化的,因此並沒有必要把它們都使用起來。


它們是在 17 年的 Google I/O 大會上推出的,已經趨於穩定,因此如果你已經沒有入手,現在就是入手的好時機了。


我已經纂寫了一個系列的文章來解釋架構元件,還有一個使用了它們的示例應用。

  • Android 架構元件

談話影片:


  • 探索 Android 架構元件


免責宣告: 這一個影片是由我來錄的。Google 的那個你如果想要的話,可以自己找找。


示例應用:


  • AkshayChordiya/android-arch-news-sample

有趣的事實: 還有更多的庫 (它們都將會稱為架構元件的一部分) 很快就會有了。


Android Oreo  —  最甜的 Android




2017 年我們可以從 Android Oreo 獲得許多的功能特性。Oreo 設定了一個持續執行並消耗記憶體後臺服務。


那有什麼新東西呢?


  • 後臺限制(Background Limit)

  • 通知頻道(Notification Channel)

  • 自動填充 API(Auto-fill API)

  • 畫中畫(Picture-in-picture)

  • 自適應圖示(Adaptive icons)

  • 字型(Fonts)和可下載字型(downloadable fonts)

  • 自動調整大小的 TextView(Auto-sizing TextView)


你可以從如下地址瞭解到更多有關的 API 變化:


  • Android 8.0 功能特性和 API | Android Developers


Android Studio 3.0


Android Studio 3.0 釋出了許多新功能,像是對 Kotlin 的支援, 新的應用模擬工具套件對開發者更加友好,而且可以幫助快速地修複效能問題。


重要的提升:


  • 更加快速

  • 支援 Kotlin

  • 新的應用模擬工具

  • APK 分析器(APK Analyzer)

  • 支援開發中應用實時執行(Instant app)

  • 支援 Android things

  • 自適應圖示,可下載字型已經更多新功能


從下麵的地址你還可以瞭解到更多:

  • Android Studio 3.0

儘管 Android Studio 3.0 已趨於穩定,不過此外的 Android Studio 3.1 已經在試用頻道釋出了,而它帶來了更多的像是新的 DEX 編譯器這樣的魔性技術。


實時執行應用(Instant App) — 無需安裝即可執行


Android 實時執行應用是一種無需安裝就能執行 Android 應用的新方法。它是一種讓使用者使用 Android 應用的全新方式。


Instant apps 是藉助一個 URL 來觸發的,無需安裝就會開啟一個應用。這像技術是透過將應用分解成功能然後讓每一項功能對映到 URL 來實現的,當 Google Play 接收到對特定 URL 的請求時,就會去獲取到應用的那個功能的程式碼,再去執行這個應用。


對一個實時執行應用進行解析


實時執行應用是由多個基於一個基礎功能的功能組合而成的 ——  基礎功能包含了所有功能的通用邏輯。



開發實時執行應用可以幫助我們依據應用的功能特性讓專案模組化(如果不是已經模組化的話),也能幫助我們裁減 APK 的大小。


開始構建你的實時執行應用的不錯的方法:

  • Android Instant Apps | Android Developers


Project Treble


Android 版本的碎片化是 Android 生態系統最大的問題之一。終端收到最新的 Android 更新要等上好多個月,而大多數終端甚至都不會收到更新。


有了 Project Treble,Android OS 架構被重新設計,製造商可以更輕鬆且更快速地將終端更新上新版本的 Android,而且代價也更少。


現在有了 Treble,終端製造商只需要將 Android OS 框架更新到最新就可以了,而無需擔憂供應商的實現會導致延遲更新。



Project Treble 要展現其神力尚需時日。我真心希望它能發揚光大,然後徹底解決調 Android 碎片化的問題。


  • Treble 來了: 為 Android 準備的模組化基礎

有趣的事實: Google Pixel 2 在推出時承諾將持續更新 Android OS 三年。這其實是 Project Treble 將會給 Android 碎片化問題帶來轉機的很好證明。


Android Go —為入門級終端提供強大體驗


Android Go 是 Google 推出的一項舉措,旨在為全球數十億的線上使用者最佳化 Android 的使用體驗。


它是 Android 的一個最佳化版本,被設定用來在入門級也能很好的執行。


Android Go 起步於 Android 8.1 也就是 Android Oreo (Go 版) ,而它進行瞭如下配置:


  • 記憶體最佳化: 根據平臺來提升記憶體的使用,以確保應用能在只有 1GB 或者更小 RAM 的終端上高效執行。

  • Google Play: Google Play 商店將會對那些使用《為數十億使用者構建應用指南》進行了最佳化,以為數十億人提供良好體驗的應用進行推薦並且給予更多的可見性。也就是說其它的應用將可以從商店看到並且進行安裝。


功能特性


  • Android Go 裝置將可以有兩倍甚至更多儲存應用;

  • 它們會與 Google 應用的 “Go 版”一起執行。

  • 應用平均會快上 15%


Android Go 是 Solve for India 小組於十二月份釋出的,而部署了 Android Go 的裝置將會在 2018 到來:


  • 介紹跟隨 Android 8.1 一起釋出的的 Android Oreo (Go 版)

ARCore



2017 年增強現實技術(AR)隨著 ARCore 來到 Android 中,ARCore 已成為在 Android 上構建增強現實應用程式的平臺。


它被設計工作於執行 Android 7.1 (Nougat)及以上版本的 Android 裝置中,但現在因為它處於開發者預覽階段,所以只支援 Pixel 和一些三星的裝置。


它支援三種開發環境:


1、JAVA

2、Unity

3、Unreal


而且可能還有更多的渠道(指開發環境),你可以使用它們中的任一個(環境)構建你的 ARCore 應用。


它仍然在開發者預覽版中,現在是折騰它的好時機。


去吧,開始折騰 AR 玩吧。


  • ARCore – Google Developer | ARCore | Google Developers

谷歌 Pixel 2 的 AR Stickers 就是 Android ARCore 的一個例子。


Neural Net API


Android 神經網路 API 是一種 Android C API ,旨在執行計算密集型操作的裝置級的機器學習。


它為像 TensorFlow Lite 等更高階別的機器學習框架提供了一個基礎抽象層。可在支援的裝置上進行硬體加速推理操作,以快速執行先前訓練過的機器學習模型。


它將主要輔助:


  • 降低網路成本和延遲

  • 提供隱私


它在 Android 8.1(奧利奧)及以上版本上可用。


閱讀更多:

  • Neural Networks API | Android Developers


TensorFlow Lite


機器學習正在興起,TensorFlow 是 GitHub 上機器學習和深度學習的頂級開源框架之一。


TensorFlow Lite 是 TensorFlow 專門針對移動裝置的最佳化版本


這是為移動和嵌入式裝置提供的輕量級解決方案。它能夠實現具有低延遲和小二進位制大小的裝置上的機器學習推理。它還支援 Android 8.1 中引入的新的 Android Neural Networks API 的硬體加速。


特性


  • 輕量級: 能夠實現具有小二進位制大小和快速初始化/啟動的裝置上機器學習模型。

  • 跨平臺: 被設計成可在 Android 和 iOS 上執行。

  • 快速: 有多個針對移動裝置的最佳化,包括顯著改善的模型載入時間,並支援硬體加速。


更多閱讀:

  • TensorFlow Lite 簡介 | TensorFlow


總結


我覺得有那麼多令人驚異的公告的  2017 年,是 Android 最激動人心的一年。使用 Kotlin 和架構元件—指南,谷歌正讓 Android 開發者的生活變得輕鬆。


Android Oreo 的釋出使 Android 更快,更安全,更貼心。並且試圖用 Project Treble 來解決碎片的問題和推出 Android Go 用於入門級的裝置。


在新的神經網路 API 和 ARCore 的幫助下,透過將機器學習和增強現實技術引入 Android ,使裝置更加智慧和有趣。


簡而言之,我看到了 Android、Kotlin 和 Android 開發者們的一個非常明亮的未來,我覺得將會有更多讓人興奮的事情出現在 2018 年。


關於作者:


Akshay Chordiya — Android 愛好者,caster.io(一個教育網站)的老師。《Kotlin Blueprints book》的合著者,谷歌認證的 Android 開發者。


●本文編號280,以後想閱讀這篇文章直接輸入280即可

●輸入m獲取文章目錄

推薦↓↓↓

 

Java程式設計

更多推薦18個技術類微信公眾號

涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

贊(0)

分享創造快樂