SpareBank1设计系统:图标尺寸更新的技术挑战与解决方案

SpareBank1设计系统:图标尺寸更新的技术挑战与解决方案

designsystem SpareBank 1's design system and component library. designsystem 项目地址: https://gitcode.com/gh_mirrors/desi/designsystem

背景介绍

在SpareBank1设计系统的开发过程中,团队遇到了一个关于图标尺寸更新的技术挑战。当前系统支持的图标尺寸为20px、24px、40px和48px,但随着产品需求的变化,出现了对32px尺寸图标的新需求。这一需求在Figma设计文件中已被实现,但在代码实现层面却遇到了技术障碍。

技术现状分析

目前系统的图标是通过Google Symbols提供的资源实现的,而Google Symbols仅支持20px、24px、40px和48px这四种固定尺寸。这种限制直接导致了无法简单地通过现有工作流添加32px尺寸的图标。

现有的图标处理流程基于一套自动化脚本系统,这套系统能够从设计资源中提取图标并转换为代码可用的格式。然而,当前的实现方式依赖于预定义的固定尺寸,缺乏灵活性。

深入技术问题

核心问题在于当前技术方案的架构选择。固定尺寸的图标实现方式虽然简单直接,但在面对设计系统演进过程中的新需求时显得不够灵活。特别是当设计团队已经在Figma中创建了新尺寸的设计,但技术实现却无法同步跟进时,这种架构限制就变得尤为明显。

潜在解决方案探讨

  1. SVG矢量图标方案:最彻底的解决方案是改用可缩放的SVG矢量图标。这种方案允许图标在任何尺寸下保持清晰,无需为每个特定尺寸维护单独的图标资源。SVG图标可以通过CSS轻松调整大小,完美适应响应式设计需求。

  2. 图标字体方案:另一种选择是使用图标字体(Icon Font),同样具有可缩放特性。但相比SVG,图标字体在灵活性和功能支持上稍显不足。

  3. 多尺寸预处理方案:如果必须保持固定尺寸的实现方式,可以考虑扩展预处理脚本,使其能够生成更多尺寸的图标变体。但这会增加维护成本。

实施建议

基于当前情况,建议采用SVG矢量图标方案,原因如下:

  1. 未来兼容性:SVG是现代化的图形解决方案,被所有现代浏览器良好支持。
  2. 设计一致性:可以确保图标在所有尺寸下保持一致的视觉质量。
  3. 维护简便:只需维护一套矢量源文件,而非多个尺寸的变体。
  4. 性能优化:SVG文件通常比多套位图资源更节省空间。

技术实现路径

  1. 架构评估:首先需要评估现有系统对SVG的支持程度,检查是否有技术债务需要清理。
  2. 工作流改造:修改现有的图标处理脚本,使其能够正确处理矢量图形而非固定尺寸的位图。
  3. 渐进式迁移:可以先在新图标上实现SVG方案,逐步替换旧有的固定尺寸图标。
  4. 性能测试:确保SVG方案在各种使用场景下的性能表现。
  5. 文档更新:更新开发者文档,说明新的图标使用方式。

总结

设计系统的演进过程中,类似图标尺寸这样的基础组件更新需求会不断出现。采用更灵活、面向未来的技术方案,虽然短期可能需要更多投入,但长期来看能够显著降低维护成本,提高系统的适应能力。SVG矢量图标方案不仅解决了当前的32px需求,还为未来可能出现的其他尺寸需求提供了完美的解决方案。

对于SpareBank1设计系统团队来说,这是一个优化基础架构的好机会,通过这次调整可以建立一个更加健壮、易于扩展的图标系统,为产品的持续发展奠定更好的基础。

designsystem SpareBank 1's design system and component library. designsystem 项目地址: https://gitcode.com/gh_mirrors/desi/designsystem

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郝敏芊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值