スケーラブルWebアプリケーションの開発を開始する前に、どのような言語、フレームワーク、およびホスティングの考慮事項を決定する必要がありますか?スケーラブルWebアプリケーション開発の計画
答えて
最も重要な考慮点は、ビルドや立ち上げの段階で過度にエンジニアリングすることではありません。分析麻痺は、生産性、進歩および結果に対する単一の最も大きな阻害剤である。
はい、いくつか計画してください。フレームワークを選択します。フレームワークの完全性は存在しないため見つけることができません。なぜなら、あなたが必要とするものが何であれ構築するまで必要なものが分からないからです。チャンスは、あなたが何かを選ぶと、何も選ぶことよりも良いでしょう。
はい、自分が見ている場所に柔軟性のあるインターオペラブルなツールを選んでみてください。
はい、次の6〜18ヶ月間に自分自身を見ている良い組み込み機能セットを探します。それを超えて見てみると、とにかくほとんどのプロジェクトが最初のリリースに向かってそんなに変わるので、とにかく現実的ではありません。
だから、あなたが慣れ親しんだものや慣れ親しんだものを選んでください。群衆に従わず、あなたに最高の結果をもたらし、最も速く、頻繁になるようにしてください。将来変更する必要があるかもしれないことを理解してください。だから、今何を作るにしても、ユニットテストを使って、必要に応じて再因子化することができます。
あなたが構築しているものが超大成功になるのなら、それは大きな問題になります。また、簡単に作業することができれば、他の人材を手に入れることができます。
あなたがピッキングに終わるものとあなたの状況の理由を共有してください - それは私たちもあなたから学ぶのに役立ちます!
です。
スタート要件を見ることによって、(機能またはユーザー定義の)(非機能 - ご希望のシステムlink textを記述側面)
次の私はそれは、スケーラブルなWebアプリケーションを持っていることの意味を明らかにするでしょう。それを明確にテストできるテストケースとして定義する(応答時間<秒でXページビュー/秒をサポートしなければならない)。
私はこれらの部分をいったん準備したら、私の開発チームがサポートできるスキルのタイプ(初期プロジェクトとメンテナンス)を見ていきます。同様の言語やフレームワークを使用しているアプリケーションのいくつかのケーススタディを見つけてください。他の誰かが特定の言語/フレームワークの規模を作っているなら、あなたもそうすることができます。
最後に、あなたの選択した言語、フレームワーク、および要件をサポートするホスティングプロバイダを探してください。
まず、言語については、大したことはありません。 PHP、Java、.Netはおそらく最大の3つですが、Web上で最大のサイトを運営するという意味で実証されているので、他のものよりも適していると言う人には耳を貸さないでください。
RubyとDjango/Pythonをこのリストに入れる人もいます。私はそれらに対して何もしていないが、私はいずれかを使用して大きな(トップ50)サイトを認識していない。
ホスティングの考慮事項は、起動する方法を低に依存するが、基本的順序は次のとおりです。
- 共有。
- 仮想プライベートサーバ。
- 専用。
スケーラビリティは、どの言語、フレームワーク、またはプロバイダよりもアプリケーションの設計に大きく左右されます。効率的なデータベーススキーマ、Javascript/CSSの効率的な配信と使用、メモリ内キャッシュは、すべての言語やフレームワークに共通の問題です。
言語 - 私は良いフレームワークと、PerlやJavaのような良いテストライブラリで何かをお勧めしたいと思います。
フレームワーク - あなたは何をする予定ですか? FastCGIを許可しないホスティングを開始する場合は、CatalystやRailsのようなフレームワークを避けるのが最善です。だからこそ私はCGI :: Application(主にPerlだが、他の言語にも移植されている)が大好きです。CGI、FastCGI、またはmod_perlとして実行できます。開発のために、それはそれ自身のWebサーバーから実行することができます。
ホスティング - あなたのサーバーよりも優れたものはありません。それは、あなた自身のサーバー、専用サーバーまたは仮想サーバーにすることができます。しかし、あなたは最も安いホスティングから始めることができ、さらに必要なときには、それを買う余裕があるはずです。
Ruby on RailsはFastCGIを必要としないので、なぜFastCGIサポートが関連しているのかよくわかりません。 – Chuck
必ずしも自分自身を1つの言語またはフレームワークに結婚させる必要はありません。サイトの一部では、他の言語やフレームワークとは異なる言語やフレームワークでうまく機能している可能性があります。たとえば、37個のシグナルのすべてのサイトはRuby on Railsをベースにしていますが、最近では、そのような並行処理を行う方がはるかに簡単であるため、Erlangの基礎技術が実際にどのように記述されているかについてのブログ記事を最近投稿しました。
明らかに、ミッシュマッシュに変わる複雑さがありますが、ジョブに適切なツールを使用すると、それがジョブごとに異なるツールであっても、物事を単純化できます。
- 1. Webアプリケーション開発
- 2. スケーラブルなWebアプリケーションの展開。 VPSと専用vsクラウド
- 3. ScalaのWebアプリケーション開発
- 4. Webアプリケーション開発のSharePointデザイナページ
- 5. Glip RingCentral Webアプリケーションの開発
- 6. Webアプリケーション開発のアプローチ
- 7. スケーラブルなJava Webアプリケーションでの接続プール
- 8. 春のWeb開発画像
- 9. WindowsアプリケーションとWebアプリケーションの開発
- 10. マルチエージェントフレームワークとWebアプリケーション開発
- 11. アンドロイドロック画面アプリケーションの開発
- 12. Java EE Webアプリケーション用スケーラブルUIフレームワーク
- 13. iPhone Web開発画像スケーリング
- 14. Javaでのデスクトップアプリケーション開発へのWebアプリケーション開発
- 15. Webアプリケーション開発のトップレベルのビュー
- 16. GWTでのWebアプリケーション(CRM)の開発
- 17. 開発用Webサービスを使用したAndroidアプリケーションの開発
- 18. Java Webアプリケーション開発キットの推奨
- 19. Webアプリケーション開発の最適化戦略
- 20. IBM Watson Webアプリケーションの開発手順
- 21. Webアプリケーション開発プラットフォームの推奨
- 22. ウェブ全体のWebアプリケーション開発
- 23. Java EE動的Webアプリケーション開発
- 24. j2meを使用したWebアプリケーション開発
- 25. GWTモバイルWebアプリケーション開発UIモジュール
- 26. asp.netでWebアプリケーション開発を学ぼう
- 27. マルチリンガルWebアプリケーションを開発する手順
- 28. スプリングブート:Webアプリケーション開発専用ですか?
- 29. クロスプラットフォーム開発用のアプリケーションを探しているアプリケーションとWebアプリケーション
- 30. プロジェクト計画、開発者向けメモツール
Rubyで書かれたWebサイト:Twitter、Github、Amazon ... –