¿UI alternativas de diseño con Groovy/JRuby/Jython u otros lenguajes JVM?

Para un desarrollador en el ecosistema de Java, hay un puñado de opciones en lo que respecta al diseño de la interfaz de usuario. Los más conocidos son:

  • Swing (preferido cuando se usa con Netbeans y su creador de GUI)
  • SWT de Eclipse (más preferido para los complementos de Eclipse)

Ahora, ¿hay marcos o alternativas de diseño para esto que se dirijan a JRuby/Groovy/Jython u otros lenguajes JVM "dinámicos"?

Algunos marcos de interfaz de usuario son capas sobre Swing o SWT, por ejemplo, un marco podría leer una descripción de una pantalla en xml e instanciar los componentes de Swing correspondientes.

Si conoce un marco como este pero que apunta a lenguajes "dinámicos" de JVM, me gustaría verlos en las respuestas también.

0
agregado editado
Puntos de vista: 2

3 Respuestas

Clojure tiene algunas bibliotecas/marcos de GUI que parecen priomising:

seesaw wraps Swing in a very concise DSL, which could certainly be used to declaratively create GUI interfaces:

(defn -main [& args]
  (invoke-later 
    (-> (frame :title "Hello", 
           :content "Hello, Seesaw",
           :on-close :exit)
     pack!
     show!)))

Incanter provides quite a lot of graphing and visualisation functionality (wrapping JFreeChart among other things). Not quite a general GUI library, but very useful if you're focusing on stats:

;; show a histogram of 1000 samples from a normal distribution
(view (histogram (sample-normal 1000)))

También hay algunos ejemplos claros de código apareciendo para envolviendo JavaFX 2.0 en Clojure - de nuevo, esto es más como un DSL declarativo:

(defn -start [app stage]
   (eval
     (fx Stage :visible true :width 300 :height 200 :title "hello world"
         :scene (fx Scene
                  (fx BorderPane :left (fx Text "hello")
                      :right (fx Text "Right")
                      :top (fx Text "top")
                      :bottom (fx Text "Bottom")
                      :center (fx Text "In the middle!"))))))
0
agregado

Creo que los dos frameworks más maduros para Jruby son Monkeybars ( http://monkeybars.rubyforge.org/ ) y Limelight ( http://limelight.8thlight.com/ ).

Monkeybars es una implementación de MVC totalmente transparente que se puede utilizar junto con un generador de GUI de Swing, mientras que Limelight aplica una relación de código/efecto máximo mínimo como lo hace Shoes.

0
agregado

No es exactamente el diseño de la interfaz de usuario, pero podría intentar Griffon .

0
agregado