728x90
1. Streamlit이란?
공식 문서에 따르면 Streamlit의 정의는 다음과 같습니다. (https://docs.streamlit.io/)
Streamlit is an open-source Python framework for data scientists and AI/ML engineers to deliver dynamic data apps with only a few lines of code. Build and deploy powerful data apps in minutes.
Data Scientist나 AI/ML 엔지니어들이 간단한 코드만 작성하면 동적인 데이터 분석 애플리케이션을 제공할 수 있는 오픈 소스 Python 프레임워크가 바로 오늘의 주제인 Streamlit입니다.
애플리케이션을 개발하려고 한다면 HTML, CSS, Javascript 뿐만 아니라 웹 프레임워크를 모두 고려해야 합니다. 이런 지식이 충분하지 않다면 개발에 어려움을 겪을 수밖에 없는데요.
Streamlit은 Python 코드만 작성하면 데이터 분석 애플리케이션을 생성할 수 있습니다.
즉, 사전 배경 지식을 상대적으로 많이 요하지 않는다는 점에서 단기간에 개발이 가능하다는 점이 Streamlit의 특징이라고 할 수 있습니다.
2. Streamlit의 특징
- Simple and Pythonic
- 간단하고 읽기 쉬운 코드로 구성되어 있습니다.
- 복잡한 배경 지식이 없어도 애플리케이션을 빠르게 생성할 수 있습니다.
- Streamlit cloud를 사용할 경우 GitHub 레포지토리에 소스 코드를 업로드하여 웹 상에 본인의 서비스를 배포할 수 있습니다.
- 간단하고 읽기 쉬운 코드로 구성되어 있습니다.
- Fast, interactive prototyping
- 원하는 대로 애플리케이션의 모양과 기능을 변경할 수 있어 빠르고 상호 작용적인 프로토타입을 생성할 수 있습니다.
- 웹 서비스 형태의 데모를 제작하는데 최적화되어 있습니다.
- 원하는 대로 애플리케이션의 모양과 기능을 변경할 수 있어 빠르고 상호 작용적인 프로토타입을 생성할 수 있습니다.
- Live editing
- 코드를 편집하면 그 즉시 애플리케이션이 자동으로 업데이트됩니다.
- 코드를 편집하면 그 즉시 애플리케이션이 자동으로 업데이트됩니다.
- Open-source and free
- Data Integration
- Python 코드 기반이기 때문에 Python의 주요 데이터 분석 및 시각화 라이브러리와의 통합이 용이합니다.
3. 한계점
- 간단한 데모 애플리케이션 생성에는 굉장히 유용한 프레임워크이지만 복잡한 애플리케이션일 경우 프레임워크 디자인에 제한이 있습니다.
- 많은 부분을 추상화하여 제공하기 때문에 레이아웃이나 위젯과 같이 디자인 측면의 자유도가 낮습니다.
- 사용자와 상호작용할 때마다 전체 스크립트가 다시 실행되는 Streamlit의 로직 특성상 dataset의 크기가 크거나 복잡한 계산이 필요한 경우 성능이 저하될 수 있습니다.
반응형
'Data' 카테고리의 다른 글
Streamlit으로 웹 애플리케이션 만들어보기 (0) | 2024.04.19 |
---|
댓글