- Pinapayagan ng PyScript ang pag-embed ng Python sa HTML gamit ang WebAssembly, na sumusuporta sa mga malalakas na library tulad ng NumPy at Pandas.
- Isinasalin ng Brython ang Python code sa JavaScript, kaya mainam ito para sa magaan na manipulasyon ng mga elemento ng DOM at SVG.
- Ang WebAssembly ang pangunahing teknolohiya na nagpapahintulot sa mga pinagsama-samang wika na tumakbo sa web na may halos katutubong pagganap.
- May mga tradisyonal na alternatibo na nakabatay sa server tulad ng Flask at Django para sa paghawak ng backend logic.

Matagal nang pangarap ng maraming developer ang pagdadala ng kapangyarihan ng Python sa kapaligiran ng browser. Hanggang kamakailan lamang, kung gusto mo ng anumang bagay na maipapatupad sa web, ang JavaScript ang hindi mapag-aalinlanganang hari at ang tanging mabisang opsyon para sa pagpapatupad ng client-side logic nang hindi umaasa sa isang panlabas na server.
Gayunpaman, ang kalagayan ay lubhang nagbago dahil sa paglitaw ng iba't ibang mga kagamitan at pamantayan na sumisira sa mga hadlang sa backend . Sa kasalukuyan, maraming paraan upang maisama ang Python sa HTML, mula sa mga compiler na nagsasalin ng code hanggang sa paggamit ng mga binary na teknolohiya na nagbibigay-daan sa kamangha-manghang pagganap nang direkta sa tab ng iyong nangungunang browser tulad ng Chrome.
PyScript: Ang Rebolusyong Anaconda
Isa sa mga pinakamahalagang hakbang pasulong ay ang paglabas ng Anaconda ng PyScript. Ang balangkas na ito ay isa lamang patong ng pambalot sa ibabaw... Pyodide, Emscripten at WebAssembly (Wasm)Dahil dito, halos malinaw na tumatakbo ang Python sa client. Ang pinakakaakit-akit na aspeto ay pinapayagan ka nitong magsulat ng Python code nang direkta sa loob ng mga custom na HTML tag, tulad ng <py-script>, na lubos na nagpapadali sa paglikha ng mga interactive na aplikasyon.
Para makapagsimula, isama lang ang mga PyScript CSS at JS file sa header ng dokumento. Isa sa mga magagandang bentahe nito ay Sinusuportahan nito ang mabibigat na library tulad ng NumPy, Pandas, o Scikit-learn, na maaaring i-configure gamit ang tag na <py-env>Bukod pa rito, nag-aalok ang PyScript ng komunikasyong bidirectional gamit ang JavaScriptnagpapahintulot sa pagmamanipula ng DOM ng browser gamit ang module js Sawa.
Kung tungkol sa interface, hindi nagkukulang ang PyScript, dahil nag-aalok ito ng mga pinagsamang bahagi ng UI bilang <py-button> o <py-inputbox>na nagsasagawa ng mga function ng Python kapag nakipag-ugnayan sa kanila. Gayunpaman, dapat tandaan na, dahil nakabatay sa WebAssembly, Maaaring matagal ang unang oras ng paglo-load. at maaaring makompromiso ang performance sa mga mobile device.
Brython: Isinalin ang Python sa JavaScript
Kung naghahanap tayo ng mas magaan na alternatibo sa pag-uugnay ng load, ang Brython ay isang klasikong pagpipilian. Hindi tulad ng PyScript, ang Brython ay isang implementasyon ng Python 3 na nakasulat nang buo sa JavaScript. isalin ang code ng Python para maunawaan ito ng browser. Para gumana ito, mahalagang tawagin ang function brython() sa kaganapan onload ng katawan ng HTML.
Namumukod-tangi ang Brython dahil sa kakayahan nitong makipag-ugnayan sa mga elemento ng HTML at SVG. Sa pamamagitan ng paggamit ng object documentposible mag-inject ng nilalaman nang pabago-bago o gumuhit ng mga geometric na pigura sa isang SVG canvas gamit ang mga custom na operator tulad ng =< para magdagdag ng mga node sa document tree. Sa kabila ng kakayahang magamit nito, mayroon itong mga limitasyon: Hindi nito sinusuportahan ang lahat ng module ng karaniwang library at hinihiling na ang data input at output ay hawakan sa pamamagitan ng mga elemento ng HTML, dahil print() o input() Hindi sila gumagana sa tradisyonal na paraan.
Iba pang mga pagpapatupad at paghahambing
Malawak ang ecosystem, at may iba pang mga kawili-wiling proyekto. Sa isang banda, nariyan ang Skulpt, na sumusuporta sa Python 2 at 3 sa pamamagitan ng JavaScript, at ang Transcrypt, na nagsisilbing compiler sa JavaScript, bagama't tila nakalimutan na ang huli. Nariyan din ang VistaPython, na nagmumungkahi ng ibang diskarte gamit ang isang bytecode interpreter na nakasulat sa JavaScript at isang parser na binuo gamit ang Antlr, na ginagawang mas madali ang pag-upgrade sa mga mas bagong bersyon ng Python.
Sa paghahambing ng mga pamamaraan, makikita natin na ang Brython at Skulpt ay gumagamit ng mga manu-manong parser na mahirap panatilihin. Sa kabaligtaran, ang Pyodide (ang pundasyon ng PyScript) ay isang tunay na port ng CPython sa WebAssembly, na ginagarantiyahan ang mas mahusay na compatibility, bagama't kapalit ng pagiging isang mas malaking package na i-download. Sinusubukan ng VistaPython na balansehin ang flexibility at laki , na ino-optimize ang mga load profile upang matiyak na mabilis na tumatakbo ang mga application sa anumang device.
Mga tradisyonal na pamamaraan at backend
Hindi lahat ng bagay ay kailangang mangyari sa browser. Para sa marami, ang pinakamabisang paraan upang pagsamahin ang Python at HTML ay nananatiling gamit ang... mga balangkas ng server tulad ng Prasko sa Python o DjangoSa ganitong pamamaraan, pinangangasiwaan ng Python ang lohika sa server at ipinapadala ang na-render na HTML sa client, o kumikilos ito bilang isang REST API na nagpapalitan ng datos sa JSON format na may frontend na nakasulat sa JavaScript gamit ang fetch o axios.
Mayroon ding mga mas lumang pamamaraan tulad ng CGI (Common Gateway Interface), na, bagama't itinuturing nang lipas na dahil sa kanilang pagiging kumplikado, ay naging batayan ng dynamic web. Para sa mga nangangailangan lamang na magpakita ng datos, ang pag-convert ng mga Jupyter notebook sa HTML ang pinakamabilis na paraan upang maglathala ng mga teknikal na ulat nang walang mga teknikal na komplikasyon.
Ang makina sa likod ng lahat ng ito: WebAssembly
Ang tunay na mahika na nagpapahintulot sa mga wikang tulad ng Python, C++, at Rust na makarating sa web ay ang WebAssembly (Wasm). Ang open standard na ito ay nagbibigay-daan sa pagpapatupad ng binary code na may halos katutubong pagganap. Dahil sa Wasm, nagawang i-port ng mga kumpanyang tulad ng Adobe ang Photoshop sa web , at lubos na na-optimize ng AutoCAD at Figma ang kanilang paglo-load at pagproseso ng data.
Ang kakayahang magpatakbo ng Python sa client, maging sa pamamagitan ng pagsasalin ng Brython o ng binary power ng PyScript, ay nagbubukas ng maraming posibilidad para sa paglikha ng mga kumplikadong tool at application ng data science nang hindi kinakailangang mag-install ng kahit ano ang user sa kanilang computer, na nagbibigay-daan sa mas malawak na access sa advanced programming.
Ang integrasyon ng Python sa web ay umunlad mula sa mga simpleng server-side script patungo sa binary execution sa pamamagitan ng WebAssembly, na nagbibigay-daan sa iyong pumili sa pagitan ng magaan na pagsasalin sa JavaScript gamit ang Brython o ang buong kapangyarihan ng PyScript at Pyodide, kaya binago nito ang paraan ng ating pag-iisip sa frontend development.


