質問

「何をしようとしているかによる」という答えが何千も返ってくることはわかっていますが、真面目な話、これに関する確かな情報はまだオンライン上にありません。これが私の推測です - 現時点では多くの人にとっても同様だと思います。

  1. 現在は 2008 年 10 月です。2009 年 1 月の申請書を書き始めたいと思っています。ベータコードなどを使用するつもりですが、1 月までに「奇妙な」問題が発生しないサイトが欲しいです。そうは言っても、ある言語が別の言語より単純に 10% 遅い場合は、問題が線形である限り、私はそれらのことを気にしません。私の主な関心事は開発者の生産性です。
  2. アプリケーションには Linux、Apache、MySQL を使用します。
  3. 安定したライブラリを使用して scp および ftp クライアント関数を実行するなどの機能が必要です (これら 2 つを選択したのは、これら 2 つが Web 関連ではないと同時に、大規模なアプリで使用される可能性のある非常に一般的なネットワーク プロトコルを表しているためです)。OpenID や Oauth などのテクノロジーも使用されます。
  4. 経験豊富な Web 開発者をすぐに見つけることができます (例:金融会社などから人を探す必要はありません)。
  5. どのような選択をしても、それは一般的なものであり、しばらくは存在するでしょう。
  6. ここにキッカーがあります。HAML、SASS に似た高度なプレゼンテーション層ツール/言語を使用できるようにしたいと考えています。どうしてもJQueryを使ってみたいと思っています。
  7. Facebook アプリを作成し、いつか SMS メッセージや iPhone アプリなどの処理を行う予定です。

この時点で、言語の選択肢は PHP (Cake、Symfony、Zend)、Python (Django)、Ruby (Merb) です。現時点で私は本当に Django と Merb の間にいるのですが、それは主に他のみんながその方向に進んでいるように見えるからです。

主流向けに作られていないテクノロジーをここに入れないでください。Merb がほとんどテストされていないことは知っていますが、彼らが掲げている目標は強固なプラットフォームであり、その背後には大きな勢いがあるため、実行可能であると確信しています。Perl や .Net の素晴らしさについて答えないでください。

将来の参考のために - これらの選択はすでに行われています:

  • Debian (Lenny) - CPU サイクルを有用なものに変換します。トラック
  • 0.11 - プロジェクト管理用 Gliffy - ワイヤーフレームなど用
  • Google Docs/Apps - ドキュメント、ホストされた電子メールなど...
  • Amazon ec2/S3 - ホスティング、ストレージ用。

乾杯、アダム

役に立ちましたか?

解決

場合によります。

php - symfony は素晴らしいフレームワークです。欠点:php、冗長でディレクトリが重い。プロペルは使うのが面倒になります。利点:php はどこにでもあり、人件費は安いです。よくできたフレームワークと優れたサポート。あなたの生活を楽にするたくさんのプラグイン

python - django も素晴らしいフレームワークです。欠点:Python プログラマーを見つけるのはさらに難しく、Django を見つけるのはさらに困難です。公式な移行がないため、DB スキーマの変更は多少難しい場合があります。期待どおりに mvc を実行できません。利点:必要なことはすべて実行でき、優れた Python std ライブラリとコミュニティが背後にあります。

Ruby - 私は merb を使ったことがないので、Rails について説明します。利点:あなたがやりたいことのほぼすべてに対応するプラグイン、宝石、またはレシピがあります。使いやすい。欠点:これらのプラグイン、ジェム、レシピは、時々不可解な方法で動作しないことがあります。モンキーパッチングはしばしば悪です。コミュニティは..ボーカル。ソフトウェアには独自の意見があり、時にはそれらの意見が間違っていることもあります (外部キーが不足している)。レール自体は、爆発して人生を何時間も奪われるのを待っているカードの塔のように見えます。

そうは言っても、私はフリーランスの php/symfony および Ruby/rails 開発者です。私は言語とフレームワークの両方でいくつかのプロジェクトに取り組んできました。私の最新のプロジェクトが Rails でできているのは、ひとえに ActiveMerchant のおかげです。私はしばらくの間、Django アプリを開発する理由を探していました。Django 用の ActiveMerchant のようなライブラリがあれば、おそらくそれを使っていたでしょう。

他のヒント

Django!

Google / YoutubeでDjangoConの講演をご覧ください-特に「再利用可能なアプリ」 (www.youtube.com/watch?v=A-S0tqpPga4)

Ruby / Railsを使い始めてから、しばらくDjangoを使用しています。 Djangoコミュニティはより簡単に(nicer)、 excellent の例で文書化された言語であることがわかりました。特に、カスタムコンポーネントをミックスにスローしたい場合は、モジュール性が素晴らしいです。あちこちで特定のものを使用せざるを得ませんでした。

おそらくRailsなどと同じように柔軟にする方法はあると思いますが、 http://www.djangoproject.com/

Eugeneは、現在1.0であると述べたため、2009年1月まで安定した下位互換性のあるコードベースのままです。

また、それが構築する自動管理インターフェースは、生産準備であり、非常に柔軟です。

申し訳ありませんが、あなたの質問は間違っています。おそらく私はこれに賛成票を投じるでしょうが、とにかく言いたいです:

客観的な答えを得ることは期待できません!どうして?簡単です:

  • すべてのRuby支持者はRubyを使用するように指示します。
  • すべてのPython支持者は、Pythonを使用するように指示します。
  • すべてのPHP支持者は、PHPを使用するように指示します。
  • ここに追加の言語を挿入します。

アイデアをお持ちですか?

言及した各言語を自分で試してみることをお勧めします。それぞれ少なくとも数日。その後、最終決定を下すためのはるかに優れた基盤が必要になります。

とはいえ、私はRubyを選択します(私はRubyの支持者だからです)。

全員が仕事を完了します。

あなたとあなたのチームが最もよく知っているものを使用してください

これは、他のどの変数よりも配信時間とアプリの安定性にはるかに大きな影響を与えます。

Pythonソリューションに慣れている場合は、Djangoを使用します。現在はバージョン1.0であり、順調に成熟しており、大規模なユーザーベースと多くの貢献者がいます。 jQueryの統合は問題なく、問題なく実行しました。

唯一のことは、私が知る限り、Rubyは最近のWeb開発ではるかに人気があるため、Ruby開発者を見つけやすくなっていることです。この印象は最近の求人広告を閲覧することで得られます-PythonやDjangoにはそれほど多くはありません。私はMerbについてあまり知らないので、公正な比較をすることはできません。

PHPを使って、新しいプロジェクトを開始することをお勧めしません。

あなたの理由に基づいて、私はRubyに行きます。いくつかの管理ツール(scp、ftpクライアント)が必要で、Rubyにはそれがあります(net / sftpおよびnet / ftpライブラリ)。

また、システムを監視するための神、デプロイするためのVlad the Deployerなどの素晴らしい逸品があります。また、Merbの分野では多くの選択肢があります。など)。

Djangoエコシステムの現在の状況を把握するには、チェックアウトすることをお勧めします

オリオン・エドワーズに同意することでこれを序文にしなければなりません。あなたのチームが最もよく知っているものを選択してください。

ただし、リストにASP.NET言語が不思議に欠けていることにも注意する必要があります。偉大な熱狂的な軍隊を挑発するのではなく、牛肉はどこにありますか? .NETは安定した迅速な開発プラットフォームであり、労働プールは日々成長しています。 VB.NETとC#は移植可能なスキルセットであり、開発者のチームを編成してさまざまなタスクセットに取り組む場合に非常に意味があります。 .NETでは、他の言語のようにプレゼンテーションレイヤーをバックエンドコードから分離することもできますが、iPhoneやFacebookアプリケーションなどのWebサービスとしてそのバックエンドコードを公開することもできます。

すべての提案を一粒一粒にして、アプリケーションに最適なものを選択してください。研究を行い、熱狂者ではなく機能を設計します。

免責事項:かつてPHP、ColdFusion、およびPerl開発者。 Flexの熱狂的ファンであり、Adobeの恋人。現在、エンタープライズ.NETアプリケーションを作成しています。 ;)

Monoを忘れないでください。* nixの下で.NETを実行できます。悪魔の擁護者を演じるだけで完璧だと言っているわけではありません。

サーバー側のページレイアウトの考え方にとらわれないでください。 SproutCore、GWT、ExtJSのような、レイアウトコードをクライアントに完全に配置し、サーバーがデータのマーシャリングと処理のみを担当する(そして簡単に交換できる)テクノロジーを検討してください。

そして、あなたは本当にあなたが望むサーバープラットフォームを知る必要があります。それはその月の風味であるため、1つを選択しないでください。あなたはそれに慣れているので1つを選択してください。風味は長続きせず、しっかりと構築されたコードベースが続きます。

Djangoでアプリをビルドしたので、その有用性を証明できます。すべてのフレームワークがエレガントである場合(はい、Spring、私はあなたを見ています)。

ただし、Djangoでファームを賭けるという点で考慮する必要があることの1つは、Python 3がまもなくリリースされることです。 Python 3は後方互換性がなく、フォールアウトに対処している間、すべてのPythonプロジェクトの言語を分岐させ、勢いを遅くするリスクがあります。公平を期すために、Ruby 2.0もまもなくリリースされる予定ですが、破壊的なものになるとは思いません。

過去10年間にわたるさまざまな新しいテクノロジーの経験から、プラットフォームの安定性を重要な基準にすることをお勧めします。最新かつ最高のフレームワークを使用したすべての開発は順調に進んでいますが、ポイントバージョンに移行すると、突然すべての作業が非推奨になり、不要な作業が増える可能性があります。これは特に、バージョン1よりも少し先のレールでの作業経験でした。そのため、作業を開始するときに少なくとも1.0でないプラットフォームは避けたいと思います。

Rubyは作業に最適であり、開発者の生産性を高く保ちますが、Djangoがより安定したプラットフォームである場合、私は確かにそれを支持します。

サーバーのセットアップに偏らないようにすることは有益です。ソースコードの重みに相当する最新のWebフレームワークには、何らかのSQL抽象化レイヤーがあります。 PostgreSQLのパフォーマンスが大幅に向上しました。これは、以前のMySQLの党派によるものです。

Apacheは、設定とサーバーのリソースの両方で使用できる獣です。 nginx lighttpd

(記録のために、私は大規模なDjangoユーザーですが、受け入れられた答えが言ったように、あなたのチームが知っていることなら何でも行ってください。迅速なターンアラウンドは新しいフレームワークを学ぶ時ではありません。チームを最初から作成し、Djangoを使用します。)

更新:Djangoを使用し、愛しました。私はPHPを完全に使い果たしました。ごめんなさい。新しいWeb 2.0サイトを作成しようとする将来の読者(プログラミングのバックグラウンドがあると仮定)は、このセットアップを大いに検討する必要があります。

ホスティング用Amazon ec2(月額80ドル-安くはないが、余裕があれば価値がある) Django / Python(Pythonは地球上で最も強力なスクリプト言語です-DjangoはWeb上で動作するようにします)

開発は、SQLliteおよびDjangoに付属の開発サーバーを使用して行う必要があります。数週間のベータを終了するまで、Nginx、Apache、MySQLで時間を無駄にしないでください。

ああ、今はMacで開発しています。これはローカルのDjango開発に最適です。

最後に、 Pinax は、 Django 開発。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top