Executando verificação de segurança...
5

[pitch]🔥 Nativium - Projeto para usar C++ em Mobile, Desktop e Web

Olá,

Fiz um projeto para usar C++ em Mobile, Desktop e Web.

O repositório está aqui: https://github.com/nativium/nativium

Descrição:

Nativium - Escreva uma vez e compile para qualquer plataforma

O Nativium é um template modular multiplataforma para C++ que permite escrever um único código e compilá-lo para diversas plataformas. Com o Nativium, você pode gerar bibliotecas e executáveis que compartilham o mesmo código C++, facilitando o desenvolvimento e a manutenção.

Plataformas Suportadas

  • Linux
  • macOS
  • Windows
  • Android
  • iOS
  • tvOS
  • watchOS
  • macCatalyst
  • Web Assembly (WASM)

O binário gerado pode ser utilizado em um projeto novo ou existente, garantindo máxima flexibilidade e reaproveitamento de código.

Como funciona?

O Nativium se baseia em dois conceitos principais:

  • Módulos: Definem quais códigos e dependências precisam ser compilados.
  • Targets: Definem como o código será compilado (cada plataforma é um target).

Isso significa que você pode escrever código específico para cada plataforma e, ao mesmo tempo, manter um núcleo de código C++ unificado. Por exemplo:

  • Um código C++ pode se comunicar com a plataforma mobile (Java no Android e Objective-C no iOS) para obter o nível da bateria.
  • Um código mobile pode chamar bibliotecas C++ para acessar o banco de dados ou fazer requisições HTTP.

Ferramentas utilizadas

O Nativium utiliza um conjunto eficiente de ferramentas para facilitar o desenvolvimento:

  • Python: Para automatizar scripts e comandos.
  • CMake: Para organizar o código-fonte e compilar os projetos.
  • Conan: Para gerenciar e compilar todas as dependências C++.
  • Djinni: Para gerar código intermediário entre C++ e plataformas mobile.

Como começar?

Este é um repositório template, pronto para ser utilizado como base para o seu próprio projeto. Ele permite que você foque no código, sem precisar se preocupar com a estrutura e organização do projeto C++.

Basta baixar este template, conferir os aplicativos de exemplo e testá-lo em dispositivos móveis, desktops e na web.

Vantagens

  • Automação total: Todos os comandos para configurar, compilar, empacotar, gerar e distribuir podem ser executados via linha de comando.
  • Flexibilidade: Pode ser usado com qualquer editor de código.
  • Extensibilidade: Cada parte do código é separada por módulos, facilitando a adição de código personalizado ou bibliotecas C++ externas.

Documentação

Saiba mais sobre o Nativium na documentação oficial:

📖 Documentação Nativium

Demonstração

Veja a demonstração do WebAssembly (WASM) em funcionamento:

🎮 Demo WebAssembly

O Nativium facilita o desenvolvimento multiplataforma com C++, tornando a criação de aplicativos eficiente e estruturada. 🚀

Projeto que usa o Nativium:

Minha startup Ubook usa o Nativium e possui diversos ganhos, em performance e em velocidade da equipe em termos de desenvolvimento: https://www.ubook.com/

Carregando publicação patrocinada...
1

boa noite, sr

não sei nem o que dizer. era algo assim que eu estava procurando há uns meses, e agora encontrei. estou bastante grato, e fico contente porque já sei que funciona, pois já sei o ubook por meses.
chequei que o sr está usando o SDL.
vou tentar criar alguma coisa.
e se o sr criasse mais documentação?
eu me perdi, e não entendi por onde começar dentro do projeto. em vez de eu ter de procurar sozinho, o sr poderia colocar um pequeno tutorial quanto a isso.
quando eu achar aqui, vou tentar escrever uma resposta para meu comentário, ou fzr um post.

programo em C++, e tô disposto a usar isto. será de grande ajuda, mesmo.

1

Olá, que bom que gostou.

Para começar, você só precisa do projeto https://github.com/nativium/nativium, o uso da SDL em outro projeto é apenas um teste usando o Nativium.

Não sei em que sistema você está, mas basicamente você precisa disso para cada plataforma:
https://nativium.s3.amazonaws.com/docs/requirements.html

Depois você pode partir pra testar se está tudo funcionando aqui:
https://nativium.s3.amazonaws.com/docs/how-to-start.html

Eu fiz um projeto depois que é uma evolução do Nativium, que é o XPLPC, que é o que uso atualmente e consigo muito mais robusto e simples de usar: https://github.com/xplpc/xplpc

Qualquer dúvida só falar.

Se quiser, faz uma live e a gente usa o XPLPC em vídeo e assim fica gravado.

Abraços.