3

私が持っているプログラムのアイデアでは、ソフトウェアがすべての主要なデスクトッププラットフォームで実行可能な1つのバイナリで記述されている必要があります。つまり、インタプリタ言語またはJVM内の言語が必要です。どちらも私には問題ありませんが、プログラミング言語はパワーとシンプルさのバランスをとる必要があります(例:Python)

私はwxPythonを知っていますが、MacOSXでのサポートはかなり制限されていることを読みました

Javaは良さそうですし、見た目も良さそうですが、プログラミングするのはほとんど難しいようです。

何か助けはありますか?

4

11 に答える 11

6

私はPythonをwxPythonでかなり長い間使用していましたが、非常に使いやすいことがわかりました。現在、SwingとSWTの両方でJavaを使用しています。

私はJavaが好きですが、それは個人的な好みなので、それがあなたを動揺させてはいけません。

PythonからJavaへの移行はそれほど難しいとは思いませんでした。GUIに関しては、どちらにもレイアウトマネージャーのパラダイムがあります。マネージャーは異なりますが、それほど違いはないため、切り替えに問題が発生します。

Javaには、コンポーネントをつなぎ合わせるだけで、独自のバージョンを作成する必要がないほどの巨大なクラスライブラリがあります。私はPythonをそれほど深く理解したことはありませんが、似ているかもしれません。私が気づいたことの1つは、Pythonで使用したすべての非常に優れた機能(たとえば、s [-4:-1])は、Javaでも非常に簡単に実行できることです。どちらの言語も、自分のライブラリで文字列を管理する必要があったCからのステップアップでした。

wxPythonがMacOSで制限されていると思われる場合は、Javaを試してみてください。互換性の問題なしに、Windows、Linux、およびその他のUNIXでJavaコードを実行しています。悲しいことに、Macではないので、実際にアドバイスすることはできません。

私のアドバイスですが、小さなプロジェクトを選んでください。PythonとJavaの両方で実行してください。関心のあるすべてのプラットフォームでどのように実行されるかを確認してください。

于 2009-10-31T04:43:05.013 に答える
5

PyQtを使用したPython、または最終的には同等であるが無償のPySideが道のりのようです。結局のところ、Javaよりもプログラミングが簡単な言語はほとんどありません(「プログラミングがほとんど難しい」と考えています)。 Pythonはそれらの数少ないものの1つであり、Qtは間違いなくあらゆる言語で最高のクロスプラットフォームGUIツールキットであり、PyQt(現在はGPLまたはfor-$$$)またはPySide(最終的には、独自のクローズソースを作成したい場合でも無料です) code)はPythonとQtの間の強力なインターフェースです。

于 2009-10-31T04:52:15.650 に答える
3
于 2009-10-31T04:44:38.527 に答える
3

Tcl/Tk を検討してください。「すべての主要なデスクトップ プラットフォームで [sic] 実行可能な 1 つのバイナリ」をどのように定義するのかはわかりませんが、Tcl はおそらく java と同様にこれを満たし、他のどのスクリプト言語よりも優れている可能性があります。

starkits の tcl パッケージング テクノロジを使用すると、a) 適切なランタイム エンジンを備えた任意のプラットフォームで実行できる単一のファイルを作成する (すべてのメジャー プラットフォームと多くのマイナー プラットフォームで利用可能)、またはそのプラットフォームをパッケージ化することができます。特定のランタイム エンジンとクロスプラットフォームのスターキットを、プラットフォームごとに 1 つの実行可能ファイルに変換します。

starkit テクノロジーは、他の言語が目指すべきものです。得られるのは、単一のファイル内の完全で完全に機能する仮想ファイル システムです。これにより、サウンド ファイル、dll/.so ファイル (明らかな (?) 理由でディスクにコピーする必要がある)、画像、データなどを実行可能コードと一緒に簡単にパッケージ化できます。

グラフィカル ライブラリである Tk は非常に成熟しており、すべてのプラットフォームで優れたサポートを提供します。時代遅れに見えると考える人もいますが、それらの印象は通常、少なくとも 5 年以上前の情報に基づいています。現代の Tk はかなり良さそうです。いくつかの例については、tkdocs Web サイトを参照してください。見栄えと機能のどちらに関心があるかはわかりませんが、機能に関心がある場合は、Tk を真剣に検討する必要があります。

ほとんどの人は、Tcl は慣れ親しんだものであることに同意しますが、専門的に使用する人は通常、Tcl を信頼しています。私はここ数か月 wxPython プログラミングを行ってきましたが、機会があればすぐに tcl/tk に戻すつもりです。

于 2009-11-05T15:37:00.500 に答える
2

Groovyを使用して、Javaの複雑さを回避できます。

それでも、Swingの優れた基盤が必要です。

学習曲線は険しいかもしれませんが、次のプラットフォームのためにアプリケーション全体を完全に書き直す必要がないというトレードは、良い報酬になります。

クロスプラットフォームであっても、プラットフォームごとにイディオムが異なることを考慮する必要があります(たとえば、Windowsではコピー/貼り付けはctrl + v、ctrl + vですが、Macではcmd + c、cmd + vです)。

于 2009-10-31T04:37:47.137 に答える
1

私はWindows、Linux、OS X(そしてOS Xが私の開発プラットフォーム)で実行する必要のあるプログラムに取り組んでおり、wxPythonが私たちが使用しているものです。

もう一度やり直す機会があれば、おそらくPyQTを使用しますが(友人からのアドバイスに基づく)、wxPythonで作業を完了できます。

于 2009-10-31T04:46:12.703 に答える
1

「MacOSXでのサポートはかなり制限されている」とはどういう意味かわかりませんが、wxPythonはかなり良いと思いますが、wxPythonアプリ(www.mockupscreens.com)をMacに移植しており、それほど難しくはありませんでした。 wxPythonはネイティブUI要素を使用するため、微調整がほとんどない場合など、一部のUI要素が期待どおりに表示されない場合があります。これは、要件に応じて長所または短所になる可能性があります。

他の良いオプションは、すべてのプラットフォームで一貫した外観を提供するPyQTです。

于 2009-11-01T05:29:33.270 に答える
0

Javaはあなたが望むものに適しているようです。

では、JavascriptのWebアプリケーションはどうでしょうか。

于 2009-10-31T04:50:33.287 に答える
0

SWTはどうですか

  • クロスプラットフォーム
  • ネイティブルックアンドフィール
  • 巨大なコミュニティ
  • 継続的に保守/アップグレードされます(IBMが支援します)
  • 少なくとも1つのメガ成功したクロスプラットフォームプロジェクト
于 2009-11-01T05:38:24.250 に答える
0

wxPythonルートを使用することをお勧めします。wxWidgets(wxPythonが使用しているもの)で見栄えの良いMacアプリを作成できることを知っています(postgresqlのPgAdmin3を参照)。PgAdmin3はPythonでは実行されませんが、wxWidgetsで実行され、Macでは問題なく表示されます。

于 2009-11-05T15:42:37.463 に答える
0

私は定期的に 3 つのクロスプラットフォーム ツールを使用しています。Runrev からの革命。Hypercard が生き残ることが許されていたらどうなるか (そして、構文が基本的に英語のスクリプト言語を使用することでうまく機能します)。最後に、Mono を使用した Delphi Prism です。

どれもかなり成熟しており、しかも急速に拡大しています。たとえば、Revolution は、本当に使いやすい Web アプリケーション機能をその言語に導入しようとしています。

于 2009-11-05T15:51:18.367 に答える