Developpez.com - Rubrique Qt

Le Club des Développeurs et IT Pro

Apprendre à créer une application Android avec Qt Quick : création d'un jeu mobile — première partie

Un tutoriel de Michael Bertocchi

Le 2016-04-24 17:00:33, par imikado, Rédacteur
Découvrez ici en deux articles comment créer des jeux 2D avec Qt.

Eh oui, codez des jeux pour Android/iOS... en utilisant du JavaScript pour le code et du QML pour l'interface .

Le tutoriel étant assez dense, il sera divisé en deux parties. Ici, la première partie : installation de l'IDE et découverte de la boite à outils.

http://imikado.developpez.com/tutori...application-1/

Tous les meilleurs cours et tutoriels pour apprendre la programmation Qt

Tous les meilleurs cours et tutoriels pour apprendre la programmation sous Android
  Discussion forum
7 commentaires
  • imikado
    Rédacteur
    En cours d'écriture, c'est la partie la plus sympa à écrire

    Je réecris l'appli de zéro profitant de l'article pour mieux l'organiser et faire un jeu un poil plus sympa, pour rappel il est dispo sur le play store ici:
    https://play.google.com/store/apps/d...p&hl=fr_FR

    on va en profiter pour ajouter des trucs sympa à cette première version un peu trop simple
  • imikado
    Rédacteur
    Je suis sur: l'application a déjà été porté via Cordova et j'ai vu les lenteurs
    et pour Qt, idem l'application a déjà été dévéloppé et testé sur les mêmes appareils: pas de problème de fluidité

    Elle est déjà disponible sur le playstore, je rappelle le lien:
    https://play.google.com/store/apps/d...p&hl=fr_FR

    Ca c'est la version Qt, j'ai pas soumis au playstore la version Cordova, je sais pas si je l'ai gardé d'ailleurs

    Donc oui je confirme: c'est beaucoup plus rapide en Qt c'est normal en même temps :
    Avec Cordova: ça créé une application Java qui intègre un objet web (webview) qui va charger votre projet web

    Alors qu'avec Qt, on a notre application compilée (Qt reste ici une application C++) qui utilise du javascript pour interagir avec du QML (qui ressemble à de l'html/css)
    Mais le tout est compilé en c++ et appelé via une API: NDK* pour Android, Objective C++ pour IOS.. . donc non interprété en java (via la jvm android),

    De plus le moteur javascript ici est plus léger et simple qu'un vrai moteur javascript web + moteur d'interpetation web/html5 ce qui améliore également les performances

    * https://developer.android.com/ndk/index.html
  • Gouyon
    Membre expérimenté
    Très intéressant j'ai hate de voir la seconde partie
  • miky55
    Membre averti
    Salut est-ce que tu connais des benchmark qui comparent cordova a QML + JS, ou as tu toi même constater une différence de performance. Si oui de quel ordre. J'aimerai également savoir si ton appli est compilable tel quel pour les autres plateformes supportés par QT (Desktop et mobile).

    Merci
  • imikado
    Rédacteur
    Je le dis dès le début de l'article:
    j'ai développé/porté mon appli shoot them up existante d'abord via cordova

    et j'avais des ralentissement plus que genant sur les 2 tablettes (nexus 7 et galaxy note 10)
    L'animation était très saccadé

    A l'époque, il y avait une grosse différence de version d'Android, celle qui était installée sur le Galaxy utilisait encore un moteur webview différent du moteur chrome. La nexus en revanche utilisait une version plus récente (merci google/nexus) mais, bien que plus rapide souffrait d'une animation très saccadée également

    D'ou mon choix de chercher une autre alternative multiplateforme facile à prendre en main

    Pour la question de compilation cross plateforme:
    Dans Qt Creator, on choisi d'installer les "cibles" qui seront compilés et à chaque fois on décide de compiler/debuger vers tel ou tel cible
    La seul non accessible pour moi étant iOs: il faudrait installer le projet sur un mac

    Donc pour tester, je compile vers la cible desktop: ça compile tres vite et permet tres rapidement de voir le resultat, contrairemetn à l'émulateur Android
    Puis à la fin, compilation vers Android, signature and co puis upload sur le play store
  • miky55
    Membre averti
    J'ai bien compris ton choix, mais ça ne répond pas vraiment a ma question. Es tu sur que QT en mode javascript est nettement plus performant que cordova ou tu aura la réponse qu'a la fin de ton projet?

    Merci et bonne chance, j'attend le résultat avec impatience.