152 votes

Quelle est la meilleure façon de faire des interfaces graphiques en Clojure ?

Quel est le meilleur moyen pour faire des Interfaces graphiques en Clojure?

Est-il un exemple de certaines techniques de Swing ou SWTwrapper? Ou certains intégration avec JavaFX déclarative GUI description qui pourrait être facilement collée à s-expressions à l'aide de certains macrology?

Tout les tutoriels?

122voto

Dave Ray Points 20873

Je suggère humblement balançoire.

D’ici est un didacticiel de base REPL qui n’assume aucune connaissance Java ou Swing.


Bascule un peu comme le suggère ce que @tomjen. Voici « Hello, World » :

et voici @Abhijith et par exemple de @dsm, assez littéralement :

33voto

steglig Points 417

Stuart Sierra a récemment publié une série de messages de blog sur GUI-développement avec clojure (et swing). Commencez ici : http://stuartsierra.com/2010/01/02/first-steps-with-clojure-swing

17voto

Pablo Points 44881

Si vous voulez faire de la programmation GUI j'avais point à la Température du Convertisseur ou les fourmis de la colonie.

Beaucoup de choses dans Swing sont effectués par des sous-classements, en particulier si vous êtes à la création de composants personnalisés. Pour cela, il existe deux fonctions essentielles/macros: proxy et gen-classe.

Maintenant, je comprends où vous allez avec la plus Lispy. Je ne pense pas qu'il y ait quelque chose comme ça pour l'instant. Je déconseille fortement d'essayer de construire une grandiose GUI-cadre pour le renforcement des un-la CLIM, mais pour faire quelque chose de plus Lispy: début de la rédaction de votre application Swing et de l'abrégé de vos modèles communs avec les macros. Quand vous faites que vous pouvez vous retrouver avec une langue à l'écriture de votre type d'Interfaces graphiques, ou peut-être une très générique des trucs qui peuvent être partagés et de grandir.

Une chose que vous perdez lors de l'écriture de l'Ihm en Clojure est l'utilisation d'outils tels que Matisse. Cela peut être une forte pointant à écrire des pièces en Java (GUI) et de certaines parties en Clojure (la logique). Ce qui fait réellement sens que dans la logique que vous serez en mesure de construire une langue pour votre type de logique à l'aide des macros et je pense qu'il y a plus à y gagner qu'avec l'interface graphique. Évidemment, cela dépend de votre application.

16voto

Matthew Gilliard Points 4360

Personne n'a encore suggéré, je vais donc: Navigateur comme INTERFACE utilisateur de la plateforme. Vous pouvez écrire votre application en Clojure, y compris un serveur HTTP et de développer l'INTERFACE utilisateur à l'aide de quelque chose de HTML pour le hoquet, ClojureScript et tout de la des milliards de JS libaries vous avez besoin. Si vous voulais cohérente le comportement du navigateur et "application de bureau look'n'feel", vous pouvez bundle chrome avec votre application.

Cela semble être la façon dont la Lumière de la Table est distribué.

14voto

dsm Points 7429

Depuis cette page:

Et, bien sûr, il serait intéressant de regarder la section de l’interopérabilité du site Web de clojure.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X