بدائل تصميم واجهة المستخدم مع Groovy/JRuby/Jython أو لغات JVM الأخرى؟

بالنسبة لمطور في نظام Java البيئي ، هناك عدد قليل من الخيارات عندما يتعلق الأمر بتصميم واجهة المستخدم. أشهرها هي:

  • البديل (المفضل عند استخدامه مع Netbeans ومنشئ واجهة المستخدم الرسومية)
  • SWT في Eclipse (يفضل في الغالب المكونات الإضافية لـ Eclipse)

الآن ، هل هناك أي أطر أو بدائل تصميم لهذا الهدف JRuby/Groovy/Jython أو غيرها من لغات JVM "الديناميكية"؟

بعض أطر واجهة المستخدم عبارة عن طبقات فوق Swing أو SWT ، على سبيل المثال ، يمكن أن يقرأ إطار العمل وصفًا للشاشة في xml ويقوم بتكوين مكونات Swing المناسبة.

إذا كنت تعرف إطارًا كهذا ، ولكنها تستهدف لغات "ديناميكية" JVM ، فإني أرغب في رؤيتها في الإجابات أيضًا.

0
وأضاف تحرير
الآراء: 4

3 إجابة

يحتوي Clojure على عدد قليل من مكتبات/أطر عمل واجهة المستخدم الرسومية التي تبدو مثيرة تمامًا:

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)))

هناك أيضًا بعض رموز الأمثلة الأنيقة التي تظهر في التفاف JavaFX 2.0 في Clojure - مرة أخرى هذا يشبه إلى حد ما DSL إعلاني:

(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
وأضاف

أعتقد أن أكثر الإطارين نضجًا لـ Jruby هما Monkeybars ( http://monkeybars.rubyforge.org/ ) و Limelight ( http://limelight.8thlight.com/ ).

Monkeybars هو تطبيق MVC كامل من rubyesque والذي يمكن استخدامه بالاقتران مع منشئ واجهة المستخدم الرسومية Swing ، في حين أن Limelight يذهب للحصول على الحد الأدنى من نسبة الشفرة/التأثير مثل Shoes.

0
وأضاف

ليس تصميم واجهة المستخدم بالضبط ، ولكن يمكنك تجربة Griffon .

0
وأضاف