Streamlit 문법으로 React의 반응성을? 파이썬 웹 프레임워크 'Violit'

안녕하세요. 현업에서 AI/SW 개발을 하며 틈틈이 사이드 프로젝트를 진행하고 있는 개발자입니다.
파이썬 개발자분들이라면 간단한 웹 툴이나 대시보드를 만들 때 Streamlit을 많이 사용하실 텐데요. 정말 편리하지만, 버튼 하나만 눌러도 스크립트 전체가 다시 실행되는(Full Rerun) 구조 때문에 퍼포먼스나 상태 관리에 한계를 느껴보신 적이 있으실 겁니다. 게다가 SPA 특성상 SEO(검색 엔진 최적화)도 어렵고요.
"문법은 Streamlit처럼 쉽고 직관적인데, 동작은 React처럼 빠릿빠릿할 순 없을까?"
이 고민 끝에 Violit(바이올릿)이라는 프레임워크를 직접 개발하게 되었습니다.
Violit의 핵심 특징
1. Streamlit 문법 + React 반응성
복잡한 JavaScript/React 몰라도 됩니다. 파이썬만으로 작성합니다.
가장 큰 차이점은 'No Full Rerun'입니다. 상태가 변경된 컴포넌트만 콕 집어서 업데이트하는 Fine-grained Reactivity를 구현했습니다.
2. SEO 친화적 (SSR 지원)
보통의 파이썬 웹 프레임워크들이 SEO에 취약한데, Violit은 SSR(Server-Side Rendering)을 지원하여 구글 봇이 내용을 잘 긁어갑니다. (Lighthouse SEO 점수 95+ 달성)
3. 하나의 코드로 웹 & 데스크톱 배포
웹 배포는 물론,
pywebview와 연동하여 별도의 코드 수정 없이 윈도우/맥용 데스크톱 앱으로도 빌드할 수 있습니다.
Demo
제작한 프레임워크의 성능을 검증하기 위해, 공식 문서 사이트 자체를 Violit으로만 개발했습니다. 한번 접속해 보시면 순수 파이썬으로도 SPA 같은 부드러운 UX가 가능하다는 걸 확인하실 수 있을 겁니다.
Landing Page : https://violit.cloud/
아직 초기 버전(v0.1.12)이라 부족한 점이 많습니다. 선배, 동료 개발자분들의 따끔한 피드백이나 버그 제보, 혹은 "이런 기능 있으면 좋겠다"는 의견 언제든 환영합니다.
긴 글 읽어주셔서 감사합니다!!