Intro Pyscript & Pyodide
<py>
Run Python in Your HTML
올 5월인가 회사를 그만두기 전 대표님이 pyscript를 공부해 보라고 했다.
이름이 뭔가 파이썬(Python)스럽길래 파이썬과 자바스크립트를 혼합한 뭐 그런 끔찍한(?) 혼종인건가 했다.
그래서, 찾아보니 이런게 있더라고,
Pyscript.net
Run Python code in your HTML.
pyscript.net
소개글을 보니
PyScript is a framework that allows users to create rich Python applications in the browser using HTML's interface and the power of Pyodide, WASM, and modern web technologies. The PyScript framework provides users at every experience level with access to an expressive, easy-to-learn programming language with countless applications.
라고 되어 있다.
즉, "PyScript(이하 파이스크립트)는 HTML 인터페이스와 Pyodide, WASM 및 최신 웹기술을 이용해 브라우저에서 Python 응용프로그램을 만들 수 있게 하는 프레임워크이다. 파이스크립트 프레임워크는 수많은 Python 응용프로그램과 함께 표현력 있고 배우기 쉬운 프로그래밍 언어로 접근을 제공한다."
대략 이런 의미가 되겠다.
여기서, Pyodide는 파이스크립트를 보면서 처음 알게 된건데, Pyodide는 WebAssembly 기반의 브라우저와 Node.js용 Python 배포판이다.
아니, 그럼 굳이 Pyodide가 있는데 왜 pyscript를 왜 또 만드는 건데?
그니까 pyscript를 html에 낑궈 넣으면 <py-script> & <py-config>라는 태그를 이용할 수 있게 되는데, 그러면 HTML 사용하듯이 파이썬을 사용할 수 있으니, 더 많은 사람들이 더 쉽게 파이썬을 이용할 수 있게 만들어가겠다가 이 프로젝트를 진행하고 있는 Anaconda 사의 음모(?)이다. 파이썬을 HTML에서도 쉽게 이용할 수 있는 사람이 늘어난다는 것은 어쨌던 자신들의 고객이 늘어나는데도 도움이 될테니까...
Anaconda | The World's Most Popular Data Science Platform
Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.
www.anaconda.com
어쨌던, 좀 더 알아보자면, PyScript는 JavaScript를 호출할 수 있지만, 그 반대의 경우 JavaScript에서 Python을 호출할 수 없는 특징이 있다. 반면, Pydiode는 Python과 JavaScript를 아주 매끄럽게 넘나들 수 있는 장점이 있다.
그러면 뭘 써야 하느냐...
일단 파이스크립트는 이제 만들어져 가고 있기 때문에 아직은 부족한 면이 많다. 오피셜 사이트에서도
Please be advised that PyScript is very alpha and under heavy development. There are many known issues, from usability to loading times, and you should expect things to change often. We encourage people to play and explore with PyScript, but at this time we do not recommend using it for production.
라고 작은 글씨로 써 놨다. 해석 하자면 아직 알파 버전이고 이슈도 많고 자주 스펙이 바뀔거고 블라 블라..
고로,
현재로서는 당신이 Python을 할 줄 안다면 Pyodide가 좀 더 낫지 않을까?
라고 생각해 본다.
CONCLUTION
나는 둘 다 안 할란다 ^^; 파이썬은? 좀 생각해보고...