Dash vs Streamlit

Han Hanju·2022년 3월 3일
0
post-thumbnail

배경

  • 방황한 데이터를 쉽게 이해하기 위한 시각화
  • 데이터의 공통적인 부분을 함축적인 그래프로 표현
  • 데이터를 다루는 대시보드는 최소로 아래와같은 기능들을 제공해야한다.
    • 분석: Numpy, Panda, SciPy와 같은 핵심 패키지를 통한 데이터 분석, 조작과 요약한다.
    • 시각화: 다양한 그래프 라이브러리를 사용하여 데이터의 플롯과 그래프를 만든다.
    • 상호작용: React와 같은 프런트엔드 라이브러리를 사용하여 사용자의 입력을 허용한다.
    • 제공(Serving): 사용자 요청을 받아 Flask와 같은 웹 서버를 사용하여 응답을 제공한다.

Streamlit이나 Dash와 같은 최신 패키지는 이런 구성 요소들을 한번에 제공할 수 있다.

Streamlit vs Dash

  • 대기업용으로 Dash가 적절하며 빠른 실행에는 Streamlit이 적합하다고 본다.

  • Streamlit’s focus is towards rapid prototyping, whereas Dash focusses on production / enterprise settings.

  • Streamlit

    • 장점

      • 학습곡선이 짧다.
      • HTML 및 CSS에 대한 요구 사항은 없습니다.
      • 적은 코드로 애플리케이션을 개발
      • 프런트 엔드 백엔드 기술 스택에 대해 생각하는 대신 중요한 것에 집중
      • Latex, OpenCV, Vega-Lite, seaborn, PyTorch, NumPy, Altair 등과 같은 여러 주요 라이브러리 및 프레임워크와 호환
      • Uber 및 Google X 사용
    • 단점

      • Streamlit은 자체 구문을 배우는 데 약간의 시간이 필요
      • Streamlit은 그렇게 유연하지 않다
      • Python만 기반으로 하고 제한된 위젯 세트를 제공하며 Python 노트북과 통합되지 않다.
      • 데이터 업로드 제한은 50Mb
      • 비디오/애니메이션에 대한 지원은 제한적
  • Dash

    • 장점
      • 고급 및 프로덕션 수준의 대시 보드
      • Dash는 데이터 탐색, 데이터 분석, 모델링, 시각화, 기기 제어 및 보고와 같은 다양한 영역에서 사용
      • 풀 스택 및 DevOps 도구없이 몇 시간 내에 웹 애플리케이션을 빌드하고 배포 할 수 있도록 지원
      • Python 외에도 R, Julia 및 Jupyter와 함께 사용
        - 반응형 애플리케이션
      • Dash는 Streamlit보다 커스터마이징이 가능합니다. 또한 Dash는 더 나은 성능을 제공
      • Dash에는 더 좋고 정기적으로 업데이트되며 따르기 쉬운 문서
    • 단점
      • 가장 가파른 학습 곡선
      • Dash는 엔터프라이즈 시장에 더 중점을 두고 있으며 오픈 소스 버전에서 사용 가능한 모든 기능을 포함하지 않는다.
      • 다른 프레임워크에 비해 간단한 웹 애플리케이션을 만들려면 더 많은 코드를 작성

Reference

profile
Data Analytics Engineer

1개의 댓글

comment-user-thumbnail
2023년 8월 5일

streamlit 데이터 업로드 제한은 서버 실행 명령어 옵션을 통해 바꿀 수 있습니다!

답글 달기