Acabo de empezar a usar clojure hoy (sin embargo, he usado mucho Java y conozco paradigmas funcionales) y me preguntaba si era una buena idea construir una aplicación clojure con una interfaz compleja y razonable (arrastrando , soltar, panoramizar, acercar, ...) usando Swing?GUI complejo en clojure
puedo imaginar que una gran cantidad de las lógicas swing normal (especialmente en relación con OO) tiene que ser pasado por alto un modo u otro ..
I Asume que todo es posible, pero es posible de una manera que justificable?
Quiero decir, ¿no sería como golpear un clavo con un destornillador en lugar de un martillo?
Alguien aquí tienen experiencia en la construcción de GUI con Clojure (y por supuesto: es Oscilación el candidato ideal para eso?)
Gracias!
Gracias, veo que se puede hacer, sin embargo, ¿la complejidad adicional (que podría manejar en Java/swing) sería un nogo más adelante en la construcción de la aplicación? ¿No hay cosas que pueden pasarse por alto? En Swing solía construir mi propio MVC (donde datachange desencadenaba la GUI): ¿Supongo que todavía es posible? De nuevo, el ejemplo dado es agradable y útil, pero aún muy trivial ... – Peter
Realmente no hay nada en Swing/Java que no pueda hacer en Clojure; en última instancia, es posible llamar a cualquier función Swing/Java a través de la interoperabilidad de Java si lo necesitas. Por supuesto, necesita administrar la complejidad a medida que su aplicación crece, pero yo diría que esto es realmente más fácil en Clojure que en Java/Swing (debido a funciones de orden superiores, plantillas repetitivas, macros, etc.) – mikera
Es posible que también desee buscar en una biblioteca que escribí para facilitar la programación de GUI: https://github.com/jonasseglare/signe.Te permite ajustar el estado de tu programa representado como una estructura de datos inmutables dentro de un solo átomo. Proporciono tres ejemplos para ilustrar cómo funciona. – Rulle