6

Ruby や Python が Web 開発のコンテキストで議論されているのを見るたびに、それは常にフレームワーク (Ruby の場合は Rails、Python の場合は Django) と一緒です。これらのフレームワークは必要ですか? そうでない場合、これらの言語がフレームワーク内でよく使用され、Perl と PHP が使用されない理由はありますか?

4

14 に答える 14

4

Ruby についてしか話せませんが、いいえ、Web 上で Ruby ベースのページを実行するためのフレームワークは必要ありません。eruby/erb を実行する Apache などの ruby​​ 対応サーバーが必要です。ただし、いったん作成すると、インライン Ruby コードを処理する RoR と同じように .rhtml ファイルを作成できます。

于 2008-10-06T16:13:50.437 に答える
3

「必要」は強い言葉です。Python は確かにそれなしで書くことができますが、私はそうしたくありません。

Python は (たとえば PHP がそうであったように) 直接的な Web スクリプト言語として設計されたわけではないため、データベースへの接続などの一般的な Web っぽい機能はネイティブではなく、フレームワークは便利です。

編集: mod_python は Apache 用に存在するため、単にスクリプトを書きたいだけの場合は、Python にフレームワークは必要ありません。サイト全体を構築する場合は、いずれかを使用することをお勧めします。

于 2008-10-06T16:14:29.233 に答える
3

短い答えはノーです。それらは必要ありません。ruby には、PHP ページを使用するのと同様の方法で使用できる .erb テンプレートがあります。いくつかのテクノロジー (Rails のようなフレームワーク、テンプレート、または HTTP ライブラリと直接対話して CGI スタイルのページを構築することさえ可能) を使用して、Ruby または Python でサイトを作成できます。

Python の Django や Ruby の Rails (多数あります) などの Web フレームワークは、PHP や ASP から抽象化のレベルを上げて、いくつかのプロセス (ログイン、データベース インタラクション、REST API など) を自動化します。これは常に良いことです。

于 2008-10-06T16:21:12.153 に答える
3

Pythonic の観点からは、フレームワークの 1 つを絶対に使用する必要があります。はい、それらなしで Web アプリを作成することは可能かもしれませんが、きれいにはなりません。以下は、(おそらく) 最初から書くことになるいくつかのことです。

  • テンプレート化: 非常に簡単なハックを作成している場合を除き、Python コード内ですべての HTML を生成したくはありません。これは非常に貧弱な設計であり、保守性の悪夢になります。

  • URL の処理: URL を分割し、どのコードを実行するかを特定することは簡単な作業ではありません。Django (たとえば) は、一連の正規表現から一連のビュー関数にマップする素晴らしいメカニズムを提供します。

  • 認証: 独自のログイン/ログアウト/セッション管理コードを展開するのは面倒です。特に、事前に作成された (およびテスト済みの) コードが利用可能な場合はなおさらです。

  • エラー処理: フレームワークには、a) アプリのデバッグを支援し、b) 適切な 404 および 500 ページへのリダイレクトを支援する適切なメカニズムが既に用意されています。

これに加えて、すべてのフレームワーク ライブラリは厳重にテストされています (およびファイア テストされています)。さらに、同じコード ベースを使用して開発している人々のコミュニティがあるため、質問がある場合は、おそらくヘルプを見つけることができます。

要約すると、そうする必要はありませんが、プロジェクトが「新しい Web フレームワーク」でない限り、代わりに既存のもののいずれかを使用した方がよいでしょう。

于 2008-11-10T13:26:53.183 に答える
2

フレームワーク?Python を使用している場合は、Web サーバーは必要ありません。約 3 行のコードで作成できます。

于 2008-10-06T16:28:23.993 に答える
1

これらのフレームワークは必要ですか?

いいえ。他の「フレームワーク」と同様に、これらは単に開発時間を短縮し、プログラマーの仕事を容易にするためのものです。

そうでない場合、PerlとPHPが使用されていないのに、これらの言語がフレームワーク内で頻繁に使用される理由はありますか?

PHPとPerlは、フレームワークを使用するというアイデアが登場するずっと前から、Webサイトを構築するための一般的な言語でした。Railsのようなフレームワークは、Rubyに次のようなものを与えました。PythonやRubyがフレームワークに支えられる前は、Web言語ほど一般的であったかどうかはわかりません。

最近では、PHP / Perl Web開発でさえ、フレームワーク(現在は多くあります)に支えられている必要があります。

于 2009-07-06T11:31:05.557 に答える
1

理由について:

私が考えることができる最ももっともらしいことは、Web アプリケーションにフレームワークを使用するという概念が普及する前に、Perl と PHP が開発されたということです。したがって、物事を行う「古い」方法は、それらの文化で立ち往生しています。Ruby と Python は、フレームワークが普及した後に普及したため、一緒に開発されました。言語に、コミュニティによって十分にサポートされている優れたフレームワーク (または複数) がある場合、フレームワークなしで Web アプリを作成しようとする理由はほとんどありません。

于 2008-10-06T16:16:19.773 に答える
1

フレームワーク自体は必要ありませんが、開発をスピードアップし、「より良い」コードを作成するのに役立ちます。PHP には間違いなくCakePHPのように使用されるフレームワークがあり、Perl にはMasonCatalystのように多くのフレームワークがあります。

于 2008-10-06T16:17:29.243 に答える
1

フレームワークは必要ありません。ただし、多くの開発者は、フレームワークが多くのことを自動化することで開発を容易にすると考えています。たとえば、Django は、データベース構造に基づいて、本番対応のバックエンドを作成します。必要に応じて、さまざまなプラグインを組み込むこともできます。Rails や Perl フレームワークについてはあまり詳しくありませんが、Zend、Symfony、Code Igniter、CakePHP などの PHP フレームワークは広く使用されています。

私が働いている場所では、独自の PHP フレームワークを開発しました。

于 2008-10-06T16:19:46.040 に答える
0

これらの開発フレームワークは決して必要ありません。しかし、ほとんどの開発環境と同様に、アプリケーションを参照して構築するためのサポートされているフレームワークがあれば、生産性は飛躍的に向上します。また、他の人があなたが使用しているフレームワークの核となる部分を既に理解している場合、あなたのアプリケーションをすぐに理解できるようにするために必要なトレーニングも軽減されます。

于 2008-10-06T16:15:02.367 に答える
0

「印刷」できる言語であれば、Web ページの生成に使用できますが、フレームワークが多くの HTML 生成を処理します。生の HTML のコーディングの詳細よりも、コンテンツに集中することができます。

于 2008-10-06T16:15:06.783 に答える
0

Python の場合、答えは「いいえ」です。その必要はありません。Web サーバーの背後に直接 Python を書くのは非常に簡単です。その方法については mod_python を参照してください。

フレームワークは多くの定型コードを信頼できる形式で提供し、自分で記述する必要がないため、多くの人がフレームワークを好みます。ただし、他のコード プロジェクトと同様に、問題に対するメリットに基づいてツールとフレームワークを選択する必要があります。

于 2008-10-06T16:15:07.080 に答える
0

確かに、どちらの言語でも CGI スクリプトを記述して、「そのまま」実行できます。

フレームワークは (理想的には) 他の人が既に処理したもの (セッション処理など) のために大量のコードを書く手間を省きます。

決定は、おそらくあなたが何をする必要があるかにかかっています。フレームワークに必要な機能がある場合は、それを使用しないでください。フレームワークに大規模な変更が必要になる場合は、独自のものを展開する方が簡単かもしれません。または、別のフレームワークをチェックしてください。

Python ライブラリには、cgi、html、cookie、WSGI などを解析するための多数のモジュールがあります。

http://docs.python.org/library/index.html

于 2008-10-06T16:15:58.637 に答える
0

PHP には多くのフレームワークがあります。おそらくほとんどの場合。Ruby ではほとんどが Rails を使用しているため、それがよく耳にしますが、Python 用の Django についてはあまり言及されていません。しかし、PHP には多くの選択肢があります。

Web アプリケーション フレームワークの一覧

于 2008-11-10T13:12:11.200 に答える