우리는 이제 웹 애플리케이션과 인터랙티브한 사용자 경험을 요구하는 시대에 살고 있습니다. 이제는 브라우저에서 Python 코드를 직접 실행할 수 있습니다. 바로 PyScript덕분입니다.
2022년 5월 아나콘다(Anaconda)가 파이콘 US 2022에서 PyScript 를 발표했습니다. 아나콘다에 따르면 PyScript는 사용자가 Python과 표준 HTML을 결합하여 브라우저에서 풍부한 Python 애플리케이션을 만들 수 있도록 지원해 주는 프레임워크입니다.
PyScript는 Python과 JavaScript의 특징을 결합한 혁신적인 프로그래밍 언어입니다. 이 언어는 Python의 간결하고 가독성 있는 문법과 JavaScript의 유연성과 웹 개발에 대한 강력한 지원을 모두 갖추고 있습니다. PyScript 는 웹 어셈블리로 이식된 Python 런타임인 Pyodide 프로젝트를 사용해서 Python을 웹 스크립팅 언어로 실행하기에 적합한 브라우저 환경을 구성합니다. PyScript는 이미 엄청난 규모의 생태계를 자랑하는 Python을 기준으로 JavaScript의 웹페이지 생태계 독주에 경쟁자로 올라갈 수 있을 것입니다.
하지만, 아직은 브라우저에 직접 내장된 것이 아니라 외부 라이브러리로 작동하기 때문에 사전 로딩 시간이 꽤 긴 편이고, 다양한 버그도 존재하는 편입니다. 또한 JavaScript에서 사용되는 기능을 모두 지원하지는 않기 때문에 JS 모듈을 가져와서 JavaScript와 Python을 혼용한 것처럼 코드를 작성하게 됩니다. 즉 Python만으로 JavaScript를 완전히 대체하기에는 어려움이 있습니다.
그렇지만 PyScript는 큰 가능성을 품은 채로 빠르게 발전해 나가고 있고, 언젠간 브라우저에 직접 내장되어서 웹 생태계를 크게 확장시킬 수 있을 것입니다.
이 책은 PyScript의 다음 버전을 기준으로 작성되었습니다.
<aside> 💡 pyscript.version '2022.12.1.dev'
</aside>
PyScript는 웹 브라우저에서 풍부한 Python 애플리케이션을 만들 수 있게 해주는 프레임워크로써 다음과 같은 장점을 가지고 있습니다.
웹 브라우저에서 Python 코드 실행 가능
PyScript는 가독성이 뛰어난 Python 문법을 그대로 가져와 HTML 코드를 작성할 수 있습니다. 이에 따라 코드의 가독성과 유지 보수성이 향상되며, 실수를 줄이고 개발 생산성을 높일 수 있습니다.
Python의 다양한 라이브러리 및 생태계
PyScript에서는 numpy, pandas, scikit-learn 등과 같이 Python 생태계에서 사용되는 다양한 라이브러리와 프레임워크를 활용할 수 있으며 이미 존재하는 Python 코드를 PyScript로 변환하거나 활용할 수 있습니다. 이는 기존에 Python을 사용하던 개발자에게 학습 곡선을 줄여주고, 이미 구축된 Python 기반 시스템과의 연동을 용이하게 합니다.
자바스크립트와 파이썬의 호환성
PyScript는 Python과 Javascript 객체와 네임스페이스 간의 호환성이 뛰어나 Python의 가독성과 풍부한 라이브러리뿐만 아니라 JavaScript의 웹 개발 및 브라우저 환경에서의 강력한 기능을 모두 활용할 수 있습니다. 또한 Python과 JavaScript의 데이터 타입을 모두 지원함으로써 다양한 데이터 형식과 구조를 효율적으로 다룰 수 있으며, 데이터 처리와 분석에 유용합니다.
<aside> 💡 PyScript는 유연하고 강력한 언어이지만 일반적인 Python 코드보다 실행 속도가 느릴 수 있습니다. 특히 복잡한 계산이나 대규모 데이터 처리와 같은 작업에서 성능이 제한될 수 있습니다. 또한 일부 지원하지 않는 Python 라이브러리가 있어 PyScript를 사용할 때 주의해야 합니다.
</aside>