Android 開發有哪些新技術出現?

race604.com發表於2015-07-11

  這裡記錄一下在知乎回答的《Android 開發有哪些新技術出現?》。知乎連結在這裡

  原問題如下:

Android 開發有哪些新技術出現?
可以從UI設計或者一些核心的演算法之類的說起

  這是我回答的原文:

  第一次在知乎回答問題,感覺有些戰戰兢兢,在大神雲集的地方,生怕有些東西說錯,讓大家笑話。 題主提的這個問題,相信很多開發者都有自己的話要說。Android 的發展確實太快了,每年的都有很多新東西出現,想要覆蓋所有新東西感覺也不太可能,我這裡主要說一下主要的 Android 的主要新技術發展,其實瞭解 Android 的發展趨勢,可能對開發者更有幫助。

  開發工具

  1. Android Studio: Google 官方放棄 Eclipse 和 Android Studio 普及。AS 雖然不算新,但是對 Android Studio 這個軟體的更新速度快的驚人,有大量的新功能釋出。例如支援很多註解程式碼提示註解、Live code template、支援自動生成 Parcelable 實現等等,作為開發者,持續關注這個更新列表 Recent Changes,一定會讓你的寫程式碼的生活更加美好。

  程式設計“語言”

  1. Kotlin: 作為 Android 領域的 Swift,絕對讓你如沐新風。拋棄沉重的 Java 語法,Kotlin 融入了很多現代程式語言的思想,作為開發者,接受新的語言,瞭解新語言的發展趨勢,更有利於開闊你的思路和加深對語言的理解。在 Android 開發上,使用 Kotlin 並不會讓你付出什麼代價,為什麼不來試試? 使用Kotlin進行Android開發
  2. React Native: 跨平臺一直是程式設計師的夢想,而且移動應用的跨平臺解決方案也很多,因為 Facebook 的參與和力推,讓這個解決方案帶上了光環。第一個用 React Native 開發的 App 已經在 Google Play 上架 Facebook 廣告管理工具,聽說 Android 的 SDK 也馬上會到來,React Native。
  3. Sky: 與 React Native 類似,使用 Web 開發語言來做移動平臺的開發,雖然這個只是一個嘗試,但是這是 Google 自身推出的,特別是在 Java 語言的使用上敗訴之後,這可能會有一些作為呢,domokit/sky_sdk

  開發模式

  1. Dagger 2:依賴注入並不是什麼新技術,但是使用在 Android 確實一個新的嘗試。Android App 越來越被當成嚴肅的大型專案來構建,很多在以前大型伺服器開發上使用的技術都被應用到了移動開發。Android 開發分模組開發,使用 Dagger 來鬆耦合模組。特別值得一體的是,Dagger 2 現在由 Google 親自接管。 Dagger ‡ A fast dependency injector for Android and Java
  2. MVP:因為 Android 並沒有嚴格的業務和介面區分,專案一複雜,就很容易使程式碼陷入混亂。現在 Android 開發社群對 MVP 模式討論越來越熱,覺得 MVP 是非常適合 Android APP 開發。MVP for Android: how to organize the presentation layer
  3. RxAndroid: 函式響應式程式設計(Functional Reactive Programming)也不是新內容,RxAndroid 把 RxJava 帶到 Android 環境中。很多時候,編寫 Android 程式,你也可以看成是資料的處理和流動,換一種思想程式設計,曾經看起來很棘手的問題,瞬間就很優雅的解決了:ReactiveX/RxAndroid
  4. MVVM:這是因為開始官方支援 DataBinding,把 MVVM 直接帶到 Android 中。資料繫結在 Windows WPF 和 Web 已經非常常見,它非常高效的開發效率,讓你只關心你的資料和業務。這也對 Android 開發來說,無疑是一個非常重大的影響:android UI設計MVVM設計模式討論?
  5. 外掛化:針對大型 Android 專案,很多 App 開始使用外掛來分模組構建相對獨立的功能。
  6. Hybrid:完全使用 HTML 5 開發 App,目前還不成熟。但是折中方案在很多情況下是非常適合的,典型的就是微信,大部分資訊展示都是通過 H5 來完成,同時通過 Hybird 方式,把 Web 和 Native 打通,提供給網頁訪問本地資源的能力。

  UI設計

  1. Material Design:已經紅遍了大江南北,這方面的討論實在太多了,而且各種支援庫都有了,特別是 Google 官方出了一個支援庫 Android Design Support Library。
  2. Sketch 3: 這是一個專為設計移動端 UI 的設計工具,作為開發者,不用懂那麼複雜的 PS 使用,也可以做非常專業設計:https://designcode.io/sketch

  說了這麼,感覺還有很多東西沒有說到,技術的發展是很快,我們可能跟不上每個細節,但是我們會發現這些新技術,很多地方都是相通的。對於開發者,能夠保持對新技術的好奇和興趣時非常難得的,參與到新技術中是技術修養,引領新技術的發展,那就是大神了。

相關文章