Come costruire un sito web gioco in python
Ci sono tre modi:
- Compilare in javascript. Vedi pyjs per esempio. Ce ne sono probabilmente altri.
- Scrivere un plugin python per netscape e activex (è così che funziona flash) poi usarlo.
- Utilizzare webassembly.
Il numero 2 non è probabilmente una buona idea. Il web in generale sta cercando di allontanarsi dagli standard concorrenti dei plugin netscape e activex. Ma ha funzionato per flash per molto tempo, quindi lo darei tecnicamente fattibile. E se non vi interessa IE, potreste semplicemente saltare del tutto l'activex, dato che tutti gli altri usano netscape.
Il numero 1 è probabilmente il più immediatamente fattibile. Transpile to js ha notevolmente mitigato lo schifo generale di js. Ma se c'è un bug nel transpiler, il debugging sarà effettivamente impossibile, a meno che tu non sia uno sviluppatore di pyjs. Quindi, se qualcosa va storto, si è praticamente bloccati con un rapporto di bug con pyjs e poi si aspetta, possibilmente indefinitamente, chi lo mantiene.
Il numero 3 è un po' più ambizioso del numero 1, perché è ancora un po' sperimentale, anche se la copertura webassembly è ora incredibilmente alta. Praticamente tutti i principali browser, eccetto qualche riprovevole cruft di Apple, ora lo supportano. Quello che dovresti fare è compilare un interprete python per webassembly, quindi usare quell'interprete per interpretare i file .py. Esiste lo stesso problema del numero 1, poiché se c'è un problema con quel compilatore, o sei affondato o sei uno sviluppatore per quel compilatore. Ma js non è più coinvolto, e webassembly è stato progettato specificamente per questo scopo, quindi tali problemi sono probabilmente meno probabili. Webassembly è nuovo e giovane, e fatto per fare cose come questa, quindi quest'ultima soluzione è di gran lunga la più a prova di futuro.
Se fossi io, tenterei prima il numero 3, poi tornerei al numero 1. Prenderei in considerazione il numero 2 solo per "divertimento".
Un'ultima cosa: so che hai chiesto di python, ma dovresti considerare la compilazione di rust in webassembly. Rust è più lavoro di python in circostanze più convenzionali, ma per un obiettivo webassembly, potrebbe effettivamente essere più facile, e sarà sicuramente più efficiente, sulle risorse locali e sulla larghezza di banda. Invece di compilare un intero interprete python in webassembly, e poi usarlo per un programma python, potreste semplicemente compilare il vostro programma rust. Solo le funzionalità che effettivamente usate sarebbero incluse nel binario risultante.
Articoli simili
- Se i VC non usano il loro sito web per catturare lead, qual è lo scopo del sito web?
- Come costruire un sito web come i siti di giochi come Minecraft
- Come costruire un sito web
- Che tipo di linguaggio di programmazione dovrei conoscere per costruire un sito web di video on demand (come netflix, crackle, hulu,)?