介绍

Tangram不仅仅是一个Native(iOS & Android)的界面开发框架,而是我们从日常工作中沉淀出的一套界面解决方案,涵盖了Native SDK,GUI操作台,后端逻辑容器,组件库机制的一整套方案。Tangram从手机天猫 - 首页方案抽象而来,是面向组件的界面方案,是我们不断权衡性能、稳定性、开发效率、灵活性和动态性多方面表现的结果。除了手机天猫首页外,还支撑了天猫App中的天猫直播,我的天猫,猜你喜欢等多个业务,并且在阿里星球等多个阿里系App中有所应用。就如Tangram主页所说,我们重点关注方案的多平台一致性,高性能和业务支撑能力。


阿里开源的开发工具(阿里巴巴开源的Native开发一整套的解决方案)(1)


Github

虽然更新不是很频繁,但是依旧在更新!

安卓端:

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


苹果端:

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


Tangram能做什么

Tangram提供了流式布局、滚动布局,瀑布流布局,固定布局等数种布局样式,布局提供样式参数供调整,布局内部也可填充任意的视图(View),使Native开发的页面具备一定的动态性,并提供极致的性能。

  • 性能。提供UI组件复用能力,抽象布局层,保障运行时内存和滑动效率。
  • 可配置化。布局和组件提供基本样式配置,并提供UI布局的抽象结构,使得布局能够通过后端接口下发/自解析等方式来操作,提供灵活性。组件提供反射/KVC的方式快速映射业务属性。
  • 组件化。强制组件封装,使得View层面能够复用。
  • 可扩展。开放的接口和分层,可以灵活和其他技术整合。

阿里开源的开发工具(阿里巴巴开源的Native开发一整套的解决方案)(2)


相关特性
  • 跨平台支持

已有Android&iOS支持,一份数据,多端渲染一致

  • 面向业务

流式布局,瀑布流布局,吸顶,浮标,轮播,内置布局可适应大多数场景,开放的API,易于拓展自己的布局和解析器

  • 高性能

高效的回收复用算法,可定制化的复用粒,适应复杂布局的场景,为丝滑般顺畅提供基础

  • 动态组件

通过 VirtualView,支持自定义 XML 动态创建组件视图

  • TAC

配套的后端微服务设施,灵活构建 Tangram 业务所需的数据


快速开始

如何使用请参照官方文档:

  • Android 快速开始

git clone git@github.com:alibaba/Tangram-Android.git

打开 Android Studio -> Open… -> 选择 Tangram-Android 工程

Gradle 同步

运行 examples


阿里开源的开发工具(阿里巴巴开源的Native开发一整套的解决方案)(3)


  • iOS快速开始

在终端运行以下命令:

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


阿里开源的开发工具(阿里巴巴开源的Native开发一整套的解决方案)(4)


Tangram系统内置的应用

阿里开源的开发工具(阿里巴巴开源的Native开发一整套的解决方案)(5)


总结

Tangram,七巧板,几块简单的积木就能拼出大千世界。我们用Tangram来命名这套界面方案,也是希望他能像七巧板一样可以通过几块积木就搭出丰富多彩的界面。

,