9

私は、財務、在庫、その他のビジネス要件アプリケーションなどのビジネスデータベースアプリケーションを構築してきました。Pythonに移行する予定です。最高の状態から始めるためのツールは何でしょうか。マスター、トランザクションフォーム、処理(バックエンド)、レポートなどを行う必要があります。データベースはpostgressまたはmysqlになります。私はPythonを初めて使用するので、Pythonの他にORMとフレームワークが必要であることを理解しています。私のアプリケーションはWebサイトに関連していませんが、必要に応じてWeb経由で実行する必要がある場合もあります。

ツールの組み合わせの初期設定を選択するにはどうすればよいですか?

4

6 に答える 6

12

私があなたなら、おそらく最初にDjangoに基づくWebベースのソリューションがうまくいくかどうかを調べます。ルックアンドフィールを少し改善する必要がある場合は、jQueryをミックスに追加します。機能が少なすぎる場合は、PyQtを選択してください。非常に小さなアプリケーションがたくさんある場合は、さまざまなテクノロジーを組み合わせてください。以下に、この推奨の私の(やや長い)理由を示します。

Webアプリケーションとデスクトップアプリケーション

1年前、ビジネスデータベースがあり、フロントエンドが必要でした。フロントエンドに使用するテクノロジーを決定する必要がありました。私たちは考えました:

  1. PyQt
  2. Webベース(PythonのWebフレームワークの概要についてはこちらをご覧ください)

私たちの観点から見たPyQtの利点:

  • Qtがタスクに適していることがわかったQtの以前のC++の経験。
  • 必要なすべてのツールが含まれています。
  • リッチクライアントの開発が簡単です。

ただし、PyQtに反対し、代わりにWebベースのソリューションを選択しました。理由は次のとおりです。

  • フロントエンドの要件は控えめで、ブラウザー内で簡単に実行できました(ほとんどの場合、レポート、データの入力または機能の実行のためのいくつかのフォーム)。
  • すべてが制御された環境のサーバーでのみ行われるため、アプリケーション(および新しいバージョン、バグ修正など)の展開ははるかに簡単です。
  • アクセス制御/認証/権利は、サーバー(この場合はActive Directory認証を使用するApache)とブラウザーの一部であるため、「無料」です。これは私たちにとって重要です。
  • アプリケーションはとにかくサーバー接続を必要とし、クライアント側に何も保存する必要はありませんでした。

一言で言えば、制御された展開環境で多くの機能を備えた機能豊富なフロントエンドは、おそらくQtを使用して実装する方が簡単です。軽量のフロントエンドの場合、サーバーベースのソリューションの方が優れているように見えました。

どのWebフレームワークですか?

テクノロジーを決定したので、フレームワークを選択する必要がありました。少し調べて、2つの選択肢を詳しく調べました。

  1. Django
  2. ディスパッチャとしてのCherryPy(httpリクエストを機能および関連するすべてのものに一致させるため)、Webページを生成するためのテンプレートライブラリとしてのMako、ORMとしてのSQLAlchemy 、およびクライアント側機能のためのjQueryで構成されるソフトウェアのスタック。

2つの選択肢を評価し、最後に2番目の選択肢を決定しました。この決定は、私たちの本当に「軽量-軽量」なフロントエンド要件(多くの非常に小さなアプリケーション)によって推進されました。必要に応じて組み合わせることができるソフトウェアのスタックは、私たちにとってはより良いように思えました。Webフロントエンドが不要な状況や、テンプレートライブラリやORMなしでCherryPyを使用できる状況などで、SQLAlchemyを再利用できます。ただし、他の多くの場合、このスタックではなくDjangoを選択します。

総括する:

  • 1つの大きくて複雑なアプリケーション->PyQt
  • 1つのルックアンドフィールを備えた比較的類似した戦略的なレポート、フォームなどのセット-> Django
  • 要件が大きく異なり、テクノロジーを使用したり、他の状況で一部のテクノロジーを再利用したりする、比較的多様なもののセット->必要に応じてテクノロジーを組み合わせる
于 2009-06-20T09:37:32.520 に答える
4

私があなただったら、djangoから始めます。

于 2009-06-20T02:40:48.830 に答える
1

Boudewijn Rempt がここに書いたように、「[[NON-web]] データベース アプリケーションを作成する最も簡単な方法については、PyQtを参照してください」. 彼はこれを 6 年前に書いたが、今日も完全に真実だと思う。特に、 pyqt4 のQtSqlモジュールは、MySQL、PostgreSQL、およびその他のいくつかのデータベースをサポートしています。

于 2009-06-20T02:56:40.687 に答える
0

参考までに、PyQT の場合、この本にはデータベースに関する第 15 章があり、良さそうです。この本にはデータやビューなどが含まれています。私はそれを読みましたが、時間を割く価値があると思います:)

于 2009-06-20T08:02:24.477 に答える