Java için oldukça fazla gui çerçevesi var, ama bugünün seçim çerçevesi olarak kabul edilen nedir?
Aşağıdaki farklı çerçeveleri anlayışım, lütfen yanlışsam beni düzeltin. Bu çok gevşek bir şekilde tanımlanmış bir dizi soru, ama yine de zengin gui uygulamaları oluşturmayı düşünen herkes için değerli olduğunu düşünüyorum.
Salıncağın temeli, iyi performans gösterir, ancak gelişmiş bileşenlerde yoktur. Zengin uygulamalar oluşturmayı düşünüyorsanız, AWT muhtemelen gidilecek yol değildir. Ancak, zengin kullanıcı arayüzleri gerektirmeyen daha küçük gui uygulamaları için. Bu, denenmiş ve kanıtlanmış bir çerçeve olduğu için mükemmel olabilir.
Daha önce belirtildiği gibi AWT'ye dayanmaktadır. Bebeklik döneminde yavaş ve buggy olarak kabul edildi ve IBM'in Eclipse için SWT oluşturmasına neden oldu. Ancak Java 5 (veya 6?) İle Swing, yeni uygulamalar oluşturmak için tercih edilen çerçeve haline geldi. Swing'in birçok zengin bileşeni var, ancak bazı bölgelerde hala eksik. Buna bir örnek, sıralama ve filtreleme / arama yapabilen tam özellikli bir TreeTable bileşeni olmamasıdır.
Eclipse için IBM tarafından oluşturulan Swing'in o zaman Eclipse için uygun olmadığını düşünüyorlardı. Kendi başına oldukça düşük seviyelidir ve platformun yerel widget'larını JNI aracılığıyla kullanır. Salıncak ve AWT ile hiç ilgili değil. Ancak API'leri biraz tıknaz ve sezgisel değil. TreeTable gibi bazı gelişmiş bileşenlere sahipler. (ama sıralama ve filtreleme kutunun dışında desteklediğini sanmıyorum). SWT bazı yerel bağlamalar kullanır (JNI? Yoluyla) ve internetteki rant, bu çerçevenin günümüz projelerinde kullanılmaması gerektiğidir. (neden olmasın?)
Swing'e dayanıyor ve misyonu salıncak için zengin bileşenler yaratmak. Hala geliştirilme aşamasında. (çok aktif değil.) Çok güzel bir bileşen setiniz var, örneğin TreeTable gibi. Ancak TreeTable bildiğim kadarıyla filtreleme ve sıralamayı desteklemiyor. Ancak vurgulama ile aramayı destekler.
SwingX'in mevcut Swing bileşenlerinin uzantıları veya kompozisyonları olan bileşenler (AFAIU) olduğunu unutmayın
JGoodies
Hakkında hiçbir şey bilmediğim bir çerçeve ... Güçlü ve zayıf yanları nedir? Jgoodies'i diğerlerinden ayıran nedir?
JGoodies OTOH, PLAF'lar ve düzenler hakkındadır.
Java / Oracle'ın en yeni amiral gemisi. zengin masaüstü veya web uygulamaları geliştirmede fiili standart olmayı vaat ediyor.
Java2D kullanarak UI oluşturur, böylece (IMO, şişirilmiş) Swing ve AWT miraslarının etkisini en aza indirir. (@ErkekTerimleri)
Ana odak noktası RIA (Zengin internet uygulamaları) üzerindedir, ancak masaüstü uygulamalarına da uygulanabileceği görülmektedir. Ve kişisel bir yorum olarak, Çok ilginç görünüyor! Özellikle apache projesi gibi.
https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html
C / c ++ ile yazılmış yerel qt kütüphanesine bir java sarmalayıcısı. Çok güçlü, yaygın olarak kullanılan ve kabul edilen. Çok sayıda GUI bileşeni ve kullanımı kolay bir API'ye sahiptir.
Yani, sorduğum şeylerin bir kısmını özetlemeye çalışmak için:
Diyelim ki bugün Java'da çok sayıda gelişmiş bileşen içeren bir masaüstü uygulaması oluşturmak istedim, ne seçmeliyim? Ve neden?
Bu çerçevelerden hangisi kullanımdan kaldırılmış ve hangisi uzak geleceğin çerçeveleri olarak tanınmalıdır?
Bugün fiili standart çerçevesi nedir ve java gui uygulamaları oluşturmak için hangi araçları kullanıyorsunuz?
Bunu sormaktan pişman olabilirim ama yine de deneyeceğim:
C # /. Net'in, mümkün olan her yöne bükülebilen çok iyi, kullanımı kolay bileşenler kümesine sahip olduğu söylenir. Ve bir ölçüde farklı java çerçevelerini araştırdıktan sonra Java hakkında aynı şeyi söyleyemem. Bu neden? Java (dünyada en yaygın kullanılan programlama dili olan) neden aynı GUI bileşenleri kümesine sahip değil?
Sadece java, gui bileşenlerini çok daha düşük bir seviyeye dayandırıyor mu ve aradığım tüm bu gelişmiş bileşenleri yazmak mümkün, ancak işin tamamı olmasa bile çok şey yapmanız gerekiyor mu?