Web application 구현하기

Goosang Yu·2022년 6월 5일
0

web app

목록 보기
1/1
post-thumbnail

Web app 개발의 시작

연구 과정에서 개발한 prediction model (python으로 구현)을 web application으로 구현하고자 하는 상황이었다. 기존의 논문에서 개발된 모델의 경우에는 다른 dry lab의 협업(?)을 통해서 간단히 홈페이지를 제작했는데, 아무래도 같은 연구실이 아니다보니 자유로운 논의가 불가능했고 좀 더 다양한 옵션을 자유자재로 표현하기가 어려움이 있었다.

그리고 무슨 자신감인지... 처음 HTML script만 봤을 때에는 웹 개발이 굉장히 쉬운 일인줄 알았다... 아무튼 그렇게 눈물겨운 web 서비스 구현을 해보겠다며 고난의 여정을 시작했다..

Bootstrap: Pixel UI kit


Link: Pixel UI kit Git

그렇게 찾아다니던 와중, bootstrap으로 만들면 누구나 5분만에 홈페이지를 만들 수 있다는 유튜브의 달콤한 영상에 속아서 찾아낸 것이 pixel UI kit. Themesberg에서 개발한 오픈소스로 기본 페이지의 템플릿은 받아서 사용할 수 있었고, 내 기준에서 디자인이 굉장히 마음에 들었다.

그런데 문제가...
각 버튼은 예쁘게 만들어낼 수 있었는데, 그 버튼을 누르면 어떤 기능이 실행되게 하는지를 전혀 알 수 없었다.
Python만 어느정도 다룰 줄 알지, CSS / javascript 등의 개념이 전혀 없었고 거기에 크게 쏟을 시간도 없던 터라 아무리 찾아봐도 가성비 좋게 구현할 방법이 마땅치 않았다.
그래서 결국 3-4일을 디자인만 예쁘게 이것저것 건들여보고 저 구석의 디렉토리에 잠들게 되었다.

Pyscript


Youtube link: pyscript by nomad coders

그 다음으로 찾게된 것이 비교적 최근에 개발 중에 있는 'PyScript'이다.
정확히 내가 직면했던 문제에 대한 해결책을 주는 패키지였는데, 바로 HTML 안에 바로 python 코드를 삽입해서 실행할 수 있게 해주는 것이다. 기존에 javascript가 해주던 일을 새로운 언어를 배우지 않고도 바로 써먹을 수 있을 것 같다는 장점이 굉장히 크게 다가왔다.
특히 개발을 하는 곳이 우리에게 익숙한 아나콘다에서 한다니, 신뢰성도 높았다.
하지만 크게 찾아보고 시도해보지는 않았는데, 그 이유는 정말로 아직 개발이 시작된지 얼마 되지 않아서... 많은 부분에서 호환이 안 될 것이 우려되었고, 사람들이 시도해본 참고자료가 많이 없었기 때문이다.

Streamlit


Link: Streamlit
그리고 마지막으로 찾아본 것이 stramlit 패키지이다. 이건 파이썬 코드 내에서 사용할 수 있는 web application용 패키지인데, 굉장히 구성이 간단하고, python으로 100% 구현이 가능하기 때문에 내게 주어진 상황에서 가장 사용하기 좋은 것 같았다. 게다가 지속적으로 업데이트 되고 있어서 다양한 기능들이 구현 가능하거나 추가되고 있고, docs도 친절하게 잘 마련해두어 어려움 없이 사용할 수 있을 것 같다.
아직 제대로 파고들지는 않았지만, 아마도 이 패키지로 정착해서 사용할 것 같다.

profile
bio-data scientist

0개의 댓글