特定の要件がない場合や、Drupal、Joomla、WordPressなどの既存のWebフレームワークを取得する場合に、ゼロからWebサイトを開発しますか?.
ほとんどの場合、要件はほとんど同じです。個人の場合は、ブログまたは画像ギャラリーになります。企業の場合は、ニュースセクションとともに動的に更新できる情報ページになります。
同様に、WordPress、Joomla、Drupalで満たすことができる他の要件もあります。
それで、ゼロからウェブサイトを開発することは賢明ですか、そしてなぜですか?
更新:
@Raynosからコメントを得たときにさらに説明するために(コメントに感謝し、質問を明確にするのを助けて)、質問は次のとおりです:
Webサイトを完全にゼロから開発および設計する必要がありますか?
Spring、Zend、CakePHPなどのフレームワークを使用してそれらを実行する必要がありますか?
Joomla、WordPress、Drupal(東の人々はこれらをフレームワークとして使用しています)などのCMSを使用して実行する必要がありますか?)
Webサイトを完全にゼロから開発および設計する必要がありますか?
番号。
Spring、Zend、Cakephpのようなフレームワークを使用して実行する必要がありますか?
はい。
Joomla、wordpress、drupalなどのCMSを使用して実行する必要がありますか?
はい。
ここにルールがあります。
少ないコードを書く。物事を早く終わらせましょう。
可能な限り短いコードを記述して、可能な限り迅速に値を作成します。
または、Drupal、Joomlaなどの既存のフレームワークを使用するWordPressが今の標準になっていますか?
確かに私には向かない。合理的に複雑なビジネスロジックがある場合は、ゼロから開発することが有利だと思います。まあ、私がスクラッチと言うとき、私は Spring を使用しています。
WebサイトはCMSが最適に提供します。
Webアプリケーションは、CMSによって適切に提供されません。ある種のコーディングフレームワークが役立つこともあります。
重要なのは、サイトからアプリケーションに至るまで、自分がどこにいるかを自問することです。ほとんどのページが情報の提示に関するものである場合は、CMSに頼ってください。彼らが何かをしているのなら、フレームワークに傾けてください。
私の最後の仕事(3年前)では、すべてのWebサイト(すべて300以上)をゼロから構築しました。私たちはサーバーを所有していました。私たちはサーバーに何が起こっているのか正確に知っていました。私たちは小さなお店6人でした。私たちの顧客は、彼らがテンプレートから来たように見えたくありませんでした。
今日、これらのWebツールキットによって引き起こされる大量のBLOATが見られます。新しいWebサイトの一部でソースを表示し、JSコードがどのくらいインポート/呼び出されているかを確認します。これらすべての外部ライブラリに依存して「Web Magic」を引き出す場合は、期待どおりに動作しない場合に調整または修正する方法をよりよく理解できます。
例:顧客は、すべてのマシンですぐに利用できるnotである「Futura」フォントを望んでいます。したがって、「Futura」はWebサイトのフォントとしては不適切であるとお客様に伝える代わりに、フォントをページに直接埋め込むJavaScriptライブラリを見つけます。ページが読み込まれた後、 "Poof"フォントは、まるで魔法のようにTimes New Romanから埋め込まれた "Futura"に変わります。完全にサポートできない場合は使用しないでください。
すべてのものをゼロから構築したわけではありません。顧客が新しいウィジェットを求めたとき、「これはビルドまたは購入」ウィジェットであることがよくあります。あまり問題なくウィジェットを既存のコードにインターフェースできたら、それを購入します。自分のブランドになることができないウィジェットを購入することはほとんどありませんでした。ソースコードが含まれていないウィジェットを購入したことはありません。
趣味でWebサイトを構築するだけの場合、または1年に2〜3回実行するだけの場合は、ゼロから構築する価値はないでしょう。コードをどこから取得するかに注意してください。最終的にそれはあなたの評判です。
ほとんどの場合、要件はほぼ同じです
対話型のWebサイトまたはWebアプリケーションの開発は、ほとんどが解決済みの問題であり、これは、10年前にも存在しなかった迅速な開発をサポートするために現在存在する強力なツールで明らかです。
要件の類似性は通常、ほとんどのWebアプリケーションが持つ典型的なボイラープレートの問題(認証、承認、計測、データアクセス/ ORM、トランザクション管理など)に該当します。
今日、AOP(アスペクト指向プログラミング)とDI(依存性注入)の組み合わせにより、横断的な関心事をコードから構成に変えるのに役立ちます。このようなフレームワークの実用的な実装については、Springを参照してください。
したがって、「ゼロから」ウェブサイトを開発することについて話すときは、それについてより具体的にする必要があります。テストおよび検証済みのコンポーネントからゼロからWebサイトを構築することも、ホイールを再発明してコンポーネントを1つずつ設計および構築することもできますが、これは新人の間違いです。車を作りたいのであれば、タイヤやラジエーターなどの部品を見つけて購入し、車を組み立てます。金型や鋼の鍛造からタイヤを作ることはしません。これらの問題はずっと前に解決されました。
それは本当にサイトの目標と彼らが提示しようとしているものに依存します。
はい、多くのサイトは、そのようなものにうまく対応できるサイトを作成している場合にフレームワークを使用していますが、(特に現時点では)多くの企業がページをさらに活用したいと考えています(または、より多くのことをしていると思います) )そのため、すべてを完全にゼロから開発します。
どちらの方法が優れているかは、サイトの目標によって異なります。どちらの方法も悪くはありませんが、企業がサイトごとに決定する必要のある決定です。
プロトタイプを高速に取得したい場合は、CMS(drupal、joomlaなど)を使用します。
クライアントのプロジェクトを完了したい場合は、フレームワークを使用するので、ホイールを作り直す必要はありません。 Django、Ror、symfony、springなどです。
通常、物事を学ぶために作られる個人的なプロジェクトの場合、ゼロから始めることができます。これらのフレームワークの力を理解するために、いくつかのことを自分で試してみると便利です。