web-dev-qa-db-ja.com

独自のCMSを構築する必要がありますか、それとも事前に構築されたものを利用する必要がありますか?

関連初心者のプログラマとして、サードパーティのライブラリを使用するよりも自分のライブラリを構築する方がいいですか?

中級から上級レベルPHP web-developerとその若い(15歳)の場合、私のWebサイト用に完全に新しいCMSを構築するか、=などの既製のソフトウェアに依存する必要がありますWordPressまたはDrupal?

WordPressは、私がやろうとしていることを処理できるほど強力でスケーラブルで、Drupal過去数日間、私の好みに見合ったものとは言えず、十分に文書化されていないため、特定の簡単なタスクを実行するのに少し問題があります。loveを使用して、ExpressionEngineなどを使用しますが、現在のところ$ 300程度の商用ライセンスを購入するための資金がないので、これで問題ありません。

私は当初、サイトを一時的なシステムとしてコーディングし始めたので、ユーザーはアップグレードやゲーム内通貨などの他のものを購入して新しいウェブサイトを立ち上げることができましたが、それを始めてすぐに、スケーラブルにする必要があることに気付きましたなので、それ以来、私はそれを完全に機能するウェブサイトにすることを念頭に置いてコーディングしました。ほんの数日しかかかりませんでしたが、すべての基本事項(登録、ログイン、アカウントの変更など)があり、プライベートCMSの素晴らしいスタートになると思います。

最後に追加したいのは、独自のCMSを構築する場合、PHP CodeIgniterなどのフレームワークを使用する必要があります。これは、かなりの経験がありますか?

たぶん、他の開発者が私が何に夢中になっているのかを知る手がかりになるかもしれません。

23
Alex Bennett

それは完全にあなたの状況に依存します。 CMSを使って素晴らしいサイトが作られています。最初に、COとTCOの2つの概念を理解したほうがいいと思います。

CO(所有コスト)

何かを買うとき、あなたが支払う金額はCOです。WordPressの場合、それは何もありません。原因WordPress(または他の多くのCMSソフトウェア)は無料です。

TCO(総所有コスト)

PCを1万ドルで購入するとします。じゃあ何?ソフトウェアをインストールする時間を費やす必要があります(時間は貴重なリソースなので、そのPCにはまだお金を費やしています)。次に、Webカメラ、別のDVDライター、および追加のケーブルを購入します。次に、インストールされたソフトウェアの使用方法を学ぶ必要があります。つまり、総所有コストPCは$ 10,000ではありません。それだけではありません。

CMSソフトウェアの場合、そのCOは非常に低いレートにはまったく関係ありません。しかし、多くの経験から、TCOは決して低くないことがわかります。大企業はJoomlaやWordPressで優れたサイトを手に入れるために数千ドルを費やしています。

もう1つの要因は、カスタマイズのレベルです。ソフトウェアを変更せずにそのまま使用したい場合があります。その場合、WordPress、Joomla、Drupalまたはその他のCMSは非常に優れた候補となる可能性があり、独自のCMSを記述すべきではありません。ただし、高レベルのカスタマイズ。その場合、すぐに使用できるCMSを要件に合わせてカスタマイズすることに本当にイライラします。

実際に既製のCMSソフトウェアを使用したかったのですが、さまざまなCMSを学び、それぞれの弱点を見つけることに貴重な時間を費やした後、私は自分のCMSを作成することになりました。 Thought Results は私の個人サイトであり、このCMSを介して構築されています。もうすぐ公開するので、他の人も使えるようにします。

さらに別の要因は、拡張性です。信じてください、CMSを静的な状態から拡張可能な状態にするのは古いことです。テンプレート、モジュール、プラグイン、プロバイダー、データベースとストレージ、ルーティングメカニズム、およびGood CMSのほとんどすべての部分は拡張可能である必要があります。

最後に、私の個人的な提案は、CMSの構築を開始して、少なくともその背後にある最も基本的な概念のいくつかを学習できるようにすることです。ただし、既存のものを使用してみてください。幸運を。

23
Saeed Neamati

私はここで悪魔の擁護者を演じていますが、言う必要があります。ソフトウェア開発者に関する最も一般的な問題のいくつか:

  • ささいなプロジェクトを完了するのに必要な時間と労力の見積もりの​​下で、大きなプロジェクトに沿ってみましょう
  • ビジネスの現実の理解の完全な欠如
  • 自分のスキルと生産性の過大評価。
  • 複雑さと微妙な詳細の過小評価
  • 彼らの問題は非常にユニークであるという信念は、まだ誰もそれを解決していない。

15y0の場合でも、数週間で$ 300が稼がれる可能性があり、提案しているように見えるものは数か月かかる可能性があるため、これらの間違いを犯していないと確信していますか?有料の仕事を得て、そのお金でExpressionEngineを購入した場合はどうなるかを考えてください。 DIYのジョブよりも優れた機能を備えた、より早く配信されますか?

18
mattnz

これには2つの答えがあります。

1つは単純です。いいえ、車輪を再発明しないでください。優れたCMSシステムはたくさんありますが、1つを上手に使用することを学ぶと、それが提供できないものが何かあれば、その目的のためにプラグインを作成することにスキルを集中させることができます。ホイール。

2つ目は少しわかりにくいです:はい。 CMSのしくみとCMSの作成で発生した問題を理解したい場合は、CMSを作成しても害はありません。おそらく、既存のCMSシステムの1つほどのパワーと柔軟性はありません。また、約100000000000 PHPこの場所にコンテンツ管理システムがあるため、他の誰かが興味を持つ可能性はほとんどありません。その中には、必要のないものも含まれず、おそらくより大きなシステムよりもはるかに小さく簡単に機能します。時間がかかるため、結果はほとんどありません。同じくらい良いので、他の世界に影響を与えることはありませんが、あなたの発達と学習の面では、それは有用な練習になるでしょう。

いずれにせよ、独自のシステムを構築する前に、主流のシステムを試してみて、それらがどのように機能し、何がうまく機能し、何がより良くできると感じているかを理解します。それらを十分に理解することで、独自のものを作成することに何らかのメリットがあるかどうかについての判断に役立つ場合があります。

8
glenatron

CMSのプログラミングを一度も行ったことがない場合、これはそのための非常に良い機会かもしれません。あなたはかなり多くを学びます、そして、あなたがそれを終えたかどうかに関係なく、あなたは例えばの非常に良い考えを持っています:

  • 難しいことと簡単なこと
  • ページを国際化およびローカライズする方法
  • ユーザーとロールの処理方法
  • SQL更新ステートメントを要求する代わりに、基礎となるデータ構造の保守を処理する方法。
  • マルチパートページの処理方法。
  • 静的コンテンツを効率的に処理する方法。
  • 複数のコンピューターと高負荷にスケーリングする方法。
  • ユーザーのカスタマイズとテーマにAPIを提供する方法。

これらのいくつかは、notを実行する方法を学んだことさえあるかもしれません。その経験も重要です。

個人的には、「どれほど難しいか」が、高品質の製品を作成するために実際に行う必要がある作業の数パーセントしかカバーしていないことを知り、CMSを選択した場合、アクセシブルなコードベースと優れたドキュメント、そして適切なプラグインを記述して新しいバージョンが出たらベースCMSを更新できる優れたプラグインアーキテクチャを備えた人気のあるプラグインを探します。

5
user1249

これはご質問に対する回答のほんの一部です。私はあなたがphpに夢中で、既成のCMSの方法を採用していないと想定しています。クラブへようこそ!私たちの多くは同じように行きました。あなたの負荷を軽減するかもしれないいくつかのアドバイス。

私は自分のCMS、MVC実装、国際化(i18n)ハンドラー、セッションハンドラー、データベース抽象化レイヤーの方法、フォームハンドラーの方法などを構築し始めました。そして、私が行っていたことが実際に行われたことがわかりました以前は、フレームワークによってより良い方法で。つまり、これはホイールを完全に再発明する必要はなく、ニーズに合った場所にあるということです。フレームワークはあなたの人生を楽にしますが、それらを読んで学ぶためには多くの努力が必要です。 Symfonyを本当に習得するには1年かかりました。後悔していません。

そして、あなたは幸運です。なぜなら、今のところ、以前よりも多くの高品質のフレームワークがあるからです。いくつか例を挙げると:

  • Symfony :本日、彼らはバージョン2.0の安定版をリリースしました。これはエキサイティングなものです。疎結合です。つまり、コンポーネントを使用するか、すべてを統合パッケージとして使用するかを選択できます。優れたドキュメントとアクティブなユーザーベースを備えています。それ以外の場合、現在は古くなった1.4バージョンも非常に信頼性が高く、有用です。それはあなたの人生を容易にする多くの強力なプラグインを持っています。 (バンドル)
  • Zend Framework :実際には最新ではない(一部のブランドが新しい5.3機能に対応しているわけではない)と主張する人もいますが、それはしばらくの間存在し、基本的には便利なコンポーネントのセットです(これも疎結合です) 、オールオアナッシングゲームではありません)。検索(zend_lucene)やPDFの生成などを行うためのツールキットとして使用しています。ただし、一般的に使用されるMVCコントローラーセットもあります。調べていない場合は調べてください。非常によく文書化されています。
  • CakePHP :ずっと前から使用していて、ドキュメントを読み込めませんでした。どうやらこれは今より良く、おそらくあなたの検討に値するものです。

  • Yii :まだ使用していませんが、最近注目に値するファズがたくさんあります。

  • CodeIgniter :簡単な学習曲線と使いやすさのために多くの人々がcodeigniterを賞賛することを聞いた。使用していません。

pythonを試してみたい場合は、多くの人がDjangoを賞賛しています。もちろん、Ruby on Railsもです。

おそらくもっとたくさんありますが、これはあなたにとって役立つはずです。それらを使用したくない場合でも、これらのフレームワークから多くを学ぶことができます。幸運を!

3
Arend

ニーズの90%に適合するCMSを見つけ、時間の経過とともに修正して、提供していない機能を追加します。

これにより、早期に起動し、ユーザーおよびユーザーのニーズの変化に適応できます。

1
Supermighty

答えは主に達成しようとしていることに依存します。

スキルを磨くつもりなら、コンテンツ管理などについて学んでください。そうしたら、ぜひ自分でスキルを磨いてください。同様に、フレームワークを学びたい場合は、それを使用してください。

ただし、あなたが言及しているゲームとそのプレイヤーに焦点を当てている場合、答えはほぼ間違いなくノーです。あなたの時間は有限であり、したがって高価なリソースです。 CMSの開発に費やされた時間は、ゲームの開発に費やされなかった時間であり、収益を生み出すのはゲームです。だからあなた自身に質問をしてください。プレーヤーを購入するよりも、このCMSの開発に費やした時間は、ゲームの開発に費やした時間よりも多いですか?答えが「はい」の場合は開発し、それ以外の場合は開発しないでください。

同様に、Saeedが言うように、ExpressionEngineよりもオープンソースのCMSを決定すると、ToCが煮詰められるはずです。 Cost(Wordpress)> Cost(ExpressionEngine)の場合、単純に言えば$ 300を使います。ここでのコストは、purchase_cost +(hours_to_customise * your_hourly_rate)です。

1
CdMnky

独自のCMSを構築することを強くお勧めします。これは、カスタマイズとセキュリティに関して、このようなシステムの詳細を知る最良の方法です。しかし、私はあなたがあなたのPHP=スキルに関してどれだけ中級から上級までであるかについて質問しなければなりません。これはあなたの年齢とは関係ありません、私を信じてください。

私の旗は 「WordPressは、私がやろうとしていることを処理できるほど強力でスケーラブルで、Drupalここ数日間は、私の好みに見合うとは思えないだけでなく、十分に文書化されていないため、特定の単純なタスクを実行するのに少し問題があります。」

WorpressとDrupalのカスタマイズに関する膨大な数の書籍とサイトは、これらで実行される注目度の高いサイトは言うまでもなく、このようなサイトを取得するには何をしているのかを知る必要があることを証明します。言うまでもなく、これらのサイトを運営するために予算全体が確保されています。

リンクの例:

http://drupal.org/cases

http://wpmu.org/wordpress-showcase-20-high-profile-sites-running-on-wordpress

これは、あなたがやろうとしていることを思いとどまらせるためではありません。私はあなたがあなたの時間をあまり多く入れすぎないことを確認し(車輪を再発明する)、ある時点で欲求不満になり、あなたの才能を伸ばし、雇用主を含む人々を示すことができるとき、単にそれを言います、現在利用可能なツールで得られるもの。現実の世界と現在の経済状況では、時は金なりです。企業や組織には、ゼロからプロジェクトを作成し続けるための時間や予算がありません。
今日の情報は光の速度で移動しているため、ノイズを分離し、適切なターンアラウンドタイムで目的のコンテンツ/アプリ/システムを作成できるプログラマーの需要が高くなっています。

1
A. Edwards

WordpressまたはDrupalはCMSに必要なことを実行できますが、それらを試してみたい場合は、仮想 Turnkey Linux からのマシン、たとえば WordpressDrupalJoomla 、または コンテンツ管理 タグ。

すでに VMware player または VirtualBox がインストールされていると仮定すると、これらのアプライアンスをダウンロードしてから数分以内に、最小限の時間投資でソフトウェアを試すことができます。

0
Mark Booth