Tangram 移動端框架介紹點擊打開鏈接
項目背景
公司app首頁需要完全做到可配置組合提高運營可維護性,由移動端選擇了Tangram作爲卡片佈局框架。此框架有最大的一個好處是,同一份JSON格式數據渲染出來的界面安卓和IOS風格一直,對於後端來說只需要把相應的卡片根據業務需求,組裝好JSON返回給移動端,移動端就能渲染出卡片界面。運營可以隨時的組合卡片成不同的形狀達到首頁定製化。因爲涉及到商業保密,所以此文章只講解在項目中數據組裝、存儲、返回的邏輯。有興趣的同學可以下載【構家app】查詢首頁效果
功能說明
- 支持自定義卡片模板(規則、不規則)
- 支持卡片項目維護
- 支持卡片排序調整
- 支持定時、手動啓用停用
- 支持發佈(立即生效)
技術棧
以SSM框架爲基礎,使用ES搜索引擎作爲首頁數據持久化,使用阿里RocketMQ消息隊列通知QuartZ定時器加入定時任務執行上下架卡片(使用QuartZ的原因是,RocketMQ定時消息不能精確定時發送通知)
設計模式
簡單工廠模式+模板模式
發佈流程
問題及優化
發佈的時候可以同時在redis緩存一份數據,當Redis獲取不到時再查詢ES。原因是redis速度比ES速度更快。