Question

J'envisage de créer un outil basé sur une interface graphique que je souhaite utiliser sur plusieurs plates-formes. J'ai rejeté Java, car personnellement, je n'aime pas Swing. Je considère actuellement C # et j'utilise Mono pour le rendre multi-plateforme. Cependant, je me demande si de nouveaux langages multi-plateformes comme Ruby peuvent m'offrir un environnement de développement d'interface graphique décent.

Était-ce utile?

La solution

La réponse courte: non (parce que vous avez dit multiplate-forme ).

La réponse longue: Les interfaces utilisateur graphiques multiplates-formes constituent un problème de longue date. Qt, GTK, wxWindows, Java AWT, Java Swing, XUL - ils souffrent tous du même problème: l'interface graphique résultante n'a pas l'air native sur toutes les plateformes. Pire encore, chaque plate-forme a une apparence et légèrement différente. Ainsi, même si vous pouviez en quelque sorte obtenir une boîte à outils ayant un aspect natif sur chaque plate-forme, il vous faudrait en quelque sorte coder votre application pour se sentir natif sur chaque plate-forme.

Cela revient à une décision: voulez-vous minimiser les efforts de développement et disposer d'une interface graphique qui ne semble pas très bien sur chaque plate-forme, ou voulez-vous optimiser l'expérience utilisateur? Si vous choisissez la deuxième option, vous devrez développer un backend commun et une interface utilisateur personnalisée pour chaque plate-forme.

ruby ??n’est pas un mauvais choix pour votre backend commun.

Autres conseils

Vous aurez Ruby / GTK , ce qui vous permet d'utiliser le toolkit GTK sous linux. Je pense que cela devrait fonctionner sous Windows et Mac Os (comme pour Gimp, Gaim, etc.).

A Le magazine français publie un bon article pour débutant sur Ruby / GTK.

Modifier: en fonction de la page principale du projet SourceForge , Ruby-Gnome2 (aka Ruby / GTK) est multi-plateforme (Windows, Linux, Mac OS).

Ruby a Chaussures , mais cela pourrait être un peu léger.

Avec Ruby, vous pouvez utiliser Tk, une boîte à outils d’interface utilisateur multi-plateformes mature. C'est la boîte à outils d'interface graphique de facto pour Python et Tcl, qui est également disponible pour une utilisation avec Perl. Les versions les plus récentes de Tk utilisent des widgets natifs, ce qui répond à la principale préoccupation selon laquelle Tk semble daté.

Un site Web indépendant de la langue et dédié à Tk est http://www.tkdocs.com/ , qui comprend exemples codés en Ruby et Tcl.

Il existe également un FXRuby qui bénéficie d'un livre du programmeur Pragmatic, ainsi que wxRuby qui est basé sur le cadre de l'interface graphique C ++ de wxWidgets.

étant un programmeur wxperl, je sais que wxruby est là aussi. Wx est assez rapide et présente une apparence et une sensation véritablement multi-plateformes.

Jetez un coup d’œil aux Résultats de l'enquête Ruby GUI 2008 de et à la discussion ici . Vous allez adorer savoir.

Je ne suis pas sûr de Ruby, mais vous avez mentionné Mono / C #. J'ai utilisé assez souvent Mono et GTK # # et je suis très impressionné. Semble être assez stable et la portabilité multi-plateforme est agréable.

Ruby / GNOME2 fonctionne plutôt bien. Vous pouvez utiliser Glade pour faire glisser des éléments de fenêtre et les charger dans l'interface utilisateur à partir de votre application Ruby.

Avez-vous examiné SWT sur Java? Il utilise des widgets natifs et il est beaucoup plus facile d’obtenir une interface agréable avec Swing.

Java est toujours une option et c'est aussi une bonne option. Si vous voulez une apparence native, utilisez SWT / JFace. Vous pouvez vraiment créer de puissantes applications d’interface utilisateur avec le framework RCP d’éclipse.

Si vous vous aventurez sur le Mac, consultez RubyCocoa . C’est évidemment uniquement pour OSX, mais j’ai vu beaucoup de gens se gratter la tête quand on cherche à faire du développement d’interfaces graphiques sur mac et si vous aimez Ruby, RubyCocoa est très amusant.

Je soutiens fortement Qt pour le développement d'interfaces graphiques multi-plateformes. C'est génial et les API sont très intuitives. L’apparence de l’interface graphique est quasiment native avec Qt car elle utilise les contrôles de l’interface graphique fournis par le système d’exploitation sous-jacent.

Bien que l'interface de base avec C ++, d'autres liaisons de langage soient disponibles. Pour Ruby RubyQt est disponible. Malheureusement, c'est très immature.

Je suggérerais de regarder visualruby . C'est un IDE pour créer des interfaces graphiques utilisant Ruby. Il utilise GTK comme boîte à outils graphique, et les applications me conviennent parfaitement sur toutes les plates-formes. Vous pouvez voir des captures d'écran sur Win7, WinXP, Ubuntu et Mac sur la page des captures d'écran:

http://visualruby.net/site/Screen%20Shots.html

Vous pouvez facilement l'essayer sur chaque plate-forme en installant visualruby sur différentes plates-formes et en exécutant les exemples de programmes.

La réponse cochée a été écrite avant la publication de visualruby.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top