Sobre o projeto
ChakraCore é um mecanismo JavaScript de código aberto que expõe uma API C, permitindo que desenvolvedores adicionem suporte a JavaScript a qualquer projeto compatível com C ou C++. Ele originou-se como o mecanismo por trás do Microsoft Edge e agora é mantido como um projeto comunitário sob a licença MIT.
Suporte a plataformas: ChakraCore pode ser compilado para processadores x64 em Linux, macOS e Windows, e para x86 e ARM apenas no Windows. O suporte para x86/ARM no Linux e ARM no macOS é listado como um objetivo futuro.
Status do projeto: O Microsoft Edge não usa mais o Chakra, e a Microsoft forneceu atualizações de segurança para o ChakraCore 1.11 apenas até 9 de março de 2021. O projeto tem planos de continuar como um esforço comunitário voltado principalmente para casos de uso embarcados, com documentos de planejamento publicados que descrevem uma futura versão 1.12. A coordenação da comunidade ocorre por meio de issues no GitHub e de um servidor no Discord.
Uso: Após a compilação, o mecanismo pode ser testado com ch (ch.exe no Windows), um aplicativo host leve para executar pequenos programas JavaScript. O caso de uso principal é incorporar o ChakraCore diretamente em aplicativos por meio de sua API JSRT (JavaScript Runtime), com documentação oficial de incorporação e exemplos disponíveis. Ele também pode ser instalado por meio do gerenciador de dependências vcpkg com integração CMake (vcpkg install chakracore).
Observação importante sobre escopo: ChakraCore é apenas um mecanismo JavaScript. Ele não inclui APIs externas fornecidas por um navegador da web ou Node.js, como APIs DOM como document.write(). Aplicativos que incorporam o mecanismo devem implementar suas próprias APIs de entrada e saída; o host ch fornece print() para saída no terminal.
Compilação: No Windows, é compilado com Visual Studio 2015 ou 2017 (com suporte a C++) por meio da solução Chakra.Core.sln. No macOS, é compilado com as ferramentas de linha de comando do Xcode e CMake. No Linux, é compilado com CMake e Ninja. Binários pré-compilados também estão disponíveis.
A documentação inclui uma visão geral da arquitetura, um guia rápido de incorporação, uma referência completa da API JSRT, diretrizes de contribuição e uma coleção de blogs, palestras e outros recursos. Contribuições na forma de relatórios de bugs, verificação de correções e pull requests são bem-vindas. Problemas de segurança no branch 1.11 eram tratados por meio do canal privado de relatórios da Microsoft, enquanto problemas encontrados apenas no branch master são reportados privativamente a membros da equipe principal via Discord.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.