[kivy (python)] [Python] 파이썬 키비(kivy) 앱 개발 - 설치와 예제 앱 분석

파이썬 키비 앱 만들기

- 설치와 예제 앱 분석 -


키비란?

키비(kivy) : 크로스 플랫폼 사용자 인터페이스의 신속한 개발을 위한 오픈 소스 파이썬 라이브러리다.

키비 응용 프로그램을 사용하면 리눅스, 윈도우에 사용하는 GUI 프로그램뿐 아니라 안드로이드, IOS 용도로 개발할 수 있다.

그래픽 : 네이티브 위젯이 아닌 OpenGL ES 2를 통해 렌더링되어 운영체제 전반에 걸쳐 모양이 균일하다.

라이센스 : MIT 라이센스 아래 무료로 사용할 수 있고 전문적으로 지원을 받는다.

키비 용어

운영체제 : 하드웨어와 소프트웨어를 관리하는 필수 시스템 소프트웨어

왜 필수인가? -> 핸드폰에서 게임할 때 안드로이드라는 운영체제가 있어야 폰이 켜지고 게임을 설치할 수 있다.

키비(kivy) : 크로스 플랫폼 사용자 인터페이스의 신속한 개발을 위한 오픈 소스 파이썬 라이브러리다.

키비 그래픽 : 네이티브 위젯이 아닌 OpenGL ES 2를 통해 렌더링되어 운영체제 전반에 걸쳐 모양이 균일하다.

키비 라이센스 : MIT 라이센스 아래 무료로 사용할 수 있고 전문적으로 지원을 받는다.

파이썬 키비 라이브러리는 아직 타 앱 애플리케이션 개발에 비해 꾸준히 비주류적인 라이브러리지만 GUI 개발 기반으로 APK 파일을 만들어 서비스할 수 있다는 면에서 파이썬의 다양한 분야 확장을 보여준다.

참고 사이트

키비 공식 문서 :

- 메인 페이지, https://kivy.org/doc/stable/

- 가이드 문서, https://kivy.org/doc/stable/guide/basic.html

공식 문서 기반 유튜브 키비 튜토리얼 강의 : https://www.youtube.com/watch?v=bMHK6NDVlCM

키비 설치

Windows 운영체제

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

pip install --upgrade pip wheel setuptools pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew pip install kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/ pip install kivy pip install kivy-examples

Linux 운영체제 (데비안 / 우분투)

sudo apt-get update //패키지 업데이트 //키비 저장소로 다운로드 sudo add-apt-repository ppa:kivy-team/kivy //위 명령어가 안되면 다음 명령 실행 sudo git clone https://github.com/kivy/kivy //파이썬 kivy 패키지 다운로드 sudo apt-get install python-kivy //파이썬 kivy 예제 다운로드 sudo apt-get install python-kivy-examples
 

키비 기본 예제 앱

다음은 공식 문서에서 제공하는 기본 예제 앱 애플리케이션 코드다. 키비로 애플리케이션 파일을 구성할 때는 class 단위로 kivy 라이브러리를 가져와 사용한다.

""" main.py """ import kivy kivy.require('1.0.6') # require로 사용 키비 버전 지정 from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') # 라벨 if __name__ == '__main__': MyApp().run()

코드를 실행하면 로그 메시지를 출력하고 코드에 맞는 결과 창을 띄운다. 로그를 보면 다음 내용을 포함한다.

- 로그 저장 위치

- 각 모듈 버전 로드 성공 메시지

- 앱 시작 메시지

[INFO ] [Logger ] Record log in C:\Users\dsz08\.kivy\logs\kivy_20-08-07_2.txt [INFO ] [deps ] Successfully imported "kivy_deps.gstreamer" 0.1.17 <중략> [INFO ] [GL ] Texture max units <32> [INFO ] [Window ] auto add sdl2 input provider [INFO ] [Window ] virtual keyboard not allowed, single mode, not docked [INFO ] [Base ] Start application main loop [INFO ] [GL ] NPOT texture support is available

기본 예제 앱은 'Hello World' 텍스트가 담긴 라벨 하나를 반환하는 것이 전부다.

다양한 키비 예제

kivy-examples 를 pip로 설치했거나 (https://pypi.org/project/Kivy-examples/

pip install Kivy-examples

git으로 다운로드 받으면 다음 예제들을 볼 수 있다. (https://github.com/kivy/kivy/tree/master/examples)

 

examples 폴더(디렉터리)에 존재하는 다양한 폴더들에 키비 예제가 있다. 다음은 튜토리얼 폴더의 pong 폴더에 있는 핑퐁게임이다.

키비 앱 사례

공식 사이트의 갤러리 항목에서 진행 프로젝트와 해당 프로젝트의 깃허브 소스코드가 있으며 구글 플레이스토어에서 kivy를 입력하면 여러 키비 앱이 있다.

키비 앱 라이프 사이클

다음 그림은 키비의 라이프 사이클을 나타낸 순서도다. 사전 준비 후 파이썬을 통해 앱이 시작되면 build 후 on_start()로 시작되며 앱의 함수들이 동작한다.

키비 앱 라이프 사이클

(출처 : https://kivy.org/doc/stable/guide/basic.html)

[출처] https://m.blog.naver.com/PostView.naver?blogId=dsz08082&logNo=222054174112&navType=by

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED