web-dev-qa-db-ja.com

Pythonを使用して、iOSとAndroidの両方のクロスプラットフォームアプリを作成することはできますか?

Pythonを使用してiOSとAndroidの両方のクロスプラットフォームアプリを作成することは可能ですか?

78
user1404932

Androidの場合、GoogleはASE(Android Scripting Environment)と呼ばれるものを提供し、スクリプト言語(Pythonを含む)をAndroidで実行できるようにします。詳細 こちら

IOSの場合は、かなり複雑になる可能性があります(また、最新のiOS SDK契約を確認して法律の現在の状態を確認することをお勧めします-Appleは、こうしたアプリを定期的に許可および禁止する傾向があります)。技術的な部分については、PythonとObjective Cの間のインターフェイスが必要な場合があります。また、Pythonが必要とするすべてのライブラリを静的にリンクするためのウィザードを実行する必要があります。完全な詳細が利用可能です こちら 。 iOSの別のアプローチPython開発では、アプリにPythonインタープリターを埋め込み、Pythonスクリプトを配布します(したがって、Appleルール)。この場合、Pythonアプリケーションは、スクリプトにパッケージ化されて自動的に実行されるPythonインタープリターになります。

2番目のオプションは、Kivyフレームワーク(kivy.org)を使用することです。これは、Pythonでタッチフレンドリーなアプリケーションを記述し、異なるプラットフォーム用にパッケージ化するフレームワークです。しばらくAndroidのサポートがあり、最近iOSのサポートが追加されました

27
Raheel

オプションは kivy :Android、Win7、Linux、MacOSX、iOSで動作するクールなクロスプラットフォームPythonフレームワークです。

更新:kivyプロジェクトは日々成長しており、Raspberry Piもサポートするようになりました

75
piertoni

GUIアプリケーションを作成するには、 Toga ライブラリを使用し、それを briefcase でパッケージ化してAndroidおよび/またはiOSアプリ(またはWindows、Linux、macOSなど)。

注:プロジェクトはまだアルファ状態ですが、急速な開発中です。

4
Ocupe

brythoncordova を組み合わせて試すことができます。 Brython wikiには Androidアプリの記述方法 が記載されています。ただし、その性質上、BrythonはOpenCVなどのx86でコンパイルされたパッケージをサポートできないことに注意してください(たとえば、 here を参照してください)。 JavaScript/HTML5、WebViewネイティブ関数を使用できます。たとえば、 http://www.brython.info/gallery/three.html

2
Tobias Kienzler

@piertoniが述べたように、 BeeWare はネイティブiOSを有効にし、AndroidアプリはPythonで書かれます。

0
michael