web-dev-qa-db-ja.com

最初の選択肢として自己開発またはプラグイン?

WordPressプラットフォームに興味をそそられたものの1つは、プラグインAPIと豊富な選択でしたが、最近ではプラグインを探す前に自己開発していました。時間と予算内。

それで、機能が必要なときはどうしますか?あなたは最初に自分でそれを行うことができる方法を考えますか、それともすぐにプラグインレポジトリに飛び込むのですか?どちらも有効な議論があると思います。

5
Mild Fuzz

そのような選択をするとき私が考慮することがいくつかあります(順不同)。

  • タスクには一般的な機能(プラグイン)が含まれているか、特定のコンテンツを処理(開発)されているか
  • 知られている開発者からのタスクのためのプラグインがあり、手入れが行き届いている(プラグイン)、または多数のプラグインの分野が分割されている(開発)
  • すべての関連機能(プラグイン)または単一の特定のTweak(開発)が必要ですか。

一般的に、私は常にプラグインを素早く検索して、それらを使ってタスクを完成させる可能性を評価します。

ここには経験則がありません。私は両方とも簡単にコード化できるタスク(例えばページタイトル)とゼロからコード化できるタスク(例えばアンチスパム保護)にプラグインを使用しています。

4
Rarst

ジュニア開発者でも、プラグインリポジトリから始めるのが最善の策です。確かに、特定の状況を評価するときには、カスタム開発で採用するアプローチをすでに念頭に置いているはずです。同じことを行う、テスト済みの、実績のある、「プロの」プラグインを見つけることは、それをどのようにして行うかを、より経験豊富な開発者が行う方法と比較するための最良の方法です。それはあなたが行って新しい技術を習得するときに学ぶための素晴らしい方法です。

そうは言っても、あなたの状況に合うように利用できるプラグインが常にあるとは限りません。一般に、リポジトリの閲覧に5〜10分以上かかり、完璧な解決策が見つからない場合は、時間の無駄使いをやめて独自のものを構築してください。 次に、新しいシステムをレポジトリに送信して、次の仲間を助けます。

多くの場合、2つか3つのプラグインがほとんど実行したいことを実行することがあります。彼らがインストールされているときの理由は私のテーマを破る。このような状況では、私はまだ標準のプラグインから始めますが、私の特定のニーズに合うように微調整します - オープンソースなので、これは許可され推奨されます。それから私は元の作者に連絡して彼または彼女のプロジェクトにパッチを提案します。時には彼らはそれを受け入れ、時にはそれを拒絶し、他の時は彼らはそれを無視する。場合によっては、自分のパッチがコミュニティに公開されていることを確認するためにプラグインの公開フォークを公開しますが、やがて私が行った作業はシステムに組み込まれるか、改善されたものに置き換えられますWPコア機能など、他の開発者によるより良いプラグイン。

私は時間をかけて新しいシステムを学び、最初からソリューションを構築しようとしていますが、他の誰かがすでにそれを実行していて(そしてシステムをテスト/デプロイしているなら)経験から学んで構築することをお勧めします。あなた自身のシステムを開発するよりもむしろ彼らのシステム。あなたはすでに他の誰かによって開発されたプラットフォーム(WordPress)の上に構築しています... '車輪の再発明'を避けるために既存のプラグインを構築することは変わりありません。

3
EAMann

私のプラグインのほとんどは自己記述されています。セキュリティやパフォーマンスの問題について他の人々のコードをチェックする必要はありません。複雑なものがある場合は、まず GitHub を見てください。私の経験では、平均的な品質はwordpress.orgよりも優れています。最初にコードを確認するのは非常に簡単です(そして速くなります)。リポジトリは私の最後の選択肢です。

あなた自身のプラグインを書くことの副次的な利点:あなたは何かを学び、毎回あなたは以前より速くなるでしょう。 :)

1
fuxia

私は実際にホイールを作り直すのは好きではないので、まずはGoogleとWPプラグインリポジトリを検索することから始めます。

ほとんどの場合、私が必要としていること、またはそれに非常に近いことを行うものが、すでにそこにあります。少なくともそれは良い出発点であり、見回すには約30分かかります。テスト用のインストールで見つけたプラグインをインストールするのにおそらく10〜15分かかります。

プラグインを修正または拡張する必要がある場合は、変更をプラグインメンテナに送信します。

0
gabrielk