Quelle est la boîte à outils de widget recommandée pour le bureau Ubuntu?


10

Si je comprends bien, Qt - C ++ et QML - ou HTML5 sont recommandés pour écrire des applications Ubuntu pour téléphones.

Corrigez-moi également si je me trompe, mais Python est la langue préférée pour Ubuntu Desktop. Est-ce à dire Python 3?

Cependant, je ne trouve aucune documentation indiquant quelle boîte à outils de widget, GTK + ou Qt, est préférée. De plus, quelle version / génération de ceux-ci est recommandée? Je ne sais rien des versions récentes de Qt, mais je sais que GTK + 2 et GTK + 3 sont distincts et différents pour coder. Dois-je supposer que si la boîte à outils préférée est GTK +, nous parlons de GTK + 3?

Cette page indique que PyGTK est recommandé. Cependant, je ne peux pas dire exactement ce que cela implique - cela signifie-t-il que Python est recommandé, GTK + est recommandé, ou les deux, en utilisant PyGTK pour les liaisons GTK +?


3
Je pense personnellement que les réponses à cette question devraient mentionner leurs sources.
don.joey

Réponses:


7

L'avenir: rien n'a été officiellement déclaré. Cependant, Canonical poursuit une stratégie convergente pour son système d'exploitation Ubuntu. Cela suggère qu'à l'avenir son SDK qui utilise le langage QML (comme javascript) et la boîte à outils Qt finiront par être les choix préférés pour le développement multiplateforme. Le SDK doit permettre à une application de s'adapter à de nombreux facteurs de forme. Il est également important de noter que Mir , le nouveau gestionnaire de fenêtres de composition qu'ils développent aura des liaisons Qt par défaut.

Actuellement: dans l'état actuel des choses, le développement sur le bureau est pris en charge par presque toutes les langues et boîtes à outils que vous souhaitez. Cependant, Canonical recommande GTK + 3.0 et python2.7 pour les débutants (malgré les vieux documents disant pygtk, c'est vraiment pygi - également connu sous le nom de python avec introspection gobject). Le python par défaut dans Ubuntu est 2.7 et non 3.0 . Ils ont créé un outil pour les développeurs appelé "rapidement" qui vous permet de concevoir, coder, empaqueter et distribuer facilement votre application. Par défaut, les applications dépendent de pygi (GTK3) et l'interface utilisateur est conçue avec Glade.

Une chose que vous remarquerez peut-être avec GTK3 et pyGI est qu'il n'y a pas encore beaucoup de bonne documentation pour cela. Voici une méthode pour commencer, mais il manque beaucoup de choses. Je trouve que je peux traduire de nombreux documents C ++ Gtk et les documents de départ dans les fonctions appropriées en python par une certaine expérimentation. Souvent, si je peux découvrir comment le faire avec l'ancien pygtk, ce n'est pas trop différent dans le pyGI plus récent. Enfin, vous pouvez toujours publier sur AskUbuntu ou StackOverflow pour obtenir de l'aide de la communauté.

Enfin, ubuntu dispose de certaines API spécifiques pour interagir avec Unity. Consultez la page des ressources pour développeurs pour plus d'informations.


1
Veuillez mettre à jour cette réponse
Tachyons

Mir n'est-il pas un serveur d'affichage, pas un gestionnaire de fenêtres?
strugee

2

Ce que je comprends, c'est que les deux sont recommandés, GTK + et python, en utilisant PyGTK pour les liaisons. GTK + est toujours la principale boîte à outils utilisée dans l'interface de l'unité, python est un langage très facile et puissant, et l'intégration avec l'unité est également facile avec python.


0

Le SDK Ubuntu est recommandé si vous souhaitez cibler la plate-forme Ubuntu. Sinon, écrivez votre logiciel dans la langue de votre choix.


-1

Ubuntu recommande désormais la boîte à outils ubuntu. Il est basé sur qt quick2. Les applications écrites dans cette boîte à outils prendront en charge tous les appareils Ubuntu. Python et GTK seront disponibles pour les applications spécifiques au bureau


downvoting jusqu'à ce que vous expliquiez ce que sont "ubuntu toolkit" et "qt quick2", ou du moins donniez des liens.
strugee
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.