Web böngészőben futó Python kód

Van egy érdekes projekt: https://brython.info
Ez egy olyan javascript csomag, amely Python értelmezőt valósít meg a böngészőben.

Még a Python interaktív módját is emulálja: https://brython.info/console.html
Érdekessége a browser csomag, ahol a web böngésző specifikus rendszerhívások találhatóak.

>>> import browser
>>> browser.alert( (3+4j)/(5-3j) )

Egy másik példa a https://brython.info/ HTML forráskódjának 40. sorától látható a weblapon megtalálható, python-ban írt analóg óra.
 

Update#1:
     Tempó: van néhány kifejezés, amit lassúra tudtak implementálni, de a legtöbbje hasonló tempójú a cPython3-hoz: https://brython.info/speed_results.html

Update#2:
     Néhány példa és forráskódja: https://brython.info/gallery/gallery_en.html

Hozzászólások

Ejha!

Na erre kiváncsi vagyok.

“May have been the losing side. Still not convinced it was the wrong one.”
"The clitoris has 8,000 nerve endings and still isn't as sensitive as a conservative man on the Internet"

Végre egy normális fejlesztés webes fronton. :D

"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"

Tök jó! Ezt amúgy már más technológiával is megvalósították: a modern böngészők ugye JS-en kívül tudnak még WebAssembly-t, és arra az Emscripten nevű projekt emulál C libraryt, amivel már fordítottak Pythont (gondolom cPythont, de ezt nem láttam sehol leírva) és SciPy stacket böngészőre: https://alpha.iodide.io/

Igen, sok nyelvből fordítanak webassembly-re.
https://en.wikipedia.org/wiki/WebAssembly#Support

Itt az érdekesség, hogy magára a natív szkriptnyelvre írtak értelmezőt. Azaz szkriptelhetsz böngészőben.
Hopp, az aprócska interpreter méretéről híres LUA is játszik? És igen, szintén több projektben. Például: https://fengari.io/ http://moonshinejs.org/

Ez egy trend, hogy minden fusson mindenen (is :-). Javát már próbáltam JavaScript-en jó régen GWT-vel. Végül nem lett egy sikersztori a projekt, bár nem emiatt. Egy jó JVM implementációért sokat adnék, ami böngészőben tud futni. Legjobb lenne, ha WebAssemly-ként futna a JVM, és interpretálná a classokat, vagy esetleg ha tudná fordítani is. De szép is volna, bilibe lóg a kezem :-). Tudom, vannak hasonló projektek, de mindegyiknek vannak limitációi is.

JavaScriptet már régóta lehet JVM-ben futtatni Java-val kommunikálva, az működött végül, de azért volt szívás vele. Hasonlóan van python interpreter is, ezzel is kísérleteztem már.

A legnagyobb baj a hasonló projektekkel az, hogy előfordulnak inkompatibilitások, illetve a natív libeket nehéz átültetni, és így eléggé korlátos, hogy mit lehet megvalósítani.

Összességében igazán hozzáadott értéket még egyik hasonló projekt sem adott nekem, egyet kivéve: az Emscripten-nel böngészőben futtatható C-t megszerettem, mert ezáltal mikrovezérlőre írt beágyazott programokat tudok böngészőben szimulálni. Bár még csak hobbiból csináltam, szóval pénzt még nem hozott a konyhára ez sem.