フレームワークを利用したシステム開発には多くの利点がありますが、一方でいくつかのリスクや危険性も存在します。これらを理解し、適切に対処することが重要です。
弊社では制作スピードと納品タイミングの関係で、フレームワークをあまり利用しません。それには下記のデメリットが存在するからです。
セキュリティの脆弱性
依存性の高まり
特定のフレームワークに依存しすぎると、そのフレームワークが古くなったり、サポートが終了したりしたときに問題が生じる可能性があります。技術の進化に伴ってフレームワークも進化するため、将来的に移行や更新が必要になる場合があります。
その際のコストが非常に高額になることも多く、システムを人質に高価なリプレース費用を請求することは、安定した運用とは言い難いからです。
パフォーマンスの問題
いくつかのフレームワークは、特に大規模なアプリケーションにおいて、パフォーマンスの問題を引き起こす可能性があります。これは、フレームワークが提供する便利な機能が原因でオーバーヘッドが発生するためです。利用しないライブラリであったり、オーバースペックである機能の塊はスクラッチと比べるとパフォーマンスを落とす要因ともなり得ます。
学習曲線
新しいフレームワークを導入すると、開発チームはその使用方法を学ぶ必要があります。これには時間と労力がかかるため、プロジェクトの初期段階で遅延が発生する可能性があります。こと、3ヶ月〜6ヶ月の新規オーダーのシステムでは、フレームワークをチームで利用することはコストの高まりもあり、デメリットになることも多いです。
柔軟性の制限
ドキュメントとサポートの不足
新しいまたはニッチなフレームワークは、十分なドキュメントやサポートコミュニティがない場合があります。これにより、問題が発生したときに適切な支援が得られない可能性があります。安定した制作を求められるのであれば、在来の昨日だけを手組みで組んでいる方が、納品までのスキームが減りコストを抑えることができます。