我应该如何在 qooxdoo repo 中分发一堆主题?

问题描述

哪种方法更适合分发 qooxdoo 主题:每个主题一个包还是只将所有相关主题包含在一个包中? 每种方法的优缺点?

解决方法

我的经验法则是:如果一组主题在视觉上和功能上都不同,那么它们应该在自己的项目中。例如:https://github.com/sqville/ville.Cleanhttps://github.com/sqville/ville.Wireframe 在不同的项目中。两者的外观和功能都不同,因为主题的外观 (Appearance.js)、装饰 (Decoration.js)、颜色 (Color.js) 和字体 (Font.js) 都有很大的不同。现在以 osparc 主题 https://github.com/ITISFoundation/qx-osparc-theme 为例,它们仅在颜色上有所不同。因此,它们都位于同一个项目中,因为它们都具有相同的外观、装饰和字体(除了 osparcportal,它拥有自己的 Font.js)。

单独项目的优点:

  • 灵活性 - 每个主题都不受所有其他主题的限制,因此可以自由地进入自己的生命周期(好或坏)
  • 减少膨胀 - 为什么要求人们在他们只需要一个主题时下载所有主题

单独项目的缺点:

  • 增加维护 - 每个主题都应该有一个功能强大的小部件浏览器(演示应用程序),这意味着维护同一应用程序的多个副本
  • 更长的启动时间 - 要创建一个新主题,您必须复制现有主题,然后在每个主题文件中查找替换,以便正确命名文件和引用(即,将“Clean”替换为“Wireframe”)

同样的优点:

  • 更易于维护
  • 更容易开始新主题

同样的缺点:

  • 膨胀(当人们只想要一个主题而不想要其他主题,而且他们不知道如何处理不需要的文件时)