插件与主题组件

继续讨论 点赞两次

抱歉,我没有尝试搜索——我真是个糟糕的人。

但是,如果有一个插件和一个主题组件,它们(几乎)做了同样的事情,那么两者之间最重要的区别是什么?

当然,插件需要重建,但还有其他原因导致一个比另一个更好的选择吗?

首先,Reactions 插件和 change-like-icon 主题组件(几乎)不做同样的事情。

是的,您可以使用 Reactions 插件更改点赞图标,但其主要目的是提供多种可能的反应,因此其功能比仅进行外观更改要广泛得多。

插件可以做主题组件能做的任何事情,但主题组件不能做插件能做的任何事情。

插件由服务器端和客户端代码组成,

而主题组件仅由客户端代码组成,并且必须依赖现有的服务器端代码。

5 个赞

这是它们之间的真实情况。我今天没怎么想,反应过度是我的常态 :joy:

所以——在现实世界中,插件和组件的功能永远不会完全相同,那么使用这个或那个的唯一原因就是它能满足什么需求?

1 个赞

这句话的措辞太抽象了,答案很可能是“是的”。

5 个赞

这是真的,但从另一个主题来看,他只是想做主题组件所做的事情,只有一个 :+1: 而不是 :heart:

如果你需要对 Rails 进行更改(比如你需要从数据库存储或检索不同的数据),那么你需要一个插件。

如果你只更改前端(Ember 和 CSS),那么主题组件就可以做到。(很久以前,区别更细微。)

如果你的操作可以通过 Ember 完成,那么主题组件更容易安装,因为它不需要重建 docker 镜像。

3 个赞

我通过 Topic List Previews (TLP) 将其推向了逻辑终点。

这曾经是一个插件,直到它的一些功能被核心(缩略图)采用,然后我能够将其大部分功能放入主题组件中,以使其拥有更广泛的受众和更简单的安装。

我添加并保留了一些需要后端更改的高级功能,这些功能包含在一个配套插件中。

另一个很好的例子是 Guest Gate Theme Component

可能仍然有一两个插件可以转换为主题组件(我马上就能想到一个)……随着更多功能被添加到核心 API 中,可能会有更多的候选者……

3 个赞

此插件:

后来也被制作成了主题组件:

2 个赞