2012-01-03 6 views
3

私はRubyのファンですが、私はPythonに反対しません。 (私は2年以上のRubyの経験を持ち、おそらく2ヶ月のPythonを持っています)。クロスプラットフォームのコンパイル済みアプリケーションを作成するためにPythonまたはRubyを使用する必要がありますか?

とにかく、別のディレクトリから特定のファイルを取り出してS3に送るMacとWindowsの両方のサービス(実際にはLinux)を作成する必要があります。私は Windowsで.NETを使用することができますが、私はObjective-Cを使いたくないので、すべてのプラットフォームで同じコードベースを維持したいと思っています。

少し掘り下げた後、私はRubyまたはPythonをバイトコードにコンパイルし、コードを実行するためのインタープリタを配布できるはずです。

しかし、Pythonがコードのコンパイルをサポートしていると仮定するのは間違っていますか? .pycバイトコードのように?

は私のソースコードを読むことができませんが、私はそれらを試してやめるために世界の終わりに行くつもりはありません。

ありがとうございます!

+2

の可能性のあるDUP http://stackoverflow.com/questions/940149/distributing-ruby-python-desktop-apps;本質的にpy2exeとOCRAは同等のタスクを実行します。 – SimonJ

+0

これは重複しているかどうかわかりません。リンクされた質問は、ユーザーがRuby/Pythonをプリインストールしなくても、Ruby/PythonのGUIアプリケーションを配布することです。この質問は、ソースコードを配布することなく、ルビ/パイソンのバイトコードを配布できるかどうかについてです。 – Ben

+0

余分なヒント:WindowsとLinuxでどのように水銀(およびひねり)がパッケージ化されているかを調べます。それらはどちらもPythonで書かれています。 ToroisehgはPyQTを使ってGUIを駆動します。 – aitchnyu

答えて

3

Pythonソースコードの配布を避けるために、Pythonバイトコード(.pycファイル)を実際に配布することができます。

this answerによれば、Ruby実装の中には、バイトコードのコンパイルもサポートしているものがあります。

あなたが選んだRubyの実装によっては、PythonとRubyの使用方法にほとんど違いがないようです。

バイトコードは逆アセンブルするのが難しくありませんので、やる気のあるユーザーはあなたのプログラムの内部についてかなり知ることができます。難読化ツールを使用すると、バイトコードをリバースエンジニアリングするのが難しくなります(それでも不可能ではありません)。詳細はthis Python questionthis Ruby questionで詳しく説明しています。

+0

私はPYCファイルが移植可能であるとは思わない。 –

0

どんな言語あなたは、よく知っている私のpythonを知っているし、Windowsのデスクトップアプリケーションを開発するためにそれを使用して言うと、エンドユーザーはそれを区別することはできません使用C#またはC++アプリ

関連する問題