Google develop day 個人總結
經過兩天 Google Develop Day 之旅,強烈感受到谷歌的奉獻精神,與國內其他大會不同,它更注重開發者和使用者的意見,一直在為開發者提供便捷開發工具和介面的同時,也在為提高互動流暢性和使用者體驗度的道路上努力前進著。我將針對 Google 大會中對於開發者而言比較重要的幾個部分,結合個人看法簡單說明一下大會中的主要內容。
Android JetPack
Google 在本次開發者盛會中,依舊將 Android 作為主要的分享主題,而 Android JetPack 也是作為本次 Android 分會館中比較重要的一部分。正如本次大會介紹的那樣,JetPack 作為 “Android開發加速器”,它是一系列的元件、工具和架構指南。主要從四個方面提升 Android 開發的效率:
- 架構:
- WorkManager:後臺任務執行
- Navigation:頁面之間跳轉
- Paging:資料分頁功能
- Data Binding:資料繫結
- Lifecycles:生命週期處理
- LiveData:資料與UI實時更新
- Room:資料快取
- ViewModel:UI與資料管理
- 行為:
- Slices:簡化互動和操作
- Download Manager:內建下載器
- Media&Playback:多媒體
- Permissions:許可權申請
- Notifications:通知
- Sharing:共享
- 介面:
- Fragment
- Layout
- Palette
- Animation & Translations
- Auto,TV & Wear
- Emoji
- 基礎:
- Kotlin Extensions
- AppCompat
- Multidex
- Test
JetPack也提供了向後相容的特性,能讓較低sdk版本的應用依舊可以享受這些工具元件帶來的便利。
FireBase
什麼是 FireBase?FireBase 是一個雲端資料儲存平臺,可以輕鬆實現資料的實時更新。它旨在輕鬆打造富有吸引力的app,幫助瞭解使用者行為以及診斷和監控 app 的表現,然後根據使用者的操作來定位使用者範圍。

image
- ML Kit 將谷歌機器學習方面的成果帶給移動應用開發者:

image
- 資料分析能力:
通過機器學習,並動態繫結訓練模型,應用不需要升級就可以更新模型。
- 崩潰資訊採集:
可以通過 Crashlytics 提供的 sdk 可以將應用的一些崩潰資訊採集到FireBase上面。
-
更多:
image
Flutter
Flutter 可以媲美原生的互動體驗,相對於 react native 來說,繪製過程省去了一個環節,能夠更加快速的渲染。同時也支援與原生 Android 和 iOS 業務功能的程式碼混編。

image
為什麼使用 Flutter?
- 可自定義的流暢頁面
- 可同時在 Android 和 iOS 裝置上進行原生編譯
- 高效的開發工具,如 hot load(熱過載)
- 響應式程式設計
- 各種快捷實用的外掛(imagepicker,設定濾鏡,社交平臺分享等,比原生更加方便)
ARCore
應用場景:
購物、AR特效、遊戲、社交

image
主要功能:
-
運動跟蹤
ARCore 利用攝像頭影象中的視覺差異特徵並結合裝置中慣性感測器的測量結果,估算裝置的位置和方向。
-
光估測
ARCore 可以檢測其環境光線的相關資訊,並提供給定攝像頭影象的平均光強度和色彩校正,達到能與周圍環境相同的光照來照亮虛擬物體,提高它們的真實感。
-
環境理解
ARCore通過檢測特徵點來檢測平面,並讓這些平面可以由我們的應用來運作平面。
同時,ARCore可以通過雲錨點將錨點和附近特徵點發送至雲端託管,然後可以與其他使用者進行環境共享和互動。
TensorFlow
TensorFlow 是目前世界上最熱門的機器學習類開源框架。它可以讓模型通過不斷的機器學習來產生一套規則,來達到我們預期的效果,進而來處理大量資料,代替人工處理的成本。