【知乎熱點】2015年Android 開發(fā)有哪些新技術出現(xiàn)?
原創(chuàng)Android 的發(fā)展確實太快了,每年的都有很多新東西出現(xiàn),想要覆蓋所有新東西感覺也不太可能,小編在網(wǎng)上整理了一些主要的 Android 新技術發(fā)展,其實了解 Android 的發(fā)展趨勢,可能對開發(fā)者更有幫助。
開發(fā)工具
Android Studio: Google 官方放棄 Eclipse 和 Android Studio 普及。AS 雖然不算新,但是對 Android Studio 這個軟件的更新速度快的驚人,有大量的新功能發(fā)布。例如支持很多注解代碼提示注解、Live code template、支持自動生成 Parcelable 實現(xiàn)等等,作為開發(fā)者,持續(xù)關注這個更新列表 Recent Changes ,一定會讓你的寫代碼的生活更加美好。
編程“語言”
Kotlin: 作為 Android 領域的 Swift,絕對讓你如沐新風。拋棄沉重的 Java 語法,Kotlin 融入了很多現(xiàn)代編程語言的思想,作為開發(fā)者,接受新的語言,了解新語言的發(fā)展趨勢,更有利于開闊你的思路和加深對語言的理解。在 Android 開發(fā)上,使用 Kotlin 并不會讓你付出什么代價,為什么不來試試? 使用Kotlin進行Android開發(fā)。
React Native: 跨平臺一直是程序員的夢想,而且移動應用的跨平臺解決方案也很多,因為 Facebook 的參與和力推,讓這個解決方案帶上了光環(huán)。第一個用 React Native 開發(fā)的 App 已經在 Google Play 上架 Facebook 廣告管理工具,聽說 Android 的 SDK 也馬上會到來,React Native。
Sky: 與 React Native 類似,使用 Web 開發(fā)語言來做移動平臺的開發(fā),雖然這個只是一個嘗試,但是這是 Google 自身推出的,特別是在 Java 語言的使用上敗訴之后,這可能會有一些作為呢,domokit/sky_sdk · GitHub
開發(fā)模式
Dagger 2:依賴注入并不是什么新技術,但是使用在 Android 確實一個新的嘗試。Android App 越來越被當成嚴肅的大型項目來構建,很多在以前大型服務器開發(fā)上使用的技術都被應用到了移動開發(fā)。Android 開發(fā)分模塊開發(fā),使用 Dagger 來松耦合模塊。特別值得一體的是,Dagger 2 現(xiàn)在由 Google 親自接管。 Dagger ‡ A fast dependency injector for Android and Java.
MVP:因為 Android 并沒有嚴格的業(yè)務和界面區(qū)分,項目一復雜,就很容易使代碼陷入混亂?,F(xiàn)在 Android 開發(fā)社區(qū)對 MVP 模式討論越來越熱,覺得 MVP 是非常適合 Android APP 開發(fā)。MVP for Android: how to organize the presentation layer
RxAndroid: 函數(shù)響應式編程(Functional Reactive Programming)也不是新內容,RxAndroid 把 RxJava 帶到 Android 環(huán)境中。很多時候,編寫 Android 程序,你也可以看成是數(shù)據(jù)的處理和流動,換一種思想編程,曾經看起來很棘手的問題,瞬間就很優(yōu)雅的解決了:ReactiveX/RxAndroid · GitHub
MVVM :這是因為開始官方支持 DataBinding,把 MVVM 直接帶到 Android 中。數(shù)據(jù)綁定在 Windows WPF 和 Web 已經非常常見,它非常高效的開發(fā)效率,讓你只關心你的數(shù)據(jù)和業(yè)務。這也對 Android 開發(fā)來說,無疑是一個非常重大的影響:android UI設計MVVM設計模式討論? - M.A.G.I 的回答
插件化:針對大型 Android 項目,很多 App 開始使用插件來分模塊構建相對獨立的功能。
Hybrid:完全使用 HTML 5 開發(fā) App,目前還不成熟。但是折中方案在很多情況下是非常適合的,典型的就是微信,大部分信息展示都是通過 H5 來完成,同時通過 Hybird 方式,把 Web 和 Native 打通,提供給網(wǎng)頁訪問本地資源的能力。
UI設計
Material Design:已經紅遍了大江南北,這方面的討論實在太多了,而且各種支持庫都有了,特別是 Google 官方出了一個支持庫 Android Design Support Library。
Sketch 3: 這是一個專為設計移動端 UI 的設計工具,作為開發(fā)者,不用懂那么復雜的 PS 使用,也可以做非常專業(yè)設計:https://designcode.io/sketch
說了這么,感覺還有很多東西沒有說到,技術的發(fā)展是很快,我們可能跟不上每個細節(jié),但是我們會發(fā)現(xiàn)這些新技術,很多地方都是相通的。對于開發(fā)者,能夠保持對新技術的好奇和興趣時非常難得的,參與到新技術中是技術修養(yǎng),引領新技術的發(fā)展,那就是大神了。
下面小編再為大家介紹幾個獲取Android開發(fā)最新技術動態(tài)的網(wǎng)站:
15年出的新測試框架的介紹:https://docs.google.com/presentation/d/1EtFKPluGiuxZcr4W_cAziEY_--wbY_1otw44XEBv7JA/edit#slide=id.g98a986571_0_269 (What's new in Android Testing Droidcon Italy 2015)
Google 在 Github 上的 demo: googlesamples/android-testing · GitHub
JulienGenoud/android-percent-support-lib-sample · GitHub(Android 官方支持百分比布局了)
開發(fā)技術前線 (Android 項目地址:bboyfeiyu/android-tech-frontier · GitHub - 一個定期翻譯、發(fā)布國內外Android優(yōu)質的技術、開源庫、軟件架構設計、測試等文章的開源項目,讓我們的技術跟上國際步伐。
Reddit Android 開發(fā)節(jié)點: Developing Android Apps 氛圍很好,大神出沒,Android Weekly 的很多東西都可以在這里先看到。
Google + 社群:Android Performance Patterns | Android projects on Github