VEXcode VRusa uma versão modificada do tempo de execução Python chamadaPyodidepara oferecer suporte à programação Python em navegadores.
VEXcode VRsuporta muitos dos recursos da biblioteca Python 3.8 Standard, como:
- Funções integradas -https://docs.python.org/3/library/functions.html
- Constantes integradas -https://docs.python.org/3/library/constants.html
- Tipos integrados -https://docs.python.org/3/library/stdtypes.html
- Exceções integradas -https://docs.python.org/3/library/exceptions.html
- Tipos de dados -https://docs.python.org/3/library/datatypes.html
- Estruturas de dados -https://docs.python.org/3/tutorial/datastructures.html
- Módulos Numéricos e Matemáticos -https://docs.python.org/3/library/numeric.html
- Módulos de programação funcional -https://docs.python.org/3/library/funcional.html
- Tempo -https://docs.python.org/3/library/time.html
- Serviços de processamento de texto -https://docs.python.org/3/library/text.html
Nota:Nem todos os recursos e API da Biblioteca Padrão foram testados no VEXcode VR ainda. Alguns dos recursos padrão da linguagem Python não são suportados no VEXcode VR devido à natureza da execução do Python em um ambiente de tempo de execução do navegador.
Exemplos de diferenças do Python padrão:
- O sistema de arquivos local e o acesso ao banco de dados, multithreading, rede e comunicação entre processos não funcionarão.
- Algumas APIs de arquivos funcionarão (ex: Criar/Abrir/Escrever) sobre o sistema de arquivos virtual do navegador. Mas esses “arquivos” virtuais residem na memória volátil do navegador e desaparecem quando você sai da página VEXcode VR.
- brain.print(...) deve ser usado em vez de print(...)
- Como o threading Python não é compatível, o VEXcode VR oferece suporte a umvr_threadspersonalizado que simula tarefas cooperativas.