Streamlit이란?

    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.

     

     

    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

     

    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

    댓글