Journal Qt pour Android en version alpha

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
41
22
fév.
2011

Le projet existe depuis 1 an environ et est développé principalement par BogDan (ni Nokia ni Google n'ont participé). Aujourd'hui il a annoncé la version alpha de Qt pour Android: http://groups.google.com/group/android-qt/browse_thread/thread/209edef7c5ceec8a

Le projet s'appelle désormais Necessitas et a changé d’hébergeur : http://sourceforge.net/p/necessitas/home/ (auparavant ici : http://code.google.com/p/android-lighthouse/)

Une vidéo de démonstration est disponible ici: http://blip.tv/file/4790125 (attention son fond d’écran comporte un petit téton...)

Il utilise Qt Creator sous Linux, le SDK & NDK d'Android. Il a porté QtGUi et QML en plus des composants de base. Il arrive également à debugguer son programme Android avec Qt Creator.

Et pendant ce temps Nokia c'est macqué avec une plateforme qui interdit la GPL...

  • # Multiplateforme

    Posté par  . Évalué à 9.

    Qt continue à être vraiment multiplateforme (même si ce n'est pas voulu par le propriétaire actuel). C'est sympa de développer pour Meego, Symbian et Android en même temps, ça permettra sans doute de faciliter la vie des développeurs des applications pour smartphone.

    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Multiplateforme

      Posté par  (site web personnel) . Évalué à 4.

      C'est effectivement sympa pour les développeurs... Maintenant est-ce vraiment sympa pour les utilisateurs ? Rien de plus ennuyeux pour les utilisateurs que de se retrouver avec des applications qui ne respectent pas les guidelines graphiques et ergonomiques de la plateforme qu'ils utilisent. Au mieux une skin va donner l'apparence visuel d'une appli Android mais nous auront toujours le droit à des différentes ergonomiques qui vont en rebuter plus d'un. C'est d'autant plus vrai dans le monde mobile : un utilisateur choisi un téléphone notamment en fonction du look&feel. Les interfaces Android sont déjà suffisament fragmentées, pas la peine d'en rajouter !

      • [^] # Re: Multiplateforme

        Posté par  (site web personnel) . Évalué à 8.

        Avec QML, toute l'ergonomie est déplacé dans de simple fichier texte. Très facile à modifier changer les effets de transition, les positions des contrôles et les trucs évident comme les couleurs et les fonts..

      • [^] # Re: Multiplateforme

        Posté par  . Évalué à 10.

        Qt est justement très bon pour respecter le Look&Feel du système sur lequel il est installé. Sous MacOSX le menu est bien détaché, les différents éléments de l'interface font bien "OSX", les préférences vont bien sous le bon menu, etc... Je pense qu'avec du travail on peut très bien respecter le Look&Feel d'Android, de Meego... avec Qt.

        • [^] # Re: Multiplateforme

          Posté par  . Évalué à 5.

          Il n'y a pas que le look and feel, il y a le comportement.

          Par exemple, Qt simule très bien l'apparence de GTK mais pas les détails comme le clic droit sur un bouton de barre de défilement (je vous essayer, je ne vois pas comment le décrire).

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

          • [^] # Re: Multiplateforme

            Posté par  . Évalué à 4.

            Merci, je ne connaissais pas :)

            Et pour la description, ça équivaut à descendre tout en bas/monter tout en haut la barre de défilement. Je vous laisse le plaisir de songer à la version horizontale.

          • [^] # Re: Multiplateforme

            Posté par  . Évalué à 1.

            En gros c'est comme un clic milieu sur la barre de défilement sauf que ça ne marche que pour le début et la fin ?
            Je préfère le comportement où l'on peut atteindre directement n'importe quel niveau sur la barre :)

            • [^] # Re: Multiplateforme

              Posté par  . Évalué à 2.

              Ah bah le clic milieu marche aussi, l'un n'empêche pas l'autre.

              Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

          • [^] # Re: Multiplateforme

            Posté par  (site web personnel) . Évalué à 2.

            Est-ce que le bug a été reporté ?

            Qt essaye aussi de respecter le comportement. En fonction du gestionaire de fenêtre, certains widgets se comporte différement. La scrollbar par example : sous windows, si on s'écarte de plus d'un certains nombre de pixel avec la souris, ça reviens à l'encienne position. Les menus : dans gnome, la navigation au clavier ignore les entrées désactivés, alors que sous kde, elles sont prise en compte. etc.

      • [^] # Re: Multiplateforme

        Posté par  (site web personnel) . Évalué à 10.

        Pas la peine d'en rajouter sur la fragmentation d'Android. C'est aussi ce qui fait sa richesse. (et la fragmentation matérielle pose des exigeances en plus, oui, mais ne tombons pas dans le travers d'ôter l'adjectif matériel à fragmentation, comme certains sites se font un plaisir de le faire...Et puis cette frag matérielle est logique et salutaire : de nombreux appareils divers sont dispos, c'est le pc du téléphone... ce que apple ne veux pas faire et microsoft n'arrive pas à faire) La situation actuelle n'est pas "n'importe quoi", et la fragmentation est une illusion argumentaire employée pour dénigrer Android. Bizarre de retrouver cet argumentaire ici. Un Android totalement uniforme et cent pour cent mainstream deviendrait l'antithèse de la liberté, et serait bien ennuyeux : tout les téléphones seraient pareils.

        Ce qui distingue un téléphone android d'un autre c'est justement bien cela : la capacité d'intégration par le constructeur de valeurs ajoutées, voir lorsqu'il propose une interface à l'ergonomie différente, et au look différent.

        C'est une excellente chose pour tout le monde, cette richesse. Sense de HTC. Celle de Sony (la meilleure à mon goûts). Et maintenant Qt vient proposer cette possibilité... avec la liberté de la gpl en plus. Franchement, quoi faire d'autre qu'applaudir des deux mains ?

        mes deux cents.

        • [^] # Re: Multiplateforme

          Posté par  (site web personnel) . Évalué à 6.

          Ça serait la même chose que le pc si la plateforme sous jacente était compatible à chaque fois. Mais la, avoir ou pas QT va être plus le tour de force qu'autre chose, en fonction de l'archi arm ( ou pas arm ) que tu vises, etc. Je sais pas si passer par une compilation native va aider grandement quelqu'un d'autre que les constructeurs de matos.

          De plus, je rappelle que pour les constructeurs, la GPL est visiblement juste une idée plus qu'une obligation : http://www.codon.org.uk/~mjg59/android_tablets/ ).

        • [^] # Re: Multiplateforme

          Posté par  (site web personnel) . Évalué à -4.

          <i>Pas la peine d'en rajouter sur la fragmentation d'Android. C'est aussi ce qui fait sa richesse. (et la fragmentation matérielle</i> Qui te parle de fragmentation matérielle ? On parle ici de soft. Je parle d'IHM, d'ergo : forcé de constater que beaucoup trop d'applis Android sont des repompes de leur équivalent iPhone. D'autres applis sont de simples conteneurs "web", l'interface derrière étant du HTML classique. Ce n'est évidemment pas le cas de toutes les applis, mais globalement on tombe sur tout et n'importe quoi, et au final les 3/4 des applis ont une ergonomie à chier.

          <i>Franchement, quoi faire d'autre qu'applaudir des deux mains ?</i> Par utilisateurs, tu penses Sony, HTC. Moi par utilisateurs, je penses monsieur tout le monde. Forcé de constater que ce n'est absolument pas les mêmes objectifs pour chacun, donc non, on peut faire autre chose qu'applaudir des 2 mains. HTC Sense est l'exemple typique : un truc "sexy" pensé pour s'afficher sur des affiches géantes dans le métro. Pour l'utilisateur : des applis redondantes, avec une interface et un comportement différent, des mises à jour d'OS qui se font attendre. Quelle valeur ajoutée pour le consommateur ?

          • [^] # Re: Multiplateforme

            Posté par  (site web personnel) . Évalué à -3.

            Et voilà encore un exemple typique de problème ergonomique pour l'utilisateur : avant d'ajouter une nouvelle syntaxe wiki, c'était pas plus urgent d'essayer d'être compatible avec la syntaxe existante ?

            • [^] # Re: Multiplateforme

              Posté par  . Évalué à 5.

              Il y a un aide-mémoire relativement clair là-dessus.

              « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

            • [^] # Re: Multiplateforme

              Posté par  . Évalué à 5.

              Personne ne se plaint sur le fait que la syntaxe ait changé. On est quand même sur un site ou on a l'habitude des syntaxes différentes, et les syntaxes types wiki sont assez petites pour que ce soit très rapide à apprendre et pas gênant. D'ailleurs il en existe plein ...

              Là ou il y a des plaintes, c'est un peu sur certains défauts de la syntaxe, pas qu'elle ait changée.

              • [^] # Re: Multiplateforme

                Posté par  (site web personnel) . Évalué à -1.

                Désolé, autant pour moi. Personne ne se plaint. Je suis donc pleinement satisfait de devoir changer mes habitudes. Pourquoi je donne mon avis tient d'ailleur ? Visiblement c'est plus pertinent de dire des contre-vérités que d'essayer de soulever des questions.

                • [^] # Re: Multiplateforme

                  Posté par  . Évalué à 3.

                  Tu m'as l'air bien énervé ...

                  Il y a un sacré paquet de râleurs sur ce site et personne ne s'est plaint de cet aspect particulier. T'as juste été surpris par le changement, c'est tout.

              • [^] # Re: Multiplateforme

                Posté par  . Évalué à 6.

                Si, en l'ocurrence quelqu'un se plaint.

                Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

              • [^] # Re: Multiplateforme

                Posté par  . Évalué à 1.

                les syntaxes types wiki sont assez petites pour que ce soit très rapide à apprendre

                Surtout celle-ci, mais pour ma part, j’en préférerais une plus longue à apprendre parce que moins limitée...

                « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

        • [^] # Re: Multiplateforme

          Posté par  (site web personnel) . Évalué à 3.

          C'est une excellente chose pour tout le monde, cette richesse. Sense de HTC. Celle de Sony (la meilleure à mon goûts). Et maintenant Qt vient proposer cette possibilité... avec la liberté de la gpl en plus. Franchement, quoi faire d'autre qu'applaudir des deux mains ?

          Il me semble que pour la prochaine version d'Android, une seule interface (l'officielle) sera autorisée

          • [^] # Re: Multiplateforme

            Posté par  . Évalué à 1.

            Non, celle par défaut sera mieux pour rendre caduque les interfaces modifiées.

      • [^] # Re: Multiplateforme

        Posté par  (site web personnel) . Évalué à 8.

        Rien de plus ennuyeux pour les utilisateurs que de se retrouver avec des applications qui ne respectent pas les guidelines graphiques et ergonomiques de la plateforme qu'ils utilisent.

        C'est tout l'interêt d'un SDK multi-plateforme : développer une fois, et le SDK fait l'adaptation. Si tu veux une ergonomie spéciale pour ton téléphone à toi, demande à ton fournisseur de téléphone soit de développer le DSK Qt pour qu'il soit mieux intégré au téléphone, soit qu'il paye pour que le soft soit porté.

        C'est chiant les mecs qui veulent leur petite interface pour eux mais qui restent dans leur coin, j'espérait que ça resterai chez Mac ça. Alors voila, reste plus qu'à râler vers les bonnes personnes (ton fournisseur du téléphone) pour qu'elle n'ait pas une API à lui uniquement et qui coûte cher pour les développeurs.

        Merci Qt de me permettre de développer avec une seule API, et pouvoir déployer sur plusieurs OS. J'ai un peu peur pour son avenir, on verra...

        • [^] # Re: Multiplateforme

          Posté par  . Évalué à 5.

          Rhooo ! On en a entendu parlé tout le weekend, tu veux pas le laisser où il est le DSK ..., même s'il semblerait qu'il aime bien ce qui est "Qt"

          ---->[]

        • [^] # Re: Multiplateforme

          Posté par  (site web personnel) . Évalué à 2.

          C'est tout l'interêt d'un SDK multi-plateforme : développer une fois, et le SDK fait l'adaptation.
          Le SDK fait l'adaptation technique et tente tant bien que mal de faire l'adaptation graphique (intégration contrôles natifs par exemple). L'adaptation ergonomique est très moyenne, et c'est pas la faute du SDK. Qt comme la plupart des frameworks graphiques ne sont pas d'assez haut niveau pour pouvoir faire abstraction des différences ergonomiques : c'est au développeur de faire les bons choix ou de faire l'adaptation. C'est pas pour rien que chaque plateforme a ses guidelines destinées aux concepteurs d'interface.
          Il suffit de lancer Konqueror sous Gnome ou Nautilus sous KDE pour comprendre qu'il y a un problème.
          Mais prenons un exemple concrêt, si quelqu'un est motiver pour compiler et lancer un konqueror sur un Android de base (Nexus One, HTC Desire) et de voir le résultat.

          Alors voila, reste plus qu'à râler vers les bonnes personnes (ton fournisseur du téléphone) pour qu'elle n'ait pas une API à lui uniquement et qui coûte cher pour les développeurs.
          Ah parcque pour toi il faudrait que tous les environnements soient identiques techniquement pour simplifier ta vie de développeur ?
          Je suis moi même développeur, mais désolé, j'essai de penser avant tout aux utilisateurs, et il est important qu'ils aient le choix, si possible entre des choses radicalement différentes tant qu'à faire. Et c'est au développeur de s'adapter pour lui proposer des applications qui s'intègre correctement.
          Mais notes que le développeur il fait ce qu'il veut hin, il peut pondre des applis moches et pas intégrées sur l'Android market, Google s'en tape royale. Mais qu'il vienne pas s'étonner que son appli reçoit des critiques négatives.

      • [^] # Re: Multiplateforme

        Posté par  . Évalué à 1.

        ceci n'est qu'un test.

  • # Qt & openjdk ?

    Posté par  (site web personnel) . Évalué à 3.

    Comment cela se positionne avec IcedRobot ?

  • # Comique

    Posté par  . Évalué à 10.

    Donc en résumé, on a Qt pour Android. Donc, les développeurs qui ont développé des applis pour Symbian grâce à Nokia et qui étaient désespérés de la promesse non tenue de ceux-ci de pouvoir réutiliser leurs applis sur les prochains smartphones de la marque pourront porter leurs applications smartphones sur Android. Mais jamais sous WP7 (le deal l'interdit).

    • [^] # Re: Comique

      Posté par  . Évalué à 2.

      Mais jamais sous WP7 (le deal l'interdit).

      As-tu des infos sur ce sujet? Je trouve très curieux que Nokia n'ai pas cherché à réutilise leur développements Qt sur WP7 en portant Qt, ne serait-ce qu'au début pour se laisser le temps de cibler du WP7 natif..

      • [^] # Re: Comique

        Posté par  (site web personnel) . Évalué à 3.

        « Qt ne sera pas porté sur Windows Phone 7 », a déclaré Aron Kozak, de la division Qt de Nokia. « Toutes les applis Windows Phone tourneront sur tous les périphériques WP7. Ajouter Qt au mélange ne ferait que causer de la fragmentation », a-t-il ajouté.

        Envoyé depuis mon PDP 11/70

        • [^] # Re: Comique

          Posté par  . Évalué à 2.

          Et sur le "le deal l'interdit" ?

          Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

          • [^] # Re: Comique

            Posté par  (site web personnel) . Évalué à 3.

            "le deal l'interdit" ne représente pas la réalité, il faut lire "le deal ne l'a pas autorisé".

            Windows Phone 7 est un nouveau OS pour smartphones écrit en .NET : Microsoft a fait table rase du passé. Ils ont délibérément interdit le développement d'applications qui n'utiliseraient pas la plateforme .NET (i.e le code natif C/C++, Python, Java ect...) pour des raisons techniques mais aussi j'imagine politique et ça bien avant le deal avec Nokia.

            Bref c'est d'autant plus incompréhensible de la part de Nokia d'avoir signé avec Microsoft : ils jettent toute la R&D précédemment investie et repartent de 0 (encore une fois) avec un OS qui n'a pas encore fait ses preuves.

            • [^] # Re: Comique

              Posté par  . Évalué à 1.

              [...] pour des raisons techniques mais aussi j'imagine politique et ça bien avant le deal avec Nokia.

              Il est probable que la vente de licences pour leurs outils de développement ne soit pas tout à fait étrangère à cette décision.

              • [^] # Re: Comique

                Posté par  . Évalué à 0.

                Ils se foutent probablement royalement de la vente de licences pour les outils de developpement et sont plus interesses par une plateforme qui permet une migration a peu pres transparente du telephone a d'autres elements genre PC, tablet, etc...

                • [^] # Re: Comique

                  Posté par  (site web personnel) . Évalué à 1.

                  Surtout qu'ils filent gratos leurs outils de dev dans le contexte du dev Windows Phone (Visual Studio, Expression Blend). Clairement l'objectif est d'ajouter une couche d'abstraction entre l'application et l'OS/Matériel : portabilité, sécurité, etc.

                  • [^] # Re: Comique

                    Posté par  (site web personnel) . Évalué à 5.

                    Dalvik a par exemple les mêmes objectifs : s'abstraire du matériel, sécurité... pourtant Google propose aussi de faire du natif. Microsoft pourrait faire de même.

                    Je pense que c'est aussi une politique d'enfermement voulue: "utilisez notre techno et nos outils plutôt que ceux des autres". Une fois captif vous ne pourrez plus vous passez de nous et à nous la tune.

                    • [^] # Re: Comique

                      Posté par  (site web personnel) . Évalué à 1.

                      utilisez notre techno et nos outils plutôt que ceux des autres Tu peux très bien utiliser d'autres outils, la seule contrainte est qu'ils ciblent non plus la machine "physique" mais la machine virtuelle. Il n'y a donc aucun enfermement particulier de ce côté là, plutôt des contraintes supplémentaires.

                      pourtant Google propose aussi de faire du natif. Mais comme pour Windows Phone, tu ne peux pas pour autant te passer du SDK ciblant la machine virtuelle. Et Google dit clairement que ce le NDK n'est pas là pour une question d'ouverture/compatibilité mais juste pour des portions de code où les performances sont critiques. Tu n'as d'ailleurs pas accès à toutes les fonctionnalités du SDK standard à travers le NDK. Google prévient clairement que le code compilé contre le NDK ne peut tourner que sur ARM, bref, c'est perdre la portabilité.

                      • [^] # Re: Comique

                        Posté par  (site web personnel) . Évalué à 4.

                        Mouais, tu y vois seulement des arguments techniques, c'est pas mon cas. Ca doit bien les arranger que l'on soit obligé de faire du .NET pour WP7. J'ai beau faire pas mal de C# sous Visual Studio et apprécier la techno ça m'empêche pas d'être méfiant vis à vis d'eux et de ne pas leur faire confiance. Vu leur palmarès le bénéfice du doute n'est plus franchement possible.

                        • [^] # Re: Comique

                          Posté par  (site web personnel) . Évalué à 1.

                          Disons qu'il y a des bonnes raisons techniques à ajouter une couche d'abstraction (suffit de voir le passage programmé de Windows 8 sur plateforme ARM). Ce sont ces mêmes bonnes raisons qui ont conduits Google à intégrer Dalvik.
                          Après le choix de la techno pour l'abstraction est évidemment politique : ils auraient été un peu concon de choisir un concurrent sachant qu'ils disposent en interne d'un éco-système complet, largement maîtrisé et connu des développeurs.

                          • [^] # Re: Comique

                            Posté par  (site web personnel) . Évalué à 2.

                            le choix de la techno [...] est évidemment politique

                            C'est l'absence de choix qui est politique selon moi (en plus de technique).

                            C’était pas clair dans mes précédents messages ?

                            • [^] # Re: Comique

                              Posté par  . Évalué à -2.

                              Au contraire c'est tres technique.

                              Ca assure que tout tournera sur les autres plateformes HW.

                              Android a des problemes de fragmentation de la plateforme, c'est pas par hasard...

                              • [^] # Re: Comique

                                Posté par  . Évalué à 4.

                                Sinon, ca va la MaJ de WP7? :)

                                Depending on the time of day, the French go either way.

                                • [^] # Re: Comique

                                  Posté par  . Évalué à 0.

                                  Ah ca a l'air d'avoir ete un beau merdoyage, mais je notes que ce cela se produit que sur des versions de firmwares specifiques.

                                  Je me demandes comment ca n'a pas ete vu par contre, quelqu'un doit avoir les oreilles en feu en ce moment...

                                  • [^] # Re: Comique

                                    Posté par  . Évalué à 4.

                                    Il y a 10 modèles de WP7, ce n’est pas la mer à boire de tester les versions alternatives de fw, surtout que c’est un peu la norme dans le monde du mobile.
                                    C’est à croire que certaines personnes chez vous ont des actions chez un fabricant de chaises, vous devriez mener une enquête interne...
                                    C’est dommage, vous étiez bien parties en mettant de specs mini raisonnables pour le hardware, évitant d’avoir des appareils qui se traînent.

                                    Depending on the time of day, the French go either way.

                              • [^] # Re: Comique

                                Posté par  (site web personnel) . Évalué à 6.

                                Au contraire c'est tres technique.

                                On tourne en rond la, j'ai jamais dit le contraire

                                pasBillpasGates = raison technique uniquement

                                TImaniac = raison technique uniquement

                                tanguy_k = raison technique ET raison politique

                                Android a des problèmes de fragmentation de la plateforme

                                Oui et pour des raisons qui n'ont rien à voir avec la discussion en cours. Android fonctionne sur les memes principes que WP7 : une machine virtuelle. Le NDK n'est pas responsable de ce problème (le NDK est apparu que récemment).

                                Pour rappel :

                                • WP7 est distribué depuis novembre 2010 (4 mois) sur tres peu de terminaux (10 appareils) et est anecdotique pour l'instant

                                • Android est distribué depuis septembre 2008 (2 ans et demi) et accapare 30% du marché (+ de 100 appareils ont été lances)

                                De plus Microsoft est beaucoup plus restrictif sur les caractéristiques techniques des appareils que Android.

                                Normal qu'il y est d'avantage de fragmentation non ?

                                Avec la version 3 d'Android, Google a annoncé qu'il allait restreindre les possibilités de personnalisation de la part des constructeurs, donc tout comme Microsoft le fait. Ce qui paraissait comme une bonne idee au depart n'en ai finalement pas une : les constructeurs ne jouent pas le jeu.

  • # version

    Posté par  . Évalué à 5.

    Sait on sur quel version il sera compatible. A ma connaissance le NDK android permet d'avoir des appli purement native qu'a partir de froyo. Avant il fallait forcement avoir un bout en java.

    Sinon il y a sdl qui tourne sur android et qui permet de faire des trucs simple : https://github.com/pelya/commandergenius

  • # vidéo

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Bonjour

    C'est moi où la vidéo n'est plus présente?

    Thierry

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.