Android 開發有哪些新技術出現?
2016-02-03 17:04:57 來源: mengyidan1988 評論:0 點擊:
作為一個程序員,應該養成持續學習的能力,隨時關注新技術,有時候做起事來會讓你事半功倍的效果。之前在知乎上看到下面這個問題,覺得很受用,所有就總結了大牛們的回答,也跟著大牛們的腳步,看看有哪些新技術,也跟著學習學習,漲漲見識。 引用本文參考@Android 筆記在知乎的回答: Android 開發有哪些新技術出現? https: www zhihu com question 32037895 And
作為一個程序員,應該養成持續學習的能力,隨時關注新技術,有時候做起事來會讓你事半功倍的效果。之前在知乎上看到下面這個問題,覺得很受用,所有就總結了大牛們的回答,也跟著大牛們的腳步,看看有哪些新技術,也跟著學習學習,漲漲見識。
Android Studio
Android Studio 是Google 官方推出的全新的Android 開發的IDE,自2013 年發布,目前最新穩定版是1.5。
目前Google 官方放棄 Eclipse 的支持,加上Android Studio 普及。AS 雖然不算新,但是對 Android Studio 這個軟件的更新速度快的驚人,有大量的新功能發布。
例如支持很多注解代碼提示注解、Live Code Template、支持自動生成 Parcelable 實現等等,作為開發者,持續關注這個更新列表:tools.android.com/recent,一定會讓你的寫代碼的生活更加美好。
而且Android 1.0 之后大量的新特性,讓我們的開發更便捷,比如Vector Asset,Theme Editor,Gradle 編譯速度大幅提升,Android Studio 2.0 的Install Run 實現的實時運行功能。
Material Design 設計
Android 4.0 的Android Design 留下了詬病,也讓Google 下定了決心,在5.0 推出了Material Design 全平臺設計語言。它對于每一個點擊,每一次滑動都有設計規范。對于設計師和程序員都是值得一看的。
Design 設計支持庫
如果說Material Design 是設計師看的(其實程序員也應該看)。那么的Design 設計支持庫,也使得Material Design 設計在Android 中也慢慢實現了。也讓沒有設計感的程序員也可以制作出驚艷的App。比如Navigation View(側滑欄),Floating Action Button(懸浮按鈕),Snackbar,TabLayout,CoordinatorLayout,App Bar,nestedscrollview。
Sketch 3
這是一個專為設計移動端 UI 的設計工具,作為開發者,不用懂那么復雜的 PS 使用,也可以做非常專業設計:https://designcode.io/sketch
RecyclerView
RecyclerView的幾大特性:
RecyclerView 對于不同類型可以很容易添加。現在很多App 的首頁很復雜的內容,樣式不一樣,使用RecyclerView 很容易解決,還有底部加載更多也很容易實現。
Kotlin
作為 Android 領域的 Swift,絕對讓你如沐新風。拋棄沉重的 Java 語法,Kotlin 融入了很多現代編程語言的思想,作為開發者,接受新的語言,了解新語言的發展趨勢,更有利于開闊你的思路和加深對語言的理解。在 Android 開發上,使用 Kotlin 并不會讓你付出什么代價,為什么不來試試?
Fresco
Fresco是Facebook最新推出的一款用于Android應用中展示圖片的強大圖片庫,可以從網絡、本地存儲和本地資源中加載圖片。其中的Drawees可以顯示占位符,直到圖片加載完成。而當圖片從屏幕上消失時,會自動釋放內存。
React Native
React Native 結合了 Web 應用和 Native 應用的優勢,可以使用 JavaScript 來開發 iOS 和 Android 原生應用。在 JavaScript 中用 React 抽象操作系統原生的 UI 組件,代替 DOM 元素來渲染等。
跨平臺一直是程序員的夢想,而且移動應用的跨平臺解決方案也很多,因為 Facebook 的參與和力推,讓這個解決方案帶上了光環。第一個用 React Native 開發的 App 已經在 Google Play 上架 Facebook 廣告管理工具,目前iOS 和Android 版本都已發布,最新版為0.5。
Dagger 2
Dagger 2 是Google 主導開發的依賴注入框架,它是基于Dagger 1(由Square 主導開發),利用生成和寫的代碼混合達到看似所有的產生和提供依賴的代碼都是手寫的樣子,極大減少了使用者的編碼負擔,也更便于調試,Google 聲稱提高了13 % 的性能。
MVP
我們都知道MVC 模式,MVP 就是基于MVC 的模式上的一個演化版本。在MVC模式中,Activity應該是屬于View這一層。而實質上,它既承擔了View,同時也包含一些Controller的東西在里面。隨著項目的迭代更新,這對開發很不友好,耦合度也原來越高,項目越來越難維護,而MVP 就是解決這樣的痛點。把Activity的View和Controller抽離出來就變成了View和Presenter。
DataBinding MVVM
DataBinding 即數據綁定,在前端的框架有很廣泛的使用,比如像AngularJS,就支持雙向綁定。
所謂MVVM,像Activity,Fragment,View 都屬于View 這一層;Model層主要負責數據相關部分,可以從數據庫或者網絡獲取;ViewModel主要是把Model轉換為View 可以呈現的東西,例如把一個Date 類型轉化為格式化后的String,也就是將前面兩者聯系在一起的對象,
在Data Binding 支持下,會根據layout 文件名自動生成一個相對應的Binding(比如activity_main,對應生成MainActivityDataBinding 對象),數據綁定在Layout文件中XML標注。
在Google I/O 2015上,伴隨著Android M預覽版發布的Data Binding 兼容函數庫改變了這一切。而在Android Studio 2.5 的預覽版,Data Binding 在XML 中也終于有了代碼提示功能。
RxJava/RxAndroid
RxJava一個在 Java VM 上使用可觀測的序列來組成異步的、基于事件的程序的庫。用簡單的一個詞來介紹就是“異步”。
它提供了基于Observable(觀察者) 序列實現的異步調用及基于事件編程。
它擴展了觀察者模式,支持數據、事件序列并允許你合并序列,無需關心底層的線程處理、同步、線程安全、并發數據結構和非阻塞I/O處理。
它支持Java5 及更高版本,并支持其他一些基于JVM的語言,如Groovy、Clojure和Scala。而且他能和Retrofit 更好的結合使用,也有相對應的RxBus 等框架結合。
Espresso 2.0
近些年,隨著Android社區的成熟,出現了諸如Robotium,Robolectric等的優秀測試框架。而Google也在近期推出了自己的UI測試框架Espresso。
Espresso 是一個提供了簡單 API 的用于 Android App UI 測試的測試框架。最新的 2.0 版本發布后已經可以在 Android Support Repository 中下載了,那么在項目中集成它就方便多了。它的API 很小,對外擴張開放,測試跑起來那是相當的快,對Gradle 和Android Studio 支持。
Baas
Baas又稱mBaas,全稱叫Backend as a Service(后端作為一種服務), 怎么說呢,為移動應用開發者提供后端服務;作為一個移動應用開發者(Android & iPhone),除了開發應用程序,還要做后臺的服務器端,當然,大多移動應用開發者并非都懂后端開發, 這讓一個應用應用開發者開發一款應用不容易,然而有了Baas,開發者就可以不用管后端開發了,Baas 提供商,提供了我們最常用的功能,比如數據存儲,應用分析,IM 等功能,讓開發者把主要精力放在應用本身,大大提高了效率。
當然也不一定是移動應用開發者,當然也可以Web 開發,當初Baas 主要是為了解決移動應用開發者的后端服務問題,Baas 也提供其他的服務;國外類似Parse,Firebase,國內像LeanCloud 都是提供這樣的服務。
App Indexing
我們都知道網頁是一個一個超鏈接相連的,然而在移動互聯網時代,每個App 里的數據就想信息孤島,App Indexing 就是要打破這樣的尷尬,只要你在App 實現App Indexing 功能,你的App 里的數據,就會出現在Google 的搜索結果中,尤其是出海的App,這個功能尤其重要,據說Google 打算實現在網頁中直接安裝App。
本文轉自:Tikitoo Blog
引用
Android Studio
Android Studio 是Google 官方推出的全新的Android 開發的IDE,自2013 年發布,目前最新穩定版是1.5。
目前Google 官方放棄 Eclipse 的支持,加上Android Studio 普及。AS 雖然不算新,但是對 Android Studio 這個軟件的更新速度快的驚人,有大量的新功能發布。
例如支持很多注解代碼提示注解、Live Code Template、支持自動生成 Parcelable 實現等等,作為開發者,持續關注這個更新列表:tools.android.com/recent,一定會讓你的寫代碼的生活更加美好。
而且Android 1.0 之后大量的新特性,讓我們的開發更便捷,比如Vector Asset,Theme Editor,Gradle 編譯速度大幅提升,Android Studio 2.0 的Install Run 實現的實時運行功能。
Material Design 設計
Android 4.0 的Android Design 留下了詬病,也讓Google 下定了決心,在5.0 推出了Material Design 全平臺設計語言。它對于每一個點擊,每一次滑動都有設計規范。對于設計師和程序員都是值得一看的。
引用
Material Design 設計規范:https://design.google.com/
Design 設計支持庫
如果說Material Design 是設計師看的(其實程序員也應該看)。那么的Design 設計支持庫,也使得Material Design 設計在Android 中也慢慢實現了。也讓沒有設計感的程序員也可以制作出驚艷的App。比如Navigation View(側滑欄),Floating Action Button(懸浮按鈕),Snackbar,TabLayout,CoordinatorLayout,App Bar,nestedscrollview。
引用
Sketch 3
這是一個專為設計移動端 UI 的設計工具,作為開發者,不用懂那么復雜的 PS 使用,也可以做非常專業設計:https://designcode.io/sketch
RecyclerView
RecyclerView的幾大特性:
- ViewHolder 模式:在ListView 中需要手動添加ViewHolder 模式,而且不會重用之前的View,RecyclerView默認實現了重用,讓繪制View 更加高效。
- LayoutManager :設置布局,就可以實現單列表,GridView,瀑布流的效果。
- Item Decoration:自定義各種分割線
- Item Animator:設置各種炫酷增刪動畫
RecyclerView 對于不同類型可以很容易添加。現在很多App 的首頁很復雜的內容,樣式不一樣,使用RecyclerView 很容易解決,還有底部加載更多也很容易實現。
Kotlin
作為 Android 領域的 Swift,絕對讓你如沐新風。拋棄沉重的 Java 語法,Kotlin 融入了很多現代編程語言的思想,作為開發者,接受新的語言,了解新語言的發展趨勢,更有利于開闊你的思路和加深對語言的理解。在 Android 開發上,使用 Kotlin 并不會讓你付出什么代價,為什么不來試試?
Fresco
Fresco是Facebook最新推出的一款用于Android應用中展示圖片的強大圖片庫,可以從網絡、本地存儲和本地資源中加載圖片。其中的Drawees可以顯示占位符,直到圖片加載完成。而當圖片從屏幕上消失時,會自動釋放內存。
React Native
React Native 結合了 Web 應用和 Native 應用的優勢,可以使用 JavaScript 來開發 iOS 和 Android 原生應用。在 JavaScript 中用 React 抽象操作系統原生的 UI 組件,代替 DOM 元素來渲染等。
跨平臺一直是程序員的夢想,而且移動應用的跨平臺解決方案也很多,因為 Facebook 的參與和力推,讓這個解決方案帶上了光環。第一個用 React Native 開發的 App 已經在 Google Play 上架 Facebook 廣告管理工具,目前iOS 和Android 版本都已發布,最新版為0.5。
Dagger 2
Dagger 2 是Google 主導開發的依賴注入框架,它是基于Dagger 1(由Square 主導開發),利用生成和寫的代碼混合達到看似所有的產生和提供依賴的代碼都是手寫的樣子,極大減少了使用者的編碼負擔,也更便于調試,Google 聲稱提高了13 % 的性能。
MVP
我們都知道MVC 模式,MVP 就是基于MVC 的模式上的一個演化版本。在MVC模式中,Activity應該是屬于View這一層。而實質上,它既承擔了View,同時也包含一些Controller的東西在里面。隨著項目的迭代更新,這對開發很不友好,耦合度也原來越高,項目越來越難維護,而MVP 就是解決這樣的痛點。把Activity的View和Controller抽離出來就變成了View和Presenter。
DataBinding MVVM
DataBinding 即數據綁定,在前端的框架有很廣泛的使用,比如像AngularJS,就支持雙向綁定。
所謂MVVM,像Activity,Fragment,View 都屬于View 這一層;Model層主要負責數據相關部分,可以從數據庫或者網絡獲取;ViewModel主要是把Model轉換為View 可以呈現的東西,例如把一個Date 類型轉化為格式化后的String,也就是將前面兩者聯系在一起的對象,
在Data Binding 支持下,會根據layout 文件名自動生成一個相對應的Binding(比如activity_main,對應生成MainActivityDataBinding 對象),數據綁定在Layout文件中XML標注。
在Google I/O 2015上,伴隨著Android M預覽版發布的Data Binding 兼容函數庫改變了這一切。而在Android Studio 2.5 的預覽版,Data Binding 在XML 中也終于有了代碼提示功能。
RxJava/RxAndroid
RxJava一個在 Java VM 上使用可觀測的序列來組成異步的、基于事件的程序的庫。用簡單的一個詞來介紹就是“異步”。
它提供了基于Observable(觀察者) 序列實現的異步調用及基于事件編程。
它擴展了觀察者模式,支持數據、事件序列并允許你合并序列,無需關心底層的線程處理、同步、線程安全、并發數據結構和非阻塞I/O處理。
它支持Java5 及更高版本,并支持其他一些基于JVM的語言,如Groovy、Clojure和Scala。而且他能和Retrofit 更好的結合使用,也有相對應的RxBus 等框架結合。
Espresso 2.0
近些年,隨著Android社區的成熟,出現了諸如Robotium,Robolectric等的優秀測試框架。而Google也在近期推出了自己的UI測試框架Espresso。
Espresso 是一個提供了簡單 API 的用于 Android App UI 測試的測試框架。最新的 2.0 版本發布后已經可以在 Android Support Repository 中下載了,那么在項目中集成它就方便多了。它的API 很小,對外擴張開放,測試跑起來那是相當的快,對Gradle 和Android Studio 支持。
Baas
Baas又稱mBaas,全稱叫Backend as a Service(后端作為一種服務), 怎么說呢,為移動應用開發者提供后端服務;作為一個移動應用開發者(Android & iPhone),除了開發應用程序,還要做后臺的服務器端,當然,大多移動應用開發者并非都懂后端開發, 這讓一個應用應用開發者開發一款應用不容易,然而有了Baas,開發者就可以不用管后端開發了,Baas 提供商,提供了我們最常用的功能,比如數據存儲,應用分析,IM 等功能,讓開發者把主要精力放在應用本身,大大提高了效率。
當然也不一定是移動應用開發者,當然也可以Web 開發,當初Baas 主要是為了解決移動應用開發者的后端服務問題,Baas 也提供其他的服務;國外類似Parse,Firebase,國內像LeanCloud 都是提供這樣的服務。
App Indexing
我們都知道網頁是一個一個超鏈接相連的,然而在移動互聯網時代,每個App 里的數據就想信息孤島,App Indexing 就是要打破這樣的尷尬,只要你在App 實現App Indexing 功能,你的App 里的數據,就會出現在Google 的搜索結果中,尤其是出海的App,這個功能尤其重要,據說Google 打算實現在網頁中直接安裝App。
本文轉自:Tikitoo Blog
相關熱詞搜索:android Baas AndroidStudio mobile 移動開發
上一篇:史上最大機器學習數據集,雅虎對外開放了
下一篇:一些因愚蠢而成名的代碼
分享到:
收藏
