Portal SAMP
[Plugin] Kainure - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Lançamentos (https://portalsamp.com/forumdisplay.php?fid=26)
+---- Fórum: Plugins (https://portalsamp.com/forumdisplay.php?fid=10)
+---- Tópico: [Plugin] Kainure (/showthread.php?tid=5160)



Kainure - Calasans - 28/12/2025

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
  • 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.
Essas features transformam a experiência de programação, permitindo explorar um vasto universo de pacotes NPM e adotar metodologias mais avançadas.

Para uma compreensão completa da API, funcionalidades detalhadas e exemplos práticos, convido vocês a visitarem o repositório no GitHub.

Links O 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.

Abraços, 
Calasans Wink


RE: Kainure - Mateus Lima - 28/12/2025

( 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
  • 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.
Essas features transformam a experiência de programação, permitindo explorar um vasto universo de pacotes NPM e adotar metodologias mais avançadas.

Para uma compreensão completa da API, funcionalidades detalhadas e exemplos práticos, convido vocês a visitarem o repositório no GitHub.

Links O 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.

Abraços, 
Calasans Wink

legal!