- PyScript ļauj iegult Python HTML valodā, izmantojot WebAssembly, atbalstot tādas jaudīgas bibliotēkas kā NumPy un Pandas.
- Brython tulko Python kodu JavaScript valodā, padarot to ideāli piemērotu DOM un SVG elementu vieglai manipulācijai.
- WebAssembly ir galvenā tehnoloģija, kas ļauj kompilētām valodām darboties tīmeklī ar gandrīz vietējo veiktspēju.
- Aizmugures loģikas apstrādei ir tradicionālas servera alternatīvas, piemēram, Flask un Django.

Python jaudas ieviešana pārlūkprogrammas vidē jau sen ir bijis daudzu izstrādātāju sapnis. Vēl nesen, ja vēlējāties, lai kaut kas kustētos tīmeklī, JavaScript bija neapstrīdams karalis un vienīgā dzīvotspējīgā iespēja klienta puses loģikas izpildei, nepaļaujoties uz ārēju serveri.
Tomēr ainava ir radikāli mainījusies, pateicoties dažādu rīku un standartu parādīšanās, kas nojauc aizmugursistēmas barjeras . Mūsdienās ir vairāki veidi, kā integrēt Python ar HTML, sākot no kompilatoriem, kas tulko kodu, līdz bināro tehnoloģiju izmantošanai, kas nodrošina pārsteidzošu veiktspēju tieši jūsu populārākās pārlūkprogrammas, piemēram, Chrome, cilnē.
PyScript: Anakondas revolūcija
Viens no ievērojamākajiem lēcieniem uz priekšu bija Anaconda PyScript izlaišana. Šis ietvars ir vienkārši apvalka slānis virs... Pyodide, Emscripten un WebAssembly (Wasm)Tas ļauj Python klientam darboties gandrīz caurspīdīgi. Vispievilcīgākais aspekts ir tas, ka tas ļauj rakstīt Python kodu tieši pielāgotos HTML tagos, piemēram, <py-script>, ievērojami atvieglojot interaktīvu lietojumprogrammu izveidi.
Lai sāktu darbu, vienkārši iekļaujiet PyScript CSS un JS failus dokumenta galvenē. Viena no tā lielākajām priekšrocībām ir tā, ka Tas atbalsta smagas bibliotēkas piemēram, NumPy, Pandas vai Scikit-learn, ko var konfigurēt, izmantojot tagu <py-env>Turklāt PyScript piedāvā divvirzienu saziņa ar JavaScriptļaujot manipulēt ar pārlūkprogrammas DOM, izmantojot moduli js Python.
Runājot par saskarni, PyScript neatpaliek, jo tas piedāvā integrēti lietotāja interfeisa komponenti kā <py-button> o <py-inputbox>kas mijiedarbojoties izpilda Python funkcijas. Tomēr jāatzīmē, ka, balstoties uz WebAssembly, Sākotnējā ielādes laiks var būt ilgs. un veiktspēja mobilajās ierīcēs var būt apdraudēta.
Brython: Python tulkots uz JavaScript
Ja meklējam vieglāku alternatīvu slodzes ziņā, Brython ir klasiska izvēle. Atšķirībā no PyScript, Brython ir Python 3 implementācija, kas pilnībā rakstīta JavaScript valodā. tulkot Python kodu lai pārlūkprogramma to varētu saprast. Lai tas darbotos, ir svarīgi izsaukt funkciju brython() pasākumā onload HTML pamattekstā.
Brython izceļas ar spēju mijiedarboties ar HTML un SVG elementiem. Izmantojot objektu documentir iespējams dinamiski ievadīt saturu vai zīmēt ģeometriskas figūras uz SVG audekla, izmantojot pielāgotus operatorus, piemēram, =< lai pievienotu mezglus dokumentu kokam. Neskatoties uz tā daudzpusību, tam ir ierobežojumi: Tas neatbalsta visus moduļus standarta bibliotēkas un pieprasa, lai datu ievade un izvade tiktu apstrādāta, izmantojot HTML elementus, jo print() o input() Tie nedarbojas tradicionālā veidā.
Citas ieviešanas un salīdzinājumi
Ekosistēma ir plaša, un ir arī citi interesanti projekti. No vienas puses, pastāv Skulpt, kas atbalsta Python 2 un 3, izmantojot JavaScript, un Transcrypt, kas darbojas kā JavaScript kompilators, lai gan pēdējais, šķiet, ir aizmirsts. Ir arī VistaPython, kas piedāvā atšķirīgu pieeju, izmantojot JavaScript rakstītu baitkoda interpretētāju un ar Antlr ģenerētu parsētāju, tādējādi atvieglojot jaunināšanu uz jaunākām Python versijām.
Salīdzinot pieejas, mēs redzam, ka Brython un Skulpt izmanto manuālus parsētājus, kurus ir grūti uzturēt. Turpretī Pyodide (PyScript pamats) ir patiesa CPython pārnešana uz WebAssembly, garantējot daudz lielāku saderību, lai gan par to, ka lejupielādējamā pakotne ir daudz lielāka. VistaPython cenšas panākt līdzsvaru starp elastību un izmēru , optimizējot ielādes profilus, lai nodrošinātu lietojumprogrammu ātru darbību jebkurā ierīcē.
Tradicionālās metodes un aizmugursistēma
Ne visam ir jānotiek pārlūkprogrammā. Daudziem visefektīvākais veids, kā apvienot Python un HTML, joprojām ir izmantot... serveru ietvari, piemēram, Kolba Python valodā vai DjangoŠajā shēmā Python apstrādā servera loģiku un nosūta atveidoto HTML klientam vai arī darbojas kā REST API kas apmaina datus JSON formātā ar JavaScript valodā rakstītu front-end, izmantojot fetch o axios.
Pastāv arī vecākas metodes, piemēram, CGI (Common Gateway Interface), kas, lai gan tagad tiek uzskatītas par novecojušām to sarežģītības dēļ, veidoja dinamiskā tīmekļa pamatu. Tiem, kam vienkārši ir jāprezentē dati, Jupyter piezīmju grāmatiņu konvertēšana uz HTML ir ātrākais veids, kā publicēt tehniskos pārskatus bez tehniskām sarežģījumiem.
Visa pamatā esošais dzinējspēks: WebAssembly
Īstā maģija, kas ļauj tādām valodām kā Python, C++ un Rust sasniegt tīmekli, ir WebAssembly (Wasm). Šis atvērtais standarts ļauj izpildīt bināro kodu ar gandrīz vietējo veiktspēju. Pateicoties Wasm, tādi uzņēmumi kā Adobe ir spējuši pārnest Photoshop uz tīmekli , un AutoCAD un Figma ir ievērojami optimizējuši datu ielādi un apstrādi.
Iespēja palaist Python klientā, izmantojot Brython tulkošanu vai PyScript bināro jaudu, paver plašas iespējas sarežģītu datu zinātnes rīku un lietojumprogrammu izveidei, lietotājam neko neinstalējot savā datorā, tādējādi demokratizējot piekļuvi progresīvai programmēšanai.
Python integrācija tīmeklī ir attīstījusies no vienkāršiem servera puses skriptiem līdz binārai izpildei, izmantojot WebAssembly, ļaujot izvēlēties starp vieglo tulkošanu uz JavaScript ar Brython vai pilnu PyScript un Pyodide jaudu, tādējādi mainot mūsu priekšstatu par front-end izstrādi.


