PDA

View Full Version : [Python] Includere un'applicazione python/pygame in una pagina web


ingframin
08-04-2011, 08:03
Buon giorno,
prendendo spunto dal topic di controversia tra Flash e Java di ieri, mi chiedevo se fosse possibile includere in una pagina web un'applicazione scritta in python con pygame come se fosse un'applet Java o un'applicazione flash.
Esiste un sistema per fare questo? O magari un compilatore python -> java.
Jython è solo un interprete, non penso che possa funzionare e comunque non so se c'è modo di installarci su pygame.

Saluti :)

banryu79
08-04-2011, 11:03
...
Jython è solo un interprete, non penso che possa funzionare e comunque non so se c'è modo di installarci su pygame.

Per Jython esiste anche un compiler.
Link -> http://www.jython.org/archive/21/docs/jythonc.html

ingframin
08-04-2011, 12:35
Ti ringrazio, ho cercato anche un po' in altri forum,gruppi, ecc...
Non c'è verso di far girare pygame su jython.
Si possono scrivere le applet ma sempre sfruttando librerie java come swing e awt... a questo punto meglio scrivere in java direttamente :(

cdimauro
08-04-2011, 12:50
Se non esce una versione di PyGame per jython, la vedo dura.

Si potrebbe anche fare, visto che per Java esiste un wrapper le SDL e anche per OpenGL, ma penso che nessuno abbia interesse a modificare PyGame per renderlo disponibile su jython sfruttandoli.

PGI-Bis
08-04-2011, 12:55
Credo che non sia realisticamente possibile per due ragioni. La prima è che - se non erro - pygame usa estensioni c, che jython non supporta.

La seconda è che per "disegnare" nell'applet devi usare il suo contesto grafico e do per scontato che pygame non abbia un renderer in grado di usare un java.awt.Canvas come backend.

Dico "realisticamente" perchè poi uno può benissimo usare C++ per scrivere un'applet java: l'applet ti da una regione rettangolare del browser, quel che ci frulla dentro lo può definire, tramite jni, più o meno chiunque.

Non credo però che fare il porting della parti di pygame che usano sdl per fargli usare qualcos'altro, tipo lwjgl o jogl, sia una passeggiata.

cdimauro
08-04-2011, 13:04
Infatti sono decisamente pessimista.

ingframin
08-04-2011, 14:24
In compenso ho scoperto Slick 2D :cool:
Molto carino, mi sembra fatto davvero bene.
Posso usare quello e scrivere il mio gioco in Java sperando di avere presto
un plug in per i browser in grado di supportare Python "per usi futuri" :rolleyes:

banryu79
08-04-2011, 14:48
In compenso ho scoperto Slick 2D :cool:

Ctrl+D, carino sì.
Tra l'altro uno degli autori è Kevin Glass, posto un link al suo sito, una raccolta di giochi/giochini vari sviluppati da lui e tutorials, sembra una bella risorsa.
http://www.kevinglass.com/index.php?page=about

PGI-Bis
08-04-2011, 18:03
Io non sottovaluterei la possibilità un linguaggio diverso a parità di api. Non ho esperienza con jython ma, ad esempio, usando scala le api standard della piattaforma java assumono un "sapore" completamente diverso.

cdimauro
09-04-2011, 06:03
Infatti io userei jython con tutta la libreria messa a disposizione da Java, visto che, a mio avviso, unisce i pregi di tutto:
- con Python come linguaggio realizzi velocemente il prototipo/modello (che poi diverrà anche il progetto finale);
- con il framework di Java hai tonnellate di classi a disposizione che "ti fanno anche il caffè";
- la virtual machine di Java generalmente è installata ovunque.

Per IronPython il discorso è analogo, ma per .NET (e Silverlight nel caso di sviluppo di applicazioni o giochi per il web).