![WebAssembly WebAssembly](https://sempreupdate.com.br/wp-content/plugins/seox-image-magick/imagick_convert.php?width=904&height=508&format=.png&quality=91&imagick=/wp-content/uploads/2022/03/webassembly-01-1024x571.png)
Estes dias navegando na internet, me deparei com o projeto incrível chamado de WebAssembly. O projeto WebAssembly tem como principal finalidade permitir ao usuário uma área de trabalho diretamente no navegador, sem utilizar soluções de virtualização. Toda a execução é baseada em objetos executado pelo navegador. No site dustinbrett.com, você poderá acessar uma solução e verificar como funciona de maneira espetacular.
O WebAssemby trás muitas ferramentas e funcionalidade, as quais destaco abaixo:
Emulação x86 via v86
Eu apoio arrastar arquivos .iso e .img para o aplicativo que pode ser executado na v86. Ele também vem carregado com Kolibri e Linux . Quando um aplicativo é fechado, um instantâneo do estado atual é salvo e /Users/Public/Snapshotscarregado automaticamente na próxima vez que a mesma imagem for aberta.
Emulação DOS via js-dos
Para este aplicativo, você pode abrir qualquer arquivo .zipou .jsdosarquivo nele. Se você não fornecer um arquivo de configuração jsdos, ele será inicializado no prompt de comando. Eu tenho alguns jogos shareware DOS pré-carregados, como Doom e Duke Nukem 3D . Como v86, ele salvará instantâneos ao fechar e os recarregará ao reabrir, mas em vez de carregar o estado do emulador, ele apenas carrega o conteúdo do diretório, como salvar jogos.
JS-DOS rodando Duke Nukem 3D
WINE (16/32 bits) via Boxedwine
Isso também suporta .ziparquivos e tentará executar .exetambém. Ele pode executar vários aplicativos como mostra o BoxedWine em sua página de aplicativos e jogos . Como exemplo, baixei a 32-bit x86 Portable (zip)versão mais recente do Notepad++ , mostrada abaixo.
BoxedWine executando o Notepad++
Emulação Flash via Ruffle
Este aplicativo suporta .swfe .splarquivos. Eu tenho algumas demos divertidas no meu site, como o Badger Badger Badger e o Windows RG (Really Good Edition) .
Extração 7z/RAR/TAR via Libarchivejs
Eu apoio .zipe .isomontagem através de métodos não-WebAssembly, então para manipular .7z, .rar, .tar& .tar.gzeu adicionei Libarchive.js. A extração é feita a partir do menu de contexto do botão direito em cada arquivo.
Conversão de áudio/vídeo via ffmpeg.wasm
Atualmente suportando apenas thread único por causa da limitação de SharedArrayBuffer e meu desejo de não lidar com problemas de CORS. Para vídeo, você pode converter .avi, .flv, .m4v, .mov, .mp4, .mpeg, .ogv, .webm& .wmv. Para áudio, ele suporta a conversão .aacde , .aiff, .ape, .flac, .m4a, .mp3, .oga, .ogg .wav& .wma. Essas opções de conversão podem ser acessadas através do menu de contexto em cada arquivo.
Conversão de imagem via WASM-ImageMagick
Semelhante ao áudio/vídeo, eu suporto vários formatos de imagens que podem ser convertidos. Eles são .bmp, .gif, .ico, .jpg, .png, .psd, .tiff& .xcf.
Python via Piodide
Eu adicionei suporte para executar .pyscripts no terminal. Também é possível abrir o Terminal diretamente e executar um comando como py import sys; sys.version para ver o mesmo resultado deste script de exemplo.
Space Cadet via SpaceCadetPinball
Finalmente, para uma explosão do passado, adicionei o 3D Pinball Space Cadet , que foi portado para muitas plataformas, incluindo o WebAssembly.
Conclusão
A projeto WebAssembly tem um futuro promissor e poderá ser mais uma alternativa para atividades de ter um área de trabalho remota e em nuvem.