developer tip

완전히 파이썬으로 된 안드로이드 앱

copycodes 2020. 12. 25. 10:21
반응형

완전히 파이썬으로 된 안드로이드 앱


Play 스토어를 통해 배포 할 (보다 간단한) 안드로이드 앱을 개발하고 싶습니다. 나는 파이썬으로 완전히하고 싶습니다. 그러나 온라인 연구는 저를 깨우치지 못했습니다. 대부분의 댓글은 구식이거나 (> 1 년이되었고, 그 이후로 파이썬이 더 잘 통합 될 수 있다고 생각합니다) 또는 안드로이드 에서 파이썬실행하는 것에 대해 이야기합니다 (예 : 여기 ).

따라서 질문에 대한 정보를 찾고 있습니다.

  • 파이썬으로 완전히 앱을 개발하는 것이 가능합니까? 그리고 그렇게 할 수있는 도구는 무엇입니까? (예를 들어 Kivy가 권장됩니까?)
  • 그렇다면 :이를 구현하기위한 최상의 소프트웨어 환경은 무엇입니까? (Android Studio 사용에 실패했지만 거기에서 Python 코드를 실행하는 방법을 찾지 못했습니다.)

저는 앱 개발에 익숙하지 않으며 아직 알지 못하는 Jave 등이 아닌 Python에서이 작업을 수행하는 모든 리드에 대해 높이 평가할 것입니다.

미리 도와 주셔서 감사합니다.


첫 번째 질문에 대답하려면 : 예 순수한 파이썬 안드로이드 응용 프로그램을 개발 가능하다 난 당신이 사용하는 것이 좋습니다이를 달성하기 위해, BeeWare 단지입니다, 파이썬 도구 제품군을 함께 잘 일을하고 개발하는 데 사용할 수 있음 파이썬의 플랫폼 네이티브 애플리케이션.

체크 아웃 이 비디오를 완벽하게 설명하고 그것의 응용 프로그램을 보여줍니다 BeeWare의 창조자에 의해

작동 원리

Android에서 선호하는 구현 언어는 Java입니다. 따라서 Python으로 Android 애플리케이션을 작성하려면 Java Virtual Machine에서 Python 코드를 실행할 수있는 방법이 있어야합니다. 이것이 VOC가하는입니다. VOC 는 트랜스 파일러입니다. Python 소스 코드를 가져 와서 CPython Bytecode로 컴파일 한 다음 해당 바이트 코드를 Java 호환 바이트 코드로 트랜스 파일합니다. 최종 결과는 Python 소스 코드 파일이 Android 애플리케이션으로 패키징 할 수있는 Java .class 파일로 직접 컴파일된다는 것입니다.

VOC를 사용하면 네이티브 Java 개체가 Python 개체 인 것처럼 액세스하고, Python 클래스로 Java 인터페이스를 구현하고, Python 클래스로 Java 클래스를 하위 클래스로 구현할 수 있습니다. 이를 사용하여 네이티브 Android API에 대해 직접 Android 애플리케이션을 작성할 수 있습니다.

기본 Android 애플리케이션을 작성한 후에는 Briefcase사용 하여 Python 코드를 Android 애플리케이션으로 패키징 할 수 있습니다 .

서류 가방 은 Python 프로젝트를 독립형 기본 애플리케이션으로 변환하는 도구입니다. 다음을 위해 프로젝트를 패키지화 할 수 있습니다.

  • 윈도우
  • 리눅스
  • iPhone / iPad
  • 기계적 인조 인간
  • AppleTV
  • tvOS.

BeeWare 제품군을 사용하여 Python으로 작성된 이 기본 Android Tic Tac Toe 앱을 확인할 수 있습니다 . GitHub에서

BeeWare 도구 외에도 애플리케이션을 테스트하려면 JDK 및 Android SDK가 설치되어 있어야합니다.

그리고 두 번째 질문에 대답 : 좋은 환경이 당신은 내가 당신이 시도 제안 좋은 파이썬 IDE를 찾고 있다면 당신은 텍스트 편집기 및 명령 줄 또는 IDE이라고해도 편안 아무것도 할 수있다 Pycharm를 , 그것을 가지고 무료로 제공되는 커뮤니티 에디션으로 같은 회사에서 만든 사실로 인해 안드로이드 스튜디오와 비슷한 환경을 가지고 있습니다.

도움이 되었기를 바랍니다.


웹 사이트에 설명 된대로 BeeWare를 사용해 볼 수 있습니다.

Python으로 앱을 작성하고 풍부한 기본 사용자 인터페이스를 사용하여 iOS, Android, Windows, MacOS, Linux, 웹 및 tvOS에서 출시하세요. 하나의 코드베이스. 여러 앱.

이제 Python으로 Android 앱을 작성하고 싶을뿐만 아니라 나열된 다른 플랫폼 중 하나에서 작업을 수행하려는 경우 나중에 다른 프레임 워크를 배울 필요가 없다는 이점이 있습니다.

다음 은 Android 앱에 대한 자습서입니다 .


Android의 Python 앱에는 두 가지 주요 경쟁자가 있습니다.

Chaquopy

https://chaquo.com/chaquopy/

이는 Android 빌드 시스템과 통합되며 모든 Android 기능을위한 Python API를 제공합니다. "완전한 Android API 및 사용자 인터페이스 툴킷을 직접 사용할 수 있습니다."

Beeware (Toga 위젯 툴킷)

https://pybee.org/

이것은 다중 대상 트랜스 파일러를 제공하고 Android 및 iOS와 같은 많은 대상을 지원합니다. 호스트 인터페이스 호출에 매핑되는 일반 위젯 툴킷 (toga)을 사용합니다.

어느 것?

둘 다 활발한 프로젝트이며 github 계정은 상당한 양의 최근 활동을 보여줍니다.

모든 위젯 라이브러리와 마찬가지로 Beeware Toga는 기본 사항을 여러 플랫폼으로 가져 오는 데 좋습니다. 기본 디자인이 있고 다른 플랫폼으로 확장하려는 경우이 방법이 적합합니다.

반면에 Chaquopy는 python API를 Android에 매핑하는면에서 훨씬 더 정확합니다. 또한 다른 리소스의 기존 코드를 사용하려는 경우 유용한 Java를 혼합 할 수 있습니다. 엄격한 디자인 목표가 있고 주로 Android를 타겟팅하려는 경우 훨씬 더 나은 리소스입니다.


안드로이드, 파이썬!

귀하의 질문 에서이 두 키워드를 함께 보았을 때 Kivy 가 내 마음에 먼저 떠 올랐습니다.

Kivy 로고

Before coming to native Android development in Java using Android Studio, I had tried Kivy. It just awesome. Here are a few advantage I could find out.


Simple to use

With a python basics, you won't have trouble learning it.


Good community

It's well documented and has a great, active community.


Cross platform.

You can develop thing for Android, iOS, Windows, Linux and even Raspberry Pi with this single framework. Open source.


It is a free software

At least few of it's (Cross platform) competitors want you to pay a fee if you want a commercial license.


Accelerated graphics support

Kivy's graphics engine build over OpenGL ES 2 makes it suitable for softwares which require fast graphics rendering such as games.



이제 다음 질문으로 넘어가겠습니다. Kivy 용 Android Studio IDE를 사용할 수 없습니다. 다음 은 개발 환경 설정에 대한 자세한 가이드입니다.

참조 URL : https://stackoverflow.com/questions/49955489/android-app-completely-in-python

반응형