2008-11-11 17 views
17

यदि आप अपनी नई परियोजना अब या निकट भविष्य में शुरू करना चाहते हैं तो आप कौन सी जीयूआई फ्रेमवर्क/लाइब्रेरी चुनेंगे?कौन सा जावा जीयूआई ढांचा अब चुनने के लिए है?

इसे वाणिज्यिक उपयोग और क्रॉस प्लेटफार्म के लिए स्वतंत्र होना चाहिए।

मैं एक खुश स्विंग उपयोगकर्ता किया गया है, लेकिन सूर्य प्रतिवाद करने के लिए स्विंग धकेलने की तरह लगता है, JavaFX है, जो अभी तक प्राइम टाइम के लिए तैयार नहीं है जोर दे रही है।

SWT भी है, लेकिन ऐसा लगता है कि इसमें लिनक्स पर समस्याएं हैं।

आपकी गुई पुस्तकालय/पसंद का ढांचा क्या है?

संपादित करें: सूर्य ने स्विंगक्स प्रोजेक्ट को रद्द कर दिया है। फोरम टिप्पणियों से http://swingx.dev.java.net पर सूर्य संसाधनों के बहुमत की तरह लगता है जो पहले कोर स्विंग पर काम कर रहे थे अब जावाएफएक्स पूर्णकालिक विकसित कर रहे हैं।

+0

@ मार्को: आपको लगता है कि स्विंग को बहिष्कृत क्यों किया जाएगा? और आप javafx को प्रतिस्थापन के रूप में कैसे मानते हैं? –

+0

क्या जावाएफएक्स अब भी गैर-बीटा प्रारूप में उपलब्ध है? मुझे नहीं लगता था कि जावाएफएक्स स्विंग के लिए एक प्रतियोगी बनने जा रहा था। जब मैंने पहली बार जावाएफएक्स देखा तो वे पूरक लग रहे थे ... –

+0

स्विंगएक्स रद्द नहीं किया गया है और स्विंग नहीं है। स्विंगएक्स स्विंग के शीर्ष पर एक्सटेंशन जोड़ने के लिए एक ओपन सोर्स प्रोजेक्ट है। क्या कहा गया है कि सूर्य वर्तमान में स्विंगएक्स को समर्पित अपने स्वयं के कर्मचारियों में से कोई नहीं है। जाहिर है, इस समय जावाएफएक्स में बहुत सारे प्रयास किए जा रहे हैं। जावाएफएक्स डेस्कटॉप स्विंग का उपयोग करता है। –

उत्तर

7

मुझे लगता है कि सूर्य के कुप्रबंधन के बावजूद, स्विंग अभी भी एक उत्कृष्ट ढांचा है। आप इसके साथ लॉट कर सकते हैं, खासकर यदि "बहुत" में कस्टम रेंडर किए गए UI नियंत्रण शामिल हैं। यदि आपके आवेदन को ब्रांडेड एलएएफ की आवश्यकता है, या यहां तक ​​कि यहां कुछ जटिल कस्टम नियंत्रण भी हैं, तो स्विंग बिल्कुल वही है जो आप चाहते हैं।

सिक्का के दूसरी तरफ, मुझे SWT बहुत पसंद है। यह एक खराब रैप हो जाता है क्योंकि हर कोई सोचता था कि यह जावा पर लेने के लिए आईबीएम की चाल थी, लेकिन यह वास्तव में सिर्फ एक और यूआई ढांचा है जो स्विंग के लिए काफी पूरक है। मैं सुपर-जटिल ग्राफिक्स प्रतिपादन (विशेष रूप से: कंपोजिटिंग) के लिए एसडब्ल्यूटी का उपयोग करने की सलाह नहीं दूंगा या वास्तव में गैर-तुच्छ कस्टम नियंत्रण बनाने के लिए, लेकिन बाकी सब कुछ के लिए यह वास्तव में बेवकूफ है। एपीआई को बिट मास्क और उपयोगकर्ता द्वारा प्रबंधित इवेंट प्रेषण लूप पर निर्भरता जैसी चीजों की वजह से बहुत आलोचना मिलती है, लेकिन जब आप उन्हें उपयोग करते हैं तो उनमें से अधिकतर चीजें बहुत पारदर्शी होती हैं। घटक स्वयं स्विंग (एक्स्टेंसिबिलिटी और इसी तरह के मामले में) से बहुत सरल हैं, जिसका अर्थ है कि एपीआई आनुपातिक रूप से सरल हो सकती है। मैं वास्तव में याद कर सकता हूं कि SWT में एक तालिका कैसे बनाएं और पॉप्युलेट करें; जबकि मुझे नहीं लगता कि मेरे पास है ने Google की सहायता के बिना स्विंग में संभाला।

एसडब्ल्यूटी की सबसे बड़ी समस्या अभी स्थिर संस्करण मैक ओएस एक्स पर कार्बन पर निर्भर करता है। इसका मतलब है कि एसडब्ल्यूटी ऐप्स केवल जावा 5 (या सोयालाट पर 32 बिट) पर 32 बिट चला सकते हैं। अन्य प्लेटफार्मों के लिए, एसडब्ल्यूटी विंडोज (विस्टा और एक्सपी) पर अभूतपूर्व है और जीटीके लिनक्स पर लगभग उतना ही अच्छा है। मैंने (हाल ही में) लिनक्स पर एसडब्ल्यूटी के साथ कोई समस्या नहीं है, इसलिए मुझे आश्चर्य है कि आप इसे एक गंभीर बिंदु के रूप में उल्लेख करेंगे।

अपने प्रश्न पर वापस आ रहा है: यह सब इस बात पर निर्भर करता है कि आपके आवेदन की क्या ज़रूरत है। यदि यह कस्टम नियंत्रण और जटिल कंपोजिटिंग के साथ एक चमकदार कस्टम-स्टाइल एप्लिकेशन है, स्विंग शहर में एकमात्र गेम है। हालांकि, यदि आपके लिए एक सरल एपीआई अधिक महत्वपूर्ण है, या यदि आपके उपयोगकर्ता मंच एलएएफ निष्ठा में अंतिम मांग करते हैं, तो एसडब्ल्यूटी सबसे अच्छा विकल्प है।

+0

मैं मानता हूं कि एसडब्ल्यूटी एक बहुत अच्छा जीयूआई ढांचा है। पॉकेटपीसी पर भी चलता है, जिसका अर्थ है कि जब आप मांग करते हैं तो आप अपने ऐप का मोबाइल संस्करण काफी तेज़ी से चला सकते हैं! – JeeBee

3

मैं अभी भी स्विंग का उपयोग करता हूं, और तब तक ऐसा करना जारी रखेगा जब तक कि यह अब समर्थित नहीं है। जावाफक्स के बारे में सिर के लिए धन्यवाद, मुझे अब उसमें देखना होगा।

+0

हां, यह एडब्ल्यूटी समर्थित है जिस तरह से समर्थित है, लेकिन स्विंग पक्ष पर कोई नया विकास नहीं होने वाला है। – Marko

+1

अहह, लेकिन यदि वर्तमान संस्करण आपको जो चाहिए वह करता है, तो कोई नया विकास नहीं होने पर कौन परवाह करता है? यदि यह तोड़ नहीं है, तो इसे ठीक न करें। – Elie

4

अभी, मैं या तो SWT या Qt (जंबी) का उपयोग कर रहा हूं।

स्विंग आखिरी में विकसित नहीं हुआ, कहें, 10 साल, बग तय नहीं किए गए हैं, विकास जावाएफएक्स के पक्ष में बंद हो गया है, इसलिए आपको कभी भी कोई नई विशेषताएं नहीं दिखाई देगी। जावाएफएक्स शायद बहुत अच्छा लगेगा लेकिन अभी भी वाष्पवेयर है और यह उन लोगों द्वारा किया गया है जो स्विंग को मौत की भूख लगी है, इसलिए मैं इस पर कोई पैसा नहीं लगा रहा हूं।

एसडब्ल्यूटी और क्यूटी के बीच, मैं क्यूटी का उपयोग करना पसंद करता हूं क्योंकि यह उन लोगों द्वारा बनाई गई एक बहुत परिपक्व और शक्तिशाली ढांचा है जो जानते हैं कि वे क्या कर रहे हैं (ठीक है, वैसे भी अधिकांश समय :)) और एसडब्ल्यूटी अगर नए के लिए लाइसेंस परियोजना क्यूटी के अनुकूल नहीं थी।

संबंधित मुद्दे