[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:
Demonstração
Veja a demonstração do WebAssembly (WASM) em funcionamento:
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/