阿里 Android 動態界面開發框架 Tangram,是時候瞭解一波了

熟悉阿里出品的vlayout的讀者都知道,vlayout極大地擴展了RecyclerView的LayoutManager,從而爲RecyclerView提供了一組佈局。git

使用該開源項目,可讓咱們在同一個RecyclerView裏處理線性、網格等等各類複雜的佈局。然而,使用vlayout時,一切都須要用Java代碼實現,並且都是寫在客戶端上,一旦須要修改就必須發版,不是很靈活,因而阿里又提出了Tangram,其可使用json來配置佈局,能夠說極大地提高了靈活性。github

Tangram 是阿里出品的用於快速實現組合佈局的框架模型,在手機天貓 Android 及 iOS版普遍使用,以下圖:json

手機天貓框架

Tangram中文翻譯爲七巧板,即該框架提供一系列基本單元佈局,經過快速拼裝就能搭建出一個具有多種佈局的頁面。其提供了流式佈局、滾動佈局,瀑布流佈局,固定佈局等數種佈局樣式,佈局提供樣式參數供調整,佈局內部也可填充任意的視圖(View),使Native開發的頁面具有必定的動態性,並提供極致的性能。工具

官方demo截圖以下:佈局

Tangram包含的特色以下:性能

  • Android iOS 雙平臺支持。
  • 經過 json 建立頁面視圖,並提供了默認的解析器。
  • 可輕鬆實現頁面視圖的回收與複用。
  • 框架提供多種默認的佈局方式。
  • 經過 json 數據或代碼支持自定義佈局樣式。
  • 高性能,基於vlayout。
  • 支持擴展功能模塊。

官方雖然給出了使用文檔,可是不是很適合入門上手,因而我參照官方文檔和各種文章,本身實現了一個demo,並總結成了一篇文章,在這裏分享給你們。學習

Android動態界面開發框架Tangram使用完整教程:
https://blog.csdn.net/u013541...開發工具

在這篇文章裏,你們能夠按照個人思路,來了解一下Tangram的概念、掌握該開源框架的使用步驟,並熟練使用該框架來進行佈局和組件的開發。該文章的目錄截圖以下:spa

經過閱讀上面的文章,你們就會了解到,在 Tangram 體系裏,頁面結構能夠經過配置動態更新。然而,業務組件仍是要經過 Java 代碼實現的,沒法動態更新。

因而,VirtualView 就是爲了解決業務組件的動態更新而生的,它提供了一系列基礎 UI 組件和佈局組件能力,經過 XML 來搭建業務組件,並將 XML 模板編譯成二進制數據,而後主體框架解析二進制數據並渲染出視圖。當 XML 模板數據能動態下發的時候,客戶端上的業務組件視圖也就能動態更新了。

VirtualView 是 Tangram 升級過程當中引入的新的組件開發技術,主要功能包括:

  • 一份模板,兩端支持。
  • 提供基礎的原子控件與容器控件,支持加入自定義組件。
  • 支持一種虛擬化實現控件的協議,在模板裏混合使用虛擬控件和實體控件。
  • 支持在模板裏編寫數據綁定的表達式。
  • 支持在模板裏寫事件觸發的邏輯表達式。
  • 提供配套的開發工具,輔助模板開發工具。

在下面這篇文章,我給你們帶來了如何去使用VirtualView這個開源框架:

Android動態界面開發框架VirtualView使用完整教程
https://blog.csdn.net/u013541...

經過學習該文章,你們能夠:

  • 瞭解 VirtualView 模板數據的格式
  • 瞭解 VirtualView 的基本原理,包括從模板編譯、解析、綁定數據幾個主要流程
  • 瞭解 VirtualView 的基本接入方式,初始化、添加自定義基礎控件、添加與外部的邏輯交互等
  • 瞭解 VirtualView 內置基礎控件的特性,避免重複開發

該文章的目錄截圖以下:

這兩篇文章裏實現的demo已上傳到GitHub上,開源地址連接:https://github.com/jimmysuncp...

熟悉阿里出品的vlayout的讀者都知道,vlayout極大地擴展了RecyclerView的LayoutManager,從而爲RecyclerView提供了一組佈局。

使用該開源項目,可讓咱們在同一個RecyclerView裏處理線性、網格等等各類複雜的佈局。然而,使用vlayout時,一切都須要用Java代碼實現,並且都是寫在客戶端上,一旦須要修改就必須發版,不是很靈活,因而阿里又提出了Tangram,其可使用json來配置佈局,能夠說極大地提高了靈活性。

Tangram 是阿里出品的用於快速實現組合佈局的框架模型,在手機天貓 Android 及 iOS版普遍使用,以下圖:

手機天貓

Tangram中文翻譯爲七巧板,即該框架提供一系列基本單元佈局,經過快速拼裝就能搭建出一個具有多種佈局的頁面。其提供了流式佈局、滾動佈局,瀑布流佈局,固定佈局等數種佈局樣式,佈局提供樣式參數供調整,佈局內部也可填充任意的視圖(View),使Native開發的頁面具有必定的動態性,並提供極致的性能。

官方demo截圖以下:

Tangram包含的特色以下:

  • Android iOS 雙平臺支持。
  • 經過 json 建立頁面視圖,並提供了默認的解析器。
  • 可輕鬆實現頁面視圖的回收與複用。
  • 框架提供多種默認的佈局方式。
  • 經過 json 數據或代碼支持自定義佈局樣式。
  • 高性能,基於vlayout。
  • 支持擴展功能模塊。

官方雖然給出了使用文檔,可是不是很適合入門上手,因而我參照官方文檔和各種文章,本身實現了一個demo,並總結成了一篇文章,在這裏分享給你們。

Android動態界面開發框架Tangram使用完整教程:
https://blog.csdn.net/u013541...

在這篇文章裏,你們能夠按照個人思路,來了解一下Tangram的概念、掌握該開源框架的使用步驟,並熟練使用該框架來進行佈局和組件的開發。該文章的目錄截圖以下:

經過閱讀上面的文章,你們就會了解到,在 Tangram 體系裏,頁面結構能夠經過配置動態更新。然而,業務組件仍是要經過 Java 代碼實現的,沒法動態更新。

因而,VirtualView 就是爲了解決業務組件的動態更新而生的,它提供了一系列基礎 UI 組件和佈局組件能力,經過 XML 來搭建業務組件,並將 XML 模板編譯成二進制數據,而後主體框架解析二進制數據並渲染出視圖。當 XML 模板數據能動態下發的時候,客戶端上的業務組件視圖也就能動態更新了。

VirtualView 是 Tangram 升級過程當中引入的新的組件開發技術,主要功能包括:

  • 一份模板,兩端支持。
  • 提供基礎的原子控件與容器控件,支持加入自定義組件。
  • 支持一種虛擬化實現控件的協議,在模板裏混合使用虛擬控件和實體控件。
  • 支持在模板裏編寫數據綁定的表達式。
  • 支持在模板裏寫事件觸發的邏輯表達式。
  • 提供配套的開發工具,輔助模板開發工具。

在下面這篇文章,我給你們帶來了如何去使用VirtualView這個開源框架:

Android動態界面開發框架VirtualView使用完整教程
https://blog.csdn.net/u013541...

經過學習該文章,你們能夠:

  • 瞭解 VirtualView 模板數據的格式
  • 瞭解 VirtualView 的基本原理,包括從模板編譯、解析、綁定數據幾個主要流程
  • 瞭解 VirtualView 的基本接入方式,初始化、添加自定義基礎控件、添加與外部的邏輯交互等
  • 瞭解 VirtualView 內置基礎控件的特性,避免重複開發

該文章的目錄截圖以下:

這兩篇文章裏實現的demo已上傳到GitHub上,開源地址連接:https://github.com/jimmysuncp...

你們能夠經過個人文章和demo去學習,感謝你們的支持!

相關文章
相關標籤/搜索