8

スケーラブルなWebアプリケーションの開発を開始する前に、どのような言語、フレームワーク、およびホスティングの考慮事項を考慮する必要がありますか?

4

5 に答える 5

12

最も重要な考慮事項は、何かを構築して立ち上げるのを妨げるほど過剰に設計しないことです。分析麻痺は、生産性、進歩、結果を阻害する最大の要因です。

はい、計画を立ててください。フレームワークを選択します。フレームワークの完璧さを見つけるのは不可能です。なぜなら、フレームワークが存在しないからです。部分的には、それを構築するまで必要なものがわからないからです。何かを選ぶと、何も選ばないよりはましになる可能性があります。

はい、自分の進むべき方向に合わせて、柔軟で相互運用可能なツールを選ぶようにしてください。

はい、次の 6 ~ 18 か月に予定されている優れた組み込み機能セットを探してください。最初のリリースに向けて、ほとんどのプロジェクトが大幅に変更されるため、その先を見ようとするのは現実的ではありません。

だから、あなたが慣れているもの、または慣れ親しんでいるものを選んでください。群集に従うのではなく、最善の結果を、最も早く、そして頻繁に得られることを行います。将来変更する必要があるかもしれないことを理解してください。したがって、今ビルドするものは何でも、単体テストを使用して、必要に応じてリファクタリングできるようにしてください。

あなたが構築しているものが大成功を収めようとしている場合、それは大きな問題であり、お金を稼ぐことができれば、他の才能を助けてくれるので、簡単に取り組むことができます.

あなたが選んだものと、あなたの状況の理由を共有してください - それは私たちもあなたから学ぶのに役立ちます!

于 2009-05-16T23:54:49.183 に答える
3

必ずしも 1 つの言語やフレームワークに固執しないでください。サイトの一部は、他の言語やフレームワークとは異なる言語やフレームワークでうまく機能する場合があります。たとえば、37signals のサイトはすべて Ruby on Rails に基づいていますが、最近のブログ記事では、1 つの基盤となるテクノロジが実際に Erlang で記述されていることについて書いています。

物事がごちゃまぜになるレベルの複雑さがあることは明らかですが、仕事に適したツールを使用することで (たとえそれが仕事ごとに異なるツールを意味する場合でも)、物事を単純化できます。

于 2009-05-16T23:46:46.643 に答える
2

まず言語に関しては、ほとんど問題ではありません。おそらく最大の 3 つである PHP、Java、および .Net は、Web 上で最大規模のサイトをいくつか運営しているという意味ですべて証明されているため、1 つが他のどのサイトよりも適していると言う人の話に耳を傾けないでください。

Ruby と Django/Python をこのリストに入れる人もいるかもしれません。私はそれらに反対するものは何もありませんが、いずれかを使用している大規模な (トップ 50 などの) サイトについては知りません。

ホスティングの考慮事項は、どれだけ低く開始するかによって異なりますが、基本的には次の順序です。

  1. 共有;
  2. 仮想専用サーバー;
  3. ひたむきな。

スケーラビリティは、どの言語、フレームワーク、またはプロバイダーよりも、主にアプリケーションの設計に関するものです。効率的なデータベース スキーマ、Javascript/CSS の効率的な配信と使用、およびメモリ内キャッシュはすべて、どの言語やフレームワークにも共通する問題です。

于 2009-05-16T21:30:30.107 に答える
1

言語 - 優れたフレームワークと、Perl や Java などの優れたテスト ライブラリを備えたものをお勧めします。

フレームワーク - 何を計画しているかによって異なります。FastCGI を許可しないホスティングから始める場合は、Catalyst や Rails などのフレームワークを避けるのが最善です。だからこそ、私は CGI::Application (主に Perl ですが、他の言語にも移植されています) が大好きです。これは、CGI、FastCGI、または mod_perl として実行できます。開発の場合は、独自の Web サーバーから実行できます。

ホスティング - 自分のサーバーほど優れたものはありません。独自のサーバー、リース サーバー、または仮想サーバーを使用できます。ただし、最も安価なホスティングから始めることができます。さらに必要な場合は、余裕があるはずです。

于 2009-05-16T23:38:06.430 に答える
0

場合によります。

要件を確認することから始めます (機能的またはユーザー定義) (非機能的 - 目的のシステムリンク テキストを説明する側面)

次に、スケーラブルな Web アプリケーションを持つことの意味を明確にします。明確にテストできるテスト ケースとして定義します (応答時間 < Y 秒で X ページ ビュー/秒をサポートする必要があります)。

これらの要素を配置したら、開発チームがサポートできるスキルの種類を調べます (最初のプロジェクトと継続的なメンテナンスのために)。次に、同様の言語またはフレームワークを使用する実際のアプリケーションのケース スタディをいくつか見つけます。他の誰かが特定の言語/フレームワーク スケールを作成した場合は、あなたも作成できる可能性が高くなります。

最後に、選択した言語、フレームワーク、および要件をサポートするホスティング プロバイダーを探します。

于 2009-05-16T21:30:02.433 に答える