C++/Qt vs Adobe AIR
Je dois choisir une plate-forme pour notre produit. Je dois décider entre Le Framework Qt et d'Adobe AIR. Je suis bien familiarisés avec Qt que j'ai travaillé ces deux dernières années. J'ai regardé le Adobe du site, mais toutes les infos à propos de flex, flash, capacité à coder en HTML/ActionScript est écrasante et la confusion. Je ne peux pas comprendre les éléments suivants concernant le logiciel Adobe écosystème.
J'ai les questions suivantes sur Adobe AIR:
-
Quelle langue dois-je utiliser pour le codage de mon application? (et pas seulement de définir l'apparence de l'INTERFACE utilisateur)
Comme dans Qt j'utilise C++. Est-il Actionscript? -
Peut-on dire de l'AIR est uniquement pour faire de l'INTERFACE utilisateur pour les applications.
-
Où est la doc pour les classes d'utilitaire avec de l'AIR?
par exemple, http://qt-project.org/doc/ pour Qt -
Qt est livré avec un vaste ensemble de widgets prédéfinis que l'on peut utiliser. Adobe navire avec un tel widget et si oui, où puis-je voir comme dans l'url?
-
Je comprends flex SDK open source. Puis-je faire des commerciaux, des applications et de les expédier ? N'flex SDK expédier le tout (compilateur, les classes utilitaires/widgets)
-
Combien coût de l'AIR en termes de licence?
-
Est-il quelque chose dans l'AIR qui est l'équivalent de QGraphicsView de QT?
OriginalL'auteur Ankur Gupta | 2008-11-25
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin d'accéder à un grand nombre de bibliothèques natives, vous aurez besoin de rester dans votre environnement QT. Gardez à l'esprit que l'AIR est monothread et est exécuté sur le Lecteur Flash (quelque chose qui a été initialement conçu pour des animations image par image.)
Cependant, selon le type d'application que vous êtes en train de construire, de l'AIR pourrait vous convenir parfaitement.
Méfiez-vous que l'AIR peut prêter à confusion parce qu'il y a un peu de développeur de chemins d'accès à la création d'applications AIR: 1) à l'aide de html/javascript et le kit SDK d'AIR, 2) à l'aide de Flash/Actionscript et 3) à l'aide du kit SDK Flex et/ou Flex builder. Le dernier est le plus à même d'aussi loin que venant de bureau traditionnel de développement de l'arrière-plan.
De petites applications Web 2.0 pour une connexion à des services web sont de bons candidats pour des applications AIR. Des choses comme le client de messagerie instantanée Digsby serait génial. Mon préféré de l'AIR app que j'ai vu jusqu'à présent est Basamiq Maquettes. Autres applications utiles sont TweetDeck. Ce sont de bons exemples de types de choses qui sont bien adaptés à résoudre avec de l'AIR.
Vous devriez visiter le Adobe de présenter et de regarder quelques applications: http://www.adobe.com/products/air/showcase/
Aussi, si vous êtes à la recherche pour sortir du C++ jeu, je crois que QT a certaines java liaisons maintenant...aussi je me souviens de quelques liaisons python, mais ne regarde jamais ces moi-même.
Autant que QGraphicsView, les gens ont fait des choses similaires dans Flex. J'ai essayé de Googler pour l'instant, mais ne pouvait pas les trouver au début, mais les gens ont pris les choses comme Une grande image, et ensuite seulement affiché une région en cours dans la fenêtre. Aussi, dans la prochaine version de Flex, ils sont acutaly la construction d'un officiel de la Fenêtre d'affichage du composant:
http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Fenêtre
OriginalL'auteur taudep
Passer du temps avec cette application AIR et puis demandez-vous si Adobe Flex et AIR sont la peine d'investir votre temps dans la maîtrise de l' (être prêt à vous demander pourquoi quelque chose de comparable n'existe pas pour les goûts de C++/QT):
Tour de Flex
Certaines de vos questions:
ActionScript3. L'AIR de plus
prend en charge le HTML/DOM/JavaScript
la programmation en tant que moteur de rendu webkit HTML est construit dans
le moteur d'exécution d'AIR.
sera compilé en ActionScript3
code impératif. Il est assez bon,
si, de manière déclarative du codage de la
formes graphiques de l'INTERFACE utilisateur (c'est à dire, le
vues du modèle MVC).
fondé sur du JavaScript, mais il a
été embelished au point de plus
ressemble à Java ou C#. C'est le package
espace de noms, classes et interfaces
avec l'héritage, membre de la classe
protection de l'accès de mots-clés,
les constructeurs, les membres statiques, et
quelques très belles ajouts sur Java:
des propriétés, des événements, de la liaison de données,
et de fermetures.
Flex style de programmation est également un modèle de single-threaded, qui s'appuie sur des e/S asynchrones interactions. C'est un modèle plus simple à programmer que le multi-thread Java Swing ou C# .NET Winform apps, pas encore permis d'atteindre les mêmes résultats nets de comportement d'un programme. J'ai d'approfondir sur le sujet ici:
Flex d'e/S Asynchrone vs Java et C# Explicite Threading
OriginalL'auteur RogerV
Flex est open source, vous pouvez télécharger le kit de développement pour libre, il ya pas de coût de licence associée. (voir leur FAQ)
Elles navire un 'flex builder", qui est coutume, Eclipse, je pense, et qui coûte de l'argent, mais vous pouvez parfaitement travailler sans elle.
Les docs peuvent être trouvés à adobe livedoc pages. (qui pour certains, est une raison suffisante en elle-même n'aime pas Adobe ;))
Je me demande si vous êtes bien versé dans QT, pourquoi envisagez-vous de quelque chose d'autre? Quels avantages pensez-vous de l'AIR pour vous donner plus de QT?
J'ai une certaine expérience avec les deux QT et Flex, mais pas assez de poids à l'un contre l'autre. Je ne sais QT/C++ est beaucoup, beaucoup plus mature que le Flex/ActionScript.
Si vous savez déjà QT, je ne pense pas que le temps consacré à l'apprentissage d'un nouveau cadre (et le langage de programmation) vous gagnez assez pour être honnête...
Ah oui, QT coûte de l'argent à des fins commerciales apps, un bon point 🙂
il n'est pas horriblement cher, cependant, ils n'ont plus mis les prix réels sur leur site web public (trolltech.com/products/appdev/pricing)
J'ai d'évaluer et d'envoyer un rapport sur l'AIR vs Qt à la gestion. 🙂
Maintenant Qt est gratuit pour les applications commerciales. Parce que depuis Qt4.5 est publié sous les termes de la licence LGPL
OriginalL'auteur Pieter
J'ai utilisé QT et Flex (pas tellement l'Air de lui-même), et ont trouvé que le Flex est plus rapide pour obtenir des applications et en cours d'exécution ainsi que la modification, alors que QT vous donne plus de contrôle, en particulier dans le programme d'installation. L'Air app installer est assez maladroite, ou au moins, il était quand je l'ai essayé, s'il a été amélioré depuis.
Le gros avantage de l'Air est que le code peut être exécuté en Flash à l'intérieur de pages web. Vous ne pouvez pas accéder au système de fichiers local, etc. à partir du web pour des raisons de sécurité, mais à peu près tout le reste est portable.
OriginalL'auteur user15899
J'ai fait l'inverse déplacer. J'ai commencé à travailler sur Adobe trucs et a déménagé à QT. La principale raison pour le faire a propos d'Adobe cadre des limites. Lorsque vous utilisez Adobe choses, vous êtes limité par les outils qu'ils produisent, il est difficile d'introduire externe des cadres ou des bibliothèques, si ne peut pas faire ce que vous voulez avec Adobe choses. Généralement, la solution pour cela est d'utiliser des sockets, qui transforme une supposée "stand-alone" de l'application sur une architecture client-serveur. En outre, si vous utilisez de nombreux autres trucs, il peut être difficile à gérer pour de nombreux clients différents.
À l'aide de QT, vous pouvez coder en C++ et d'ajouter de tout cadre externe ou lib vous le souhaitez. Même si, à certains moments, il peut ne pas être facile à coder, c'est faisable et sans "étrange" architecture du système.
OriginalL'auteur dnc
Si vous cherchez des exemples de "fun" de l'Isu à l'aide de Qt et SVG, jetez un oeil sur le paquet kdegames [1][2] et KDEEdu [3][4] projets. Il y a beaucoup de nice code qui utilise QGraphicsView et SVG pour créer des interfaces évolutives. Bien sûr noter que c'est la GPL, donc attention à ce que vous "emprunter" si votre application n'est pas.
[1] http://games.kde.org/
[2] http://websvn.kde.org/trunk/KDE/kdegames/
[3] http://edu.kde.org/
[4] http://websvn.kde.org/trunk/KDE/kdeedu/
OriginalL'auteur Parker Coates
Je vais second @Pieter'commentaire - si vous savez déjà QT, de déménager dans un tout nouvel environnement va prendre BEAUCOUP plus de temps.
QT a l'avantage d'être multi-plateforme, et très mature: il existe des bibliothèques pour Windows, Linux et Mac OS X. je ne suis pas très familier avec l'AIR au-delà, sachant que c'est à partir d'Adobe, mais le site du produit, ce qui semble indiquer que c'est pour les rich internet applications (http://www.adobe.com/products/air/). Si cela est vrai, alors QT serait bien meilleur choix si vous êtes à l'élaboration d'une application de bureau.
OriginalL'auteur warren