阿里巴巴開源的Native開發一整套的解決方案——Tangram

2019-09-30     最美分享Coder

介紹

Tangram不僅僅是一個Native(iOS & Android)的介面開發框架,而是我們從日常工作中沉澱出的一套介面解決方案,涵蓋了Native SDK,GUI操作台,後端邏輯容器,組件庫機制的一整套方案。Tangram從手機天貓 - 首頁方案抽象而來,是面向組件的介面方案,是我們不斷權衡性能、穩定性、開發效率、靈活性和動態性多方面表現的結果。除了手機天貓首頁外,還支撐了天貓App中的天貓直播,我的天貓,猜你喜歡等多個業務,並且在阿里星球等多個阿里系App中有所應用。就如Tangram主頁所說,我們重點關注方案的多平台一致性,高性能和業務支撐能力。



Github

雖然更新不是很頻繁,但是依舊在更新!

安卓端:

https://github.com/alibaba/Tangram-Android


蘋果端:

https://github.com/alibaba/Tangram-iOS


Tangram能做什麼

Tangram提供了流式布局、滾動布局,瀑布流布局,固定布局等數種布局樣式,布局提供樣式參數供調整,布局內部也可填充任意的視圖(View),使Native開發的頁面具備一定的動態性,並提供極致的性能。

  • 性能。提供UI組件復用能力,抽象布局層,保障運行時內存和滑動效率。
  • 可配置化。布局和組件提供基本樣式配置,並提供UI布局的抽象結構,使得布局能夠通過後端接口下發/自解析等方式來操作,提供靈活性。組件提供反射/KVC的方式快速映射業務屬性。
  • 組件化。強制組件封裝,使得View層面能夠復用。
  • 可擴展。開放的接口和分層,可以靈活和其他技術整合。


相關特性

  • 跨平台支持

已有Android&iOS支持,一份數據,多端渲染一致

  • 面向業務

流式布局,瀑布流布局,吸頂,浮標,輪播,內置布局可適應大多數場景,開放的API,易於拓展自己的布局和解析器

  • 高性能

高效的回收復用算法,可定製化的復用粒,適應複雜布局的場景,為絲滑般順暢提供基礎

  • 動態組件

通過 VirtualView,支持自定義 XML 動態創建組件視圖

  • TAC

配套的後端微服務設施,靈活構建 Tangram 業務所需的數據


快速開始

如何使用請參照官方文檔:

  • Android 快速開始
git clone [email protected]:alibaba/Tangram-Android.git

打開 Android Studio -> Open… -> 選擇 Tangram-Android 工程

Gradle 同步

運行 examples



  • iOS快速開始

在終端運行以下命令:

git clone https://github.com/alibaba/Tangram-iOS.git
cd Tangram-iOS/TangramDemo
pod install
open TangramDemo.xcworkspace


Tangram系統內置的應用



總結

Tangram,七巧板,幾塊簡單的積木就能拼出大千世界。我們用Tangram來命名這套介面方案,也是希望他能像七巧板一樣可以通過幾塊積木就搭出豐富多彩的介面。

文章來源: https://twgreatdaily.com/zh-cn/ZApmgG0BMH2_cNUg12-X.html