12

私はプログラマーとしてPythonとC++の両方に精通しています。私は自分のシンプルなWebアプリケーションを作成することを考えていましたが、サーバー側のWeb開発に適した言語を知りたいと思いました。

私が探しているもの:

  • 直感的でなければなりません。Wtが存在し、Qtのモデルに従っていることを認識しています。Qtについて私が嫌うことの1つは、あいまいな手段(たとえば、「パブリックスロット:」イディオム)を通じて奇妙な構文を奨励することです。C ++を作成する場合は、標準で認識可能なクリーンなコードである必要があります。Qtが提供する派手な恥ずかしさはありません。
  • 私が書かなければならない非C++またはPythonコードは少ないほど、良いです。Django(Python Webフレームワーク)についてのことは、HTMLをほとんど手作業で作成する必要があるということです。HTMLフォームがwxWidgetsのアプローチをもっと取り入れれば素晴らしいと思います。Wtはこれに近いですが、wxWidgetsではなくQtモデルに従います。

私は通常、C ++でビデオゲームを書いていますが、Web開発の経験はありません。私は多くの理由で素敵なウェブサイトを書きたいと思っています。学習体験にしたい、楽しいものにしたい、そして「楽しいもの」に簡単に集中できるようにしたい(たとえば、定型文を減らし、アプリの内容を増やしたい)。

初心者のWeb開発者向けのヒントはありますか?Webアプリフレームワークが進むべき道だと思いますが、それはただ1つを選ぶだけの問題です。

4

7 に答える 7

12

私はWtと一緒に行きます:

  • あなたはすでにC++を知っています
  • それは素晴らしいレイアウトシステムを持っているので、あなたはたくさんのHTMLを知る必要はありません
  • それは非常によく書かれていて、コーディングするのが楽しいです
  • デプロイされたアプリは、より少ないハードウェアでPythonアプリの50倍の負荷を処理します(pylonsアプリの経験から、ploneアプリの10,000倍の負荷:P)
  • 最初の質問の人がそうではないと言っているすべてのライブラリがあります
  • Web2.0は後から考えたものではありません。すべてのPythonフレームワークのようなRequest+Responseモデル(私が知る限り)ではなく、イベント駆動型のインタラクティブモデルで設計されました。
    • 可能な場合はWebSocketを使用します
    • そうでない場合は、通常のajaxに正常にフォールバックします
    • linxなどのブラウザの場合はhttpにフォールバックします
  • これは、おそらくあなたが慣れているWebアプリというよりもGUIアプリをコーディングするようなものです。
  • 静的に型付けされるため、エラーが発生しにくくなります。def delete(id):intまたはstringを取りますか?
  • 単体テスト(少なくとも私のアプリでは)は、Pythonアプリの単体テストの実行にかかる時間(コンパイル時間を含む)の10〜100分の1になります。
  • 強力で友好的なコミュニティがあります。私のすべてのメーリングリストの投稿は0〜3日で回答されます。
于 2012-07-02T20:14:47.370 に答える
9

HTMLの記述を避けたい場合は、GWTを試すことができます。ただし、私の経験では、中間フレームワークを使用してHTMLとECMAScriptを生成することは、ページの手書きだけでなく、近くでも機能することはありません。

[編集]nikowはコメントの中で、パジャマはGWTからPythonへの移植であると述べています。

言語に関しては、C ++とPythonのどちらかを選択できれば、100%Pythonを選択します。これらの言語間の抽象化の明らかな違いを無視しても、PythonにはC++よりも便利なライブラリがあります。独自の開発指向のWebサーバーを作成する必要はありません。Djangoには1つ付属しています。カスタムテンプレートライブラリを作成する必要はありません。PythonにはGenshiがあります。Djangoには対応するORMレイヤーが付属しています。さらに制御を強化するには、SQLAlchemyを使用できます。それはかろうじてコンテストです。

于 2009-08-17T19:40:27.833 に答える
8
  • DjangoはWeb開発を開始するのに良いポイントですそれは素晴らしいフレームワークです
  • C ++を探す場合は、CppCMSを見てください。これは、Djangoにはるかに近く、Qtを模倣するWtとは異なります。

いずれにせよ、それは本当にあなたのニーズに依存します。C ++は、組み込みまたは高性能のWebアプリケーションに使用できますが、中規模のWebサイトにはDjangoの方が適しています。(そして私はCppCMSの開発者です)

于 2009-08-17T19:54:21.657 に答える
1

あなたの場合は最初のPythonを使用する方が良いと思いますが、その間、cppCMS機能を拡張して、その周りに独自のフレームワークを作成することができます。

wtは良いアイデアのデザインでしたが、どういうわけかそれほど適切ではありませんでした。

于 2009-08-17T21:40:03.503 に答える
1

Pythonフレームワークを探索している場合(私が思うに例外的な答えに基づいて)、 CherryPyをチェックするのは本当にあなた自身のおかげだと思います。CherryPyアプリを作成する場合、実際にはPythonアプリを作成しているだけです。フレームワークは本当に急いで邪魔になります。独自のテンプレート、ORM(ORMを使用する場合)などを自由に選択できます。真剣に、10分または20分かけて見てください。

于 2009-08-17T21:40:57.310 に答える
0

PythonではなくC++を使用する唯一の理由は、速度が最優先される場合です。

これが初めてのWebアプリになる場合は、Pythonだけで問題ない可能性があり、開発速度はCPPよりも桁違いに速くなります。

Djangoのテンプレート言語は、無力とはほど遠いものです。私には、実際には非常にPythonのように見えます。実際には、テンプレートに純粋なPythonを記述できます(ただし、これは一般的には推奨されません)。

さらに良いことに、Djangoのテンプレートシステムをお好みのものに置き換えることができます。私の個人的なお気に入りの言語はHAMLです。

これに関するいくつかのデータは次のとおり です。PythonおよびDjangoで使用するためのHAML実装はありますか

于 2009-08-17T19:46:48.180 に答える
0

django、pylos、web2py、wtなどのいくつかのものを見てきました。私のおすすめはweb2pyです。これは「rubyonrails」のPythonバージョンであり、簡単に習得できます。

于 2009-09-25T02:39:51.020 に答える