15:30
( 10:32)Calasans Escreveu:Kainure
Framework para o desenvolvimento moderno de SA-MP com JavaScript e TypeScript.
Olá, comunidade do PortalSAMP!
No desenvolvimento de servidores SA-MP, o Pawn tem sido o padrão por anos (óbvio), oferecendo uma base sólida, mas com limitações em modularidade, operações assíncronas e integração com ferramentas contemporâneas. O Kainure surge como uma alternativa, funcionando como uma ponte que incorpora o ambiente Node.js diretamente no servidor SA-MP. Isso possibilita escrever toda a lógica do gamemode em JavaScript ou TypeScript, expandindo as possibilidades com um ecossistema rico de pacotes, bibliotecas e práticas de programação atuais.
Utilizando o Node.js na versão v22.21.1, o framework aproveita o motor V8 – o mesmo do Google Chrome – para uma execução de código rápida e eficiente, além da LIBUV para gerenciamento assíncrono de I/O. Essa estrutura é perfeita para cenários dinâmicos como jogos multiplayer, permitindo a criação de gamemodes mais sofisticados, bem organizados e de manutenção simplificada, indo além das restrições impostas pelo Pawn.
Principais Vantagens do Kainure
Essas features transformam a experiência de programação, permitindo explorar um vasto universo de pacotes NPM e adotar metodologias mais avançadas.
- Abordagem Intuitiva: As funções principais são injetadas no escopo global, eliminando a necessidade de imports repetitivos e resultando em um código mais fluido e acessível.
- Integração com o SA-MP: Facilita o acesso a funções nativas do SA-MP e de plugins, com suporte para hooks em nativas e criação de callbacks.
- Suporte Nativo a TypeScript: Transpila automaticamente arquivos .ts para .js, fornecendo arquivos .d.ts para compatibilidade da API com o TypeScript.
- Sistema de Comandos Integrado: Oferece ferramentas para registrar comandos, processar parâmetros de forma similar ao sscanf, criar aliases e chamadas programáticas.
- Recursos Globais: Inclui constantes padrão do SA-MP acessíveis em qualquer lugar, além de definições de tipos para maior precisão no desenvolvimento.
Para uma compreensão completa da API, funcionalidades detalhadas e exemplos práticos, convido vocês a visitarem o repositório no GitHub.
LinksO que acham dessa proposta? Já consideraram migrar para linguagens como JS ou TS no SA-MP? Compartilhem suas opiniões, dúvidas ou sugestões aqui no tópico.
- Repositório: https://github.com/aldergrounds/kainure
- Release v1.0.0: https://github.com/aldergrounds/kainure/...tag/v1.0.0
Abraços,
Calasans
legal!

