Ir ao conteúdo
  • Cadastre-se

E possível fazer aplicativos para android usando c++?


VitorFe

Posts recomendados

  • Moderador

@VitorFe Olá. A linguagem usada no desenvolvimento para android nativamente é JAVA em conjunto com o SDK android.  

 

Basicamente o que existe é uma  IDE que na qual você programa  em Java com sdk android e exporta para outras linguagens convertida de acordo com o sistema.

IOS - Objective-C

Android - java / sdk android

windows - C/C++, java dentre outras.

 

Naturalmente, nessa IDE,  você pode programar em outras linguagens... mas é preciso exporta-la para o sistema desejado.

Quando se exporta, o código é convertido para a linguagem que o sistema interpreta/compila

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Sim, você pode programar para Android em C++. O SDK do Android tem o tal do Android NDK (Native Development Kit, ou "Kit de Desenvolvimento Nativo"), que permite compilar código C++ (ou qualquer outra linguagem nativa) e rodá-lo no Android.

 

O Qt é uma framework enorme em C++ que aproveita o Android NDK e torna todo o processo de desenvolvimento bem fácil, além de suportar diversas outras plataformas. Com Qt, você pode programar sua aplicação em C++ e basta compilá-la uma vez para cada plataforma em que você deseja que seu programa rode. Usando o Qt, você escreve seu código uma vez e o Qt trata das diferenças entre as diversas plataformas. Qt roda no Windows, Mac, Linux, Android, iOS, Windows Phone, BlackBerry, e também mais alguns menos conhecidos. É claro que aplicativos de smartphone (Android, iOS, etc.) devem ter uma interface de usuário adaptada para dispositivos móveis, enquanto um programa de desktop (Windows, Mac, etc.) deve ter uma interface de usuário adaptada para computadores de mesa, mas Qt não te impede de usar exatamente o mesmo código em todas essas plataformas. O que você pode fazer é criar uma interface gráfica para todas as plataformas móveis, e outra interface gráfica para todas as plataformas desktop. Assim, você cria a interface gráfica duas vezes mas escreve a lógica da sua aplicação uma vez só, e você alcança um público gigantesco com muito menos trabalho do que se você usasse as ferramentas nativas de cada plataforma que você deseja suportar.

 

Já Qt Creator é uma IDE fantástica para desenvolver programas em C++ com Qt e programas em C++ que não fazem uso de Qt (a escolha é sua). Qt Creator é ele próprio feito em C++ com a framework Qt, então ele roda com a mesma aparência e funcionalidade no Windows, Mac e Linux. Isso é ótimo, porque você pode começar seu novo aplicativo no Windows e no dia seguinte continuar trabalhando nele no Linux, por exemplo. Até o formato do projeto é o mesmo. Além disso, Qt Creator é famoso por seu excelente desempenho. Ele integra um editor de código moderno e um editor gráfico que permite que você faça as telas/janelas do seu programa de forma visual, arrastando e soltando widgets como botões, campos de texto, etc.

 

Qt e Qt Creator são gratuitos e open source, e eles são licenciados predominantemente sob a LGPLv3, mas algumas partes são GPLv3 (isso fica muito claro no site e no instalador, então não tem surpresa). O que isso significa é que você pode usar o Qt e o Qt Creator gratuitamente para desenvolver programas multiplataforma sem precisar de divulgar o código fonte do seu programa, podendo inclusive vendê-lo sem pagar um tostão pelo Qt e Qt Creator. A única restrição é que você vincule (ou "linka") o seu código com as bibliotecas do Qt de forma dinâmica (por exemplo, .dll no Windows, .so no Linux, .dylib no Mac, etc.), ou seja, você não pode vincular seu código com Qt de forma estática. A consequência prática disso é que em vez de poder criar um arquivo executável só, com todo o código necessário, é preciso colocar o código do Qt em arquivos de biblioteca separados e colocá-los lado-a-lado com o arquivo executável da sua aplicação. Por exemplo, no Windows, quem navegar até a pasta de instalação do seu programa vai ver as DLLs do Qt lá. Agora, se você quer desenvolver um aplicativo para smartphone, aí a coisa complica, porque a sua única obrigação com a LGPLv3 é fornecer ao seu usuário um meio de relinkar o seu programa com versões modificadas das bibliotecas Qt, que em plataformas desktop é fácil, basta vincular seu programa com Qt dinamicamente. Se você consegue fornecer ao seu usuário um meio de relinkar seu programa com versões modificadas das bibliotecas Qt em smartphones (eu pessoalmente fico muito confuso com relação ao procedimento de fazer isso, é um pouco mais complexo do que simplesmente vincular com o Qt dinamicamente, mas você pode dar uma pesquisada), então você pode usar o Qt de graça mesmo para aplicativos de smartphone sem divulgar seu código fonte. Já se você quiser que o seu aplicativo/programa seja licenciado sob a GPLv3 (ou seja, você disponibilizará seu código fonte e seu programa será software livre), então você pode usar o Qt sob a licença GPLv3 e não precisa se preocupar, porque seu código estará disponível mesmo então qualquer pessoa poderá recompilar seu programa e vinculá-lo com versões modificadas das bibliotecas Qt. Tem também a licença comercial, que é bem cara mas permite que você vincule com o Qt estaticamente em todas as plataformas, e não requer que você permita aos seus clientes relinkarem seu programa com versões modificadas das bibliotecas Qt, e não requer que você divulgue o código fonte do seu programa. Eles não falam o preço da licença comercial, mas os preços já foram divulgados uma vez muitos anos atrás e era bem caro (naquela época, pelo menos). Se você não se importa com as condições de uma dessas licenças, recomendo que você brinque um pouco com Qt, é bem fácil e a documentação dele é excelente.

 

https://www.qt.io/

  • Curtir 2
  • Amei 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...