UI工具包颜色机制模型时的一些研究
Adel Khamatov分享了他开发UI工具包颜色机制模型时的一些研究心得,并提出了解决相关问题的最佳实践。
Khamatov正在研究并编写一个关于开发UI工具包的完整指南,作为技术系统项目的一部分。在项目的第一阶段,他通过分析开源和专有的UI工具包,收集了技术决策、需求和潜在解决方案。原本计划是在收集了多个UI工具包的主要决策后,再深入研究每个细节。
在Khamatov的工作场所,底层使用的是一个开源UI工具包。他很快发现,这个工具包在处理颜色相关的任务时,API难以理解。这引发了他对一系列问题的好奇:
- 套件的API解决了哪些任务?
- 它的API实现了哪些概念?
- API是如何实现的?
- 在为UI工具包从头开始实现这些机制之前,我应该了解什么?
- 最佳实践是什么?
为了解答这些问题,Khamatov决定暂时停下数据收集的工作,深入研究颜色机制。在这篇文章中,他分享了自己学到的一些知识,希望能帮助那些有相同问题的人节省时间,并使自己能更好地继续研究工作。
处理颜色是UI工具包开发中的一个重要技术决策,它涉及到许多子决策,并与其他决策(如主题切换、系统级别主题配置、调色板生成、色彩对比检查和支持不同对比模型等)相关。Khamatov文章分为两部分:第一部分,他介绍了基本操作,包括颜色的定义和使用,以及与颜色相关的已知问题和实践。第二部分,他通过分析现有解决方案,研究了解决这些任务的方法。
文章中包含了一些使用Sass和TypeScript的代码示例,但重点并非在于这些技术细节。读者应该能够理解一个可以使用自己选择工具实现的模型。
Khamatov还提醒读者,不要轻易尝试创建自己的UI工具包。他提到的子决策并非都是有意识的,实现工具包的一小部分功能(如颜色的定义和使用)也不像看起来那么简单。他建议读者可以参考一些成熟的UI工具包,如Material UI和Fluent UI React Northstar。
这两款UI工具包被选为参考实例,因为它们都包含了大量的最佳实践,并且适用于企业级项目。通过研究这些工具包,读者不仅能了解如何使用它们的API,还能了解如何实现一些简化公共API和实现的新概念。
为了实现文章的目标,Khamatov将遵循以下步骤:
1. 考虑需要解决哪些任务。
2. 定义术语及其含义。没有共同的语言,就很难相互理解。
通过这篇文章,读者可以对UI工具包的颜色机制有一个更深入的了解,并学会如何使用现有的最佳实践来解决相关问题。