この質問はWebベースのフレームワークを使用する利点と欠点を抽出するに焦点を合わせています:Cake PHP、Zend、jQuery、ASP.NETなど)。この質問は完全に言語にとらわれないです。 「巨人の肩の上に立つ」の概念から始めましょう。
人々は私の意見をどのように解釈しているのでしょうか。また、他にもポイントがあればありがたいです。
これが一番下の行です:フレームワーク構成の外に機能を実装するのは難しい場合があります。
この仮定を前提にしていきましょう。
理解の喪失-フレームワークの機能に依存することにより、開発者は物事が(フードの下で)機能する方法についての理解を失う危険にさらされています。
いいえ。物事がどのように機能するかについての理解を失うことは決してないでしょう。フレームワークは魔法ではありません。これらは、自分で書く必要のない便利なコードです。
信じられないかもしれませんが、フレームワークを使用すると間違いを犯します。何が問題だったかを理解するには、HTTPの最低レベルまでデバッグする必要があります。
内部で何が起こっているかを見失うことは決してありません。もちろん、あなたのフレームワークが非常に壮大で完璧でない限り、問題はありません。
構成の崖-フレームワークの構成より先に進むと、生産性がすぐに低下し、フレームワーク構成の外部に機能を実装することが困難になる場合があります。
これはほとんど意味がありません。
最初。フレームワークなしで構築すると、単体テスト、デバッグ、診断、構成制御、およびフレームワークにあるものを再発明する他のすべての価値のない作業を含む大きなプログラミングタスクに簡単な仕事をすることができます。その「生産性」はどうですか?
二番目。フレームワークの外側に何かを実装することは常に大変な作業です。なぜなら、フレームワークの外側に何かを実装することは常に大変な作業だからです。フレームワークの学習と構成に費やされた時間とは関係ありません。フレームワークの外にあるものを実装することは本質的に困難です。
開発者のトラムライン-あなた(開発者)は、[フレームワーク]開発者があなたに望んでいる方法で物事を行わなければなりません。
正しい。そして、これはしばしば良いことです。一貫した方法で物事を行うことは、自分の個人的な好みの方法で行うよりも価値があります。 「学習」と「理解」が必要かもしれませんが、これらには価値があります。
セキュリティの問題-プロのようなWebサイトをすばやく開発するためのこれらのツールを人々に提供することは潜在的なリスクであり、人々は詐欺的な企業のためにプロのようなWebサイトをすばやく作成できます。
何?これはフレームワークとは関係ありません。詐欺は、使用するツールに関係なく詐欺です。
私は、最も単純なプロジェクトを除くすべてのフレームワークを使用することを推奨しています。お問い合わせフォームを既存のHTMLサイトに追加する必要がある場合は、フレームワークに移動する代わりに、1つのPHPファイルを使用できます。
頭に浮かぶいくつかのことは...
それはすべて、使用するフレームワークに依存します。
ASP.NETを使用している場合は、デメリットがあります。これは、リークの多い抽象化せいぜいであり、せいぜいは、些細なことをするのが面倒ですあなたがウェブで作業しているという事実を隠さない他のフレームワークでは。
ASP.NET MVCはその問題を解決しようとしていますが、それはうまく機能しています。
フレームワークが存在するため、作業を完了するのにより多くの時間を費やすことができ、足場を構築する時間を短縮できます。その点では、足場の構築に本当に時間を費やしたいのでない限り、不利な点はありません。
いくつかポイントを追加したいと思います。
それでも、フレームワークの評価、ライセンスの評価、使用ごとのフレームワークの明確なリストの維持、およびスマートなバージョン管理戦略の導入にもう少し努力を払うことは、利点を検討する際に価値があります。
利点: