안드로이드 app, 파이썬으로 만드는 방법.

안드로이드 스마트폰에서 작동되는 application을 파이썬(python)을 이용해 만들 수 있습니다. 익숙한 파이썬언어를 이용하기 때문에 누구나 한번 쯤 도전해볼 가치가 있을 것입니다.

우리는 많은 시간 스마트폰을 이용하며 시간을 보내게 됩니다. 과거에는 컴퓨터를 이용해 다양한 여가시간과 업무시간을 보내기도 했습니다. 그 문화가 이제는 작은 스마트폰으로 넘어왔습니다.

스마트기기를 잘 활용하기 위해서는 개인의 활용 목적에 맞는 프로그램(application)을 활용할 수 밖에 없습니다. 다만, 자신의 취향에 꼭 맞는 프로그램을 찾는 것은 쉽지 않은 일이기도 합니다.

간혹, 자신이 직접 원하는 기능을 만들고 싶을 때가 있습니다. 이 때, 파이썬을 익혔거나 익히는 중이라면 활용해볼 수 있는 라이브러리가 있습니다. 바로 “Kivy”입니다.

📌일반적으로 안드로이드 app개발에는 자바가 많이 사용됩니다.

java 또는 javacript는 웹 개발에 주로 사용되는 언어였습니다. 이 언어를 기반으로 안드로이드 프로그램 개발에 활용되었고, 결과적으로 해당 언어를 이용해 다양한 app이 개발되고 사용되어 집니다.

하지만, 시간이 지남에 따라 많은 사람들이 문제점 혹은 불편함을 개선하기 위해 노력했습니다. 그 결과 별도의 app 개발 언어가 탄생하기도 했습니다.

깊이 들어가면 파생되는 언어의 계보와도 연결될 수 있습니다. 이 부분에 대해서는 다음번에 다뤄보도록 하겠습니다.

이제 막 어떤 언어를 익히는 과정에서 다양한 언어에 대한 지식은 불편할 수 있습니다. 하지만, 각각의 언어와 계통, 장단점을 알게 된다면 보다 효율적으로 개발을 진행할 수 있습니다.

물론, 깊게 들어갈 필요는 없습니다. 자신이 활용하려는 언어로 해결할 수 있는 문제는 해당 언어로 해결하는 것이 가장 현명한 방법일 거라 생각합니다.

어쨌든, java를 이용한 개발 그리고 안드로이드 스튜디오를 활용한 개발이 가장 대표적인 모습입니다. 익숙하지 않은 경우라면 다시금 학습 과정을 거쳐야 합니다. 그 과정을 통해 자신이 원하는 기능을 구현할 수 있기 때문입니다.

파이썬은 매력은 다양한 확장성과 정보라고 할 수 있습니다. 웹 개발에 자바스크립트, php가 주로 쓰이지만 django 또는 flask와 같은 파이썬 전용 웹프레임워크가 존재합니다.

django의 경우 높은 순위의 선호도를 보이기도 하며, 성공적인 웹서비스의 예시도 존재합니다. 결국, 주로 사용되는 언어가 존재하지만 다양한 언어로 보다 편리하게 활용하는 것이 코딩의 재미가 아닐까 싶네요.

📌 파이썬 ‘kivy’의 활용은 어렵지 않을까요.

글의 서두에서도 언급한 바 있습니다. 한번쯤 도전해볼 가치가 있는 프로젝트라는 것입니다. 파이썬으로 앱을 만들고 기능을 구현할 수 있다고 해서 많은 부분이 편리한 것은 아닙니다.

해당되는 라이브러리에 대한 학습과 테스트 환경 구축, 그 과정에서 발생될 수 있는 문제(error)상황을 해결할 수 있는 정보는 필수입니다.

초보자의 경우라면 해당 라이브러리 혹은 프레임워크의 공식 문서에 의지해야만 합니다. 다만, 이 공식 문서들이 친절하지 않습니다. 간략하게 설명되어 있습니다.

어떤 기능에 대한 내용을 찾아도 적용하는 방법, 그 결과, 발생되는 에러를 수정하는 방법등의 다양한 정보를 찾는게 쉽지 않습니다. 이런 경우 활용할 수 있는 것이 커뮤니티 정보 입니다.

다행히도 kivy에 대한 다양한 정보는 이미 인터넷에서 찾아볼 수 있습니다. 전문적인 내용은 아닐 수 있기에 간단한 예시들을 찾을 수 있습니다. 해당 내용을 참고하여 원하는 app으로 발전시키는 과정이 필요합니다.

또한, error가 발생되면 다양한 커뮤니티에 물어볼 수 있습니다. 대표적으로 스택오버플로라는 사이트를 이용해 볼 수 있습니다.

주된 사용 언어는 영어이기 때문에 접근성이 조금 낮을 수 있습니다. 하지만, 많은 부분에서 번역의 도움을 받는다면 내용을 이해하는데 큰 어려움은 없을 것입니다.

📌 kivy로 앱만들기 도전 어디서부터 시작하면 좋을까.

가장 좋은 방법은 파이썬을 익히고, 단순 예제를 무작정 따라하는 것입니다. 대표적으로 화면 띄우기, 버튼 배치, 레이아웃 설정등이 있을 수 있습니다.

QtDesigner를 이용해 파이썬 윈도우 프로그램을 만들어본 경험이 있다면 앞에서 언급한 이야기에 대한 이해가 될 것 입니다. 각 기능에 대한 이해과 활용을 익히는 것으로 복잡한 기능을 구현할 수 있습니다.

사용자가 프로그램을 활용하기 위해서는 보여지는 부분이 중요합니다. 직관적이고 단순해야 화면이 작은 스마트폰에서도 활용할 수 있습니다. 이 부분을 고려하여 화면 배치에 대한 기본을 처음으로 익히는 것이 좋을 것 입니다.

이렇게 화면 구성과 기본 구동을 익혔다면, 평소에 생각해 둔 다양한 기능을 코딩하여 연결하면 됩니다. 각 버튼이 선택(active)되었을 때 나타날 수 있는 코드, 그리고 화면, 그 밖의 다양한 기능들을 만들어 연결하면 됩니다.

모든 연결이 끝나면 하나의 멋진 프로그램이 만들어 진 것을 알 수 있습니다. 나아가, 디자인적인 요소를 가미한다면 더 멋진 프로그램이 완성된 것을 알 수 있을 것입니다.

디자인에 해당되는 부분은 html, css에 대한 지식과 감각이 필요한 부분입니다. 감각은 다양한 디자인 요소를 적용해보는 과정에서 익힐 수 있습니다.

css의 경우라면 별도의 학습을 진행하거나, 원하는 기능이 있을 때 검색 혹은 문서를 통해 참고하시면 도움이 될 수 있습니다.


어떤 일이든 익히는 과정은 비슷한 것 같습니다. 프로그램 코딩을 익혀간다는 것은 해당되는 환경과 도구의 활용도에 익숙해져 가는 과정이라는 생각을 해봅니다.

이렇게 익숙해져가는 과정을 통해 숙련도가 높아진다면 원하는 기능을 쉽게 구현할 수 있을 것이기 때문입니다.

다만, 그 과정이 지루하고 힘들게 느껴질 수 있습니다. 이럴 때는 무리하지말고 새로운 프로젝트, 작은 프로젝트들을 완성해보는 것도 좋은 방법이지 않을까 생각해 봅니다.

물론, 끝까지 마무리하는 것이 중요합니다. 끝맺음이 없다면 그저 지식에 불과할 수 있습니다. 아주 작은 끝맺음을 통해서 큰 프로젝트의 초석을 다질 수 있을 것입니다.


▪ 끝으로 kivy에 대한 공식 문서입니다.

👉 kivy.org

👉 개발자에게 필요한 것은 숙련도와 상상력일 것입니다.

Leave a Comment