プラグイン対テーマコンポーネント

Thumbs up, twice からの議論の続きです。

すみません、検索を試しませんでした。私はひどい人間です。

しかし、プラグインとテーマコンポーネントがあり、それらが(ほぼ)同じことを行う場合、両者の最も重要な違いは何でしょうか?

プラグインは当然再構築が必要ですが、それ以外に、どちらか一方が他方よりも良い選択である理由はありますか?

まず、Reactionsプラグインとchange-like-iconテーマコンポーネントは(ほとんど)同じことをしません。

はい、Reactionsプラグインを使用していいねアイコンを変更することはできますが、その主な目的は複数の可能なリアクションを提供することであり、その機能は化粧的な変更だけよりもはるかに広範です。

プラグインはテーマコンポーネントができることすべてを実行できますが、テーマコンポーネントはプラグインができることすべてを実行できるわけではありません。

プラグインはサーバーサイドコードとクライアントサイドコードで構成され、
テーマコンポーネントはクライアントサイドコードのみで構成され、既存のサーバーサイドコードに依存する必要があります。

「いいね!」 5

それらはその通りです。今日はあまり考えず、反応的でした :joy:

つまり、実際のプラグインやコンポーネントは決して同じことをしないので、これまたはあれを使用する唯一の理由は、それが何を提供するかということですか?

「いいね!」 1

それは非常に抽象的な言葉遣いなので、おそらく「はい」が答えでしょう。

「いいね!」 5

それは本当ですが、別のトピックから、彼が望んでいたのはテーマコンポーネントが行うことと同じで、:heart: ではなく単一の :+1: を持つことだけだったようです。

Railsに変更を加える必要がある場合(データベースから異なるデータを保存または取得する必要がある場合)は、プラグインが必要です。

フロントエンド(EmberとCSS)のみを変更する場合は、テーマコンポーネントで十分です。(しばらく前は、違いはもっと微妙でした。)

Emberだけで達成できることであれば、テーマコンポーネントは、Dockerイメージの再構築を必要としないため、インストールが簡単です。

「いいね!」 3

これを Topic List Previews (TLP) で論理的な結論に達しました。

これはかつてプラグインでしたが、その機能の一部がコア(サムネイル)に採用された後、ほとんどの機能をテーマコンポーネントに組み込むことができ、より多くの人に利用してもらい、簡単にインストールできるようにしました。

バックエンドの変更が必要な高度な機能は、補完的なプラグインとして追加・維持しています。

もう一つの良い例は Guest Gate Theme Component です。これはプラグインとして始まりましたが、そうする必要がないことが判明したため、新しいテーマコンポーネントとして生まれ変わりました(プラグインはテーマコンポーネントより先に存在しました)。

おそらく、まだテーマコンポーネントに変換できるプラグインが1つか2つあるでしょう(すぐに思いつくものが1つあります)…そして、コアAPIにさらに機能が追加されるにつれて、候補はさらに増えるでしょう。

「いいね!」 3

このプラグイン:

後にテーマコンポーネントとしても作成されました:

「いいね!」 2