본문 바로가기
코딩/Streamlit

Streamlit

by GILBU 2023. 11. 9.
728x90

웹 애플리케이션

- 애플리케이션: 특정 기능을 직접 수행하도록 설계된 응용 프로그램

- 웹사이트: 일반 URL을 통하여 보이는 웹페이지들의 의미 있는 묶음

- 정적 웹사이트: Browser <-Request-> Server

  * 사용자 요청에 따라 해당하는 페이지만을 반환

- 동적 웹사이트: Browser <-Request-> Server(내부 Procssing)

  * 사용자 요청에 따라 특정 기능을 서버에서 실행하고 결과를 반환

- 웹 애플리케이션 제작: 크게 Front end와 Back end

  * Front end: HTML, CSS, JS, React, Vue.js 등

  * Back end: spring boot, node js, FastAPI

 

Streamlit의 장단점

장점

- 사용 방법을 배우기 쉬움

- 웹 애플리케이션 개발하는데 드는 시간이 단축

- Front end와 Back end에 대한 지식을 크게 요하지 않음

- 배포하는 것 단순

- 비용이 들지 않음

단점

- 자유도가 낮음

- 특정 부분을 바꾸기 어려울 수 있음

- 일부 Streamlit Cloud에 의존적일 수 있음(배포 서비스가 끝날 수 있음)

 

Streamlit 기능

st.write: 대부분의 요소(Elements)를 렌더링하여, 브라우저 화면에 적절히 출력

- 숫자, 문자, 리스트, 딕셔너리 자료형

- Pandas DataFrame

- Matplotlib Chart

* 애플리케이션 개발 도중에도, 객체를 손쉽게 출력해볼 수 있다.

 

Streamlit의 Elements

- 문서의 각 구성부분을 차지하는 요소: 텍스트, 이미지, 표, 그래프)

- Text Elements:

- Data Elements: 

- Chart Elements

- Media Elements

- Chat Elements 등

 

Streamlit의 Widgets

- 서버와 상호작용을 담당하는 요소

- 애플리케이션으로써 동작에 주요한 역할 담당

- st.button: 버튼을 누르면 일어나는 동작 정의

- st.selectbox: 사용자가 선택하는 항목에 맞춰 동작 설계

- input: Download, Checkbox, Radio, Slider, Text input, Number, Date, Time, File ...

 

Layouts과 Containers

- 웹 애플리케이션의 전체적인 틀 기획

- 특정 요소를 원하는 위치에 배치

- Sidebar

- Columns

- Tabs

 

Streamlit Docs: https://docs.streamlit.io/library/api-reference

 

Streamlit Docs

Join the community Streamlit is more than just a way to make data apps, it's also a community of creators that share their apps and ideas and help each other make their work better. Please come join us on the community forum. We love to hear your questions

docs.streamlit.io

 

728x90

'코딩 > Streamlit' 카테고리의 다른 글

Streamlit 시작하기  (0) 2023.11.10