设计原则

性能与灵活性,在计算资源一定的情况下一定是两个负相关的方面。怎么在当前的技术环境下实现符合我们业务需求的功能是我们真正需要关心的。灵活性,平台通用型,性能,现在的情况下一定是需要我们做trade-off,选择其中的一个点做切入。

Tangram旨在提供运营层面的灵活性和native的极致性能,技术上的切入点放在了目前native开发的界面灵活性的难点和动态方案目前内存和滑动控制的性能瓶颈这块;同时构建了一整套可运营的页面结构化描述,UED/运营/技术能够在这一套结构描述上达成一致,运营的配置应该是能够脱离开发的,而不是强依赖开发,开发的时间可以投入到通用型的支持和产品扩展上。

架构分层

为什么选择这样的切入点,和我们现在业务情况紧密相关。把运营能力真正的开放给运营,这样达到运营的即时性灵活性,能够程序化的东西规范化,方便对接各类系统;产品可以在做跨度时间长的规划;开发能投入更多的时间去做提效做工具,根据长跨度规划做好技术储备,加快开发效率。

如果每次运营都需要开发参与,那么即便在技术上实现了灵活性,也都需要依赖开发,运营的能力依赖开发的进度,开发资源得不到释放,产品的需求也可能被压缩。而且由于每次都是小的改动,技术上也较难积累。

因此,在业务数据和式样上在数据来源系统之间做了分层隔离;后台数据接口和客户端实现之间做了分层,数据结构平台无关,依照约定;而布局结构和组件也做了分层,组件代码和布局代码完全隔离,布局不关心内部组件,组件不关心放置在什么布局中。

这样在各个层次之间,可以做接入其他系统和增加新功能扩展。

布局sdk

在客户端层面,Tangram提供了一套可复用多结构布局的视图sdk。 完全可以替代UITableView/UICollectionView/ListView/RecyclerView/GridView。

运营平台

为满足 Tangram 页面的运营,配套搭建了一个管理后台,后台提供了一整套布局模块配置平台,支持预览, 灰度分用户分平台下发。同时会对接各数据源,做数据和布局的整合一次性下发。

最新的: