5

私は約 2 年間、多くの同僚に配布しているいくつかの小さな科学プログラムに wxPython を使用しています。私は wxPython が好きで、すでによく知っていますが、気が狂ってしまうことはほとんどありません (wxPython のせいではありません。実際には wxPython を使い続けたいと思っています)。

1) さまざまなオペレーティング システムに多くのユーザーがいます。wxPython がクロス プラットフォームであることは知っていますが、すべての小さなソフトウェア (および今後さらに増える予定) を毎回異なるオペレーティング システムに移植する神経も時間もありません。特に使っていないもの(Windows7、Mac)もあるので、問題やユーザーリクエストの解決に苦労しています。

2) 私たちはソフトウェアをかなり頻繁に更新します (常に新しいアイデアがユーザーと私たち自身から生まれるため)。これは、すべてのスタンドアロンを再度生成し、それらをアップロードし、ユーザーがアンインストールして再度インストールすることを意味します。汚い...

すでに Web フレームワークに切り替えようと考えていましたが、いくつか問題があります。まず、旅行中やインターネットがないときなど、多くのユーザーが私のソフトウェアをオフラインで使用することを好みます。2 つ目は、サーバーに絶対に送信してはならないデータがいくつかのデータベースにある場合です。それはすべて特許に関するものであり、常に議論になるので、物事を単純化するために、いくつかのプログラムをスタンドアロンのデスクトップ アプリケーションにすることを好みます。他の人はオンラインで問題ありません。

したがって、一般的には、誰もがブラウザーを持っているので、ブラウザー ベースのソリューションが大好きです。Django プロジェクトをスタンドアロンのデスクトップ アプリケーションとして移植した人もいましたが、これは悪い考えではありませんでした。私はキャメロットについても赤字ですが、これはどちらかというとデータベース向けだと思います。Camelot は、データベースの検索および抽出プログラムである私のツールの一部にのみ役立ちます。しかし、他の人はデータベースをまったく使用しません。

誰でも私に提案できますか、私のツールの良い解決策は何ですか?

4

3 に答える 3

5

UI を提供するために、たとえばフラスコを使用できます。

したがって、通常どおりにアプリケーションを作成しますが、GUI は使用しません (通常は、とにかくロジックと GUI を分離する必要があります)。その後、たとえばFlask (私はこのマイクロフレームワークが本当に好きですが、 Bottleのようなものもあります) を使用して、Web サイトの形式で UI を記述します。この Web サイトは、ローカルで (1 行のコードです: app.run() URL を使用して Web サーバーで開きますhttp://localhost:5000)、または apache や nginx を使用して Web サーバーで実行できます。

于 2012-04-23T14:35:15.447 に答える
2

Flexを Python で使用するのはどうですか? インターフェイスは移植可能です (Flex がフラッシュ ファイルを作成するため)。また、Python を使用してインターフェイスを接続できます。

さらに、(アプリに基づいて) それらを Web 上にデプロイするか、Flex を使用してネイティブ実行可能ファイルとしてラップするかを決定できます。

唯一の課題は、アプリケーションを Windows 用にパッケージ化することを決定した場合、Python を正しくパッケージ化することです (必要な場合)。

于 2012-04-23T16:36:46.077 に答える
1

これは、ユーザーがアプリケーションを使用する方法には合わないかもしれませんが、Linux 仮想マシン (Virtualbox はほとんどの一般的なオペレーティング システムをホストとしてサポートします) を作成し、代わりにそれを配布することも 1 つのオプションです。

これにより、開発対象が 1 つになり、おまけとして、選択したディストリビューション (Apt、Yum など) の更新メカニズムを調べると、独自のサーバーをソースとして追加し、VM を維持できるはずです。ユーザーが何もする必要なく、それ自体が更新されます。

于 2012-04-23T17:10:45.060 に答える