मैं एक जीयूआई-आधारित उपकरण बनाने पर विचार कर रहा हूं जिसे मैं क्रॉस-प्लेटफॉर्म बनना चाहता हूं। मैंने जावा को खारिज कर दिया है, क्योंकि मुझे व्यक्तिगत रूप से स्विंग पसंद नहीं है। मैं वर्तमान में सी # पर विचार कर रहा हूं और इसे क्रॉस-प्लेटफार्म बनाने के लिए मोनो का उपयोग कर रहा हूं। हालांकि मैं सोच रहा हूं कि रूबी जैसी नई फंक्ड क्रॉस-प्लेटफार्म भाषाएं मुझे एक सभ्य जीयूआई विकास वातावरण प्रदान कर सकती हैं या नहीं।रूबी जीयूआई विकास के लिए कोई अच्छा है?
उत्तर
संक्षिप्त उत्तर: नहीं (क्योंकि आपने कहा क्रॉस-प्लेटफ़ॉर्म)।
लंबा उत्तर: क्रॉस-प्लेटफ़ॉर्म जीयूआई एक पुरानी समस्या है। क्यूटी, जीटीके, डब्ल्यूएक्सविंडोज़, जावा एडब्ल्यूटी, जावा स्विंग, एक्सयूएल - वे सभी एक ही समस्या से ग्रस्त हैं: परिणामी जीयूआई प्रत्येक प्लेटफार्म पर मूल नहीं दिखता है। इससे भी बदतर, प्रत्येक प्लेटफार्म में थोड़ा अलग दिखता है और महसूस करें, भले ही आप किसी भी तरह से टूलकिट प्राप्त करने में सक्षम थे जो हर प्लेटफॉर्म पर देशी दिखता था, आपको किसी भी तरह से अपने ऐप को पर कोड करना होगा प्रत्येक प्लेटफ़ॉर्म पर मूल ।
यह निर्णय के लिए आता है: क्या आप विकास प्रयास को कम करना चाहते हैं और एक जीयूआई है जो प्रत्येक प्लेटफॉर्म पर बिल्कुल सही नहीं लग रहा है और महसूस करता है, या आप उपयोगकर्ता अनुभव को अधिकतम करना चाहते हैं? यदि आप दूसरा विकल्प चुनते हैं, तो आपको प्रत्येक प्लेटफ़ॉर्म के लिए एक सामान्य बैकएंड और कस्टम UI विकसित करना होगा।
रूबी आपके सामान्य बैकएंड के लिए खराब विकल्प नहीं है।
भले ही मैं नहीं/पसंद/जवाब देता हूं - जैसा कि मैं नहीं सुनना चाहता था - यह सबसे उपयोगी (और ईमानदार! :) उत्तर है। –
क्या जावा के लिए SWT क्रॉस प्लेटफ़ॉर्म वातावरण में देशी GUI रखने के साथ समस्या को हल करने का प्रयास नहीं करता है? – Kibbee
मुझे लगता है कि एकमात्र जीयूआई जो लोग "मूल" के रूप में स्वीकार करते हैं लेकिन मूल नहीं है वह वेब ब्राउज़र है। यही कारण है कि मुझे आरआईए बहुत पसंद है। – Nosredna
रूबी Shoes है, लेकिन यह थोड़ा हल्का हो सकता है।
जूते के साथ मेरा अनुभव यह है कि यह बहुत अच्छा नहीं है .. –
वैसे, लिंक मेरे लिए काम नहीं कर रहा है। क्या जूते परियोजना मर गई है? – Genadinik
शूज़ प्रोजेक्ट को एक नए दृष्टिकोण के साथ पुनरारंभ किया गया है: इसमें शुद्ध रूबी एपीआई है, जो पुराने संस्करणों के साथ अधिकतर संगत है, और एक प्लग करने योग्य टूलकिट जो वास्तविक दृश्य बनाता है। (वर्तमान में एकमात्र टूलकिट जावा स्विंग है) –
रूबी के बारे में निश्चित नहीं है, लेकिन आपने मोनो/सी # का उल्लेख किया है - मैंने हाल ही में मोनो और जीटीके # का उपयोग किया है और मैं बहुत प्रभावित हूं। लगता है कि बहुत स्थिर और क्रॉस-प्लेटफार्म पोर्टेबिलिटी अच्छा है।
रूबी के साथ आप एक परिपक्व, क्रॉस प्लेटफार्म यूआई टूलकिट है, जिसका उपयोग कर सकते हैं। यह पायथन और टीसीएल के लिए डिफैक्टो जीयूआई टूलकिट है, और पर्ल के उपयोग के लिए भी उपलब्ध है। रुपये के सबसे हाल के संस्करण मूल विजेट का उपयोग करते हैं जो प्राथमिक चिंता को संबोधित करते हैं जो दिनांकित दिखता है।
रुपये के लिए समर्पित एक भाषा-तटस्थ वेबसाइट http://www.tkdocs.com/ है जिसमें रुबी और टीसीएल दोनों में कोड किए गए उदाहरण शामिल हैं।
टीके को देखने वाले किसी भी व्यक्ति के लिए एक टिप, कम से कम मेरे लिए, आगे की योजना बनाएं और आप अपना यूआई किस तरह दिखाना चाहते हैं, और प्रत्येक फलक। फिर जानें कि टीके में उन चीजों को क्या कहा जाता है, और बाकी को जगह में गिरना चाहिए। मैंने इसमें सोचा कि मैं अगली सबसे अच्छी चीज़ को क्रैंक कर दूंगा, लेकिन मैंने सीखा कि मेरे पास जाने का लंबा रास्ता था। – Pred
आपके पास Ruby/GTK होगा, जो आपको लिनक्स के तहत जीटीके टूलकिट का उपयोग करने की अनुमति देता है। मुझे लगता है कि विंडोज और मैक ओएस के तहत काम करना चाहिए (जैसे गिंप, गैम और इसी तरह)।
रूबी/जीटीके के बारे में french magazine post a good beginner article।
संपादित करें: the SourceForge project पर मुख्य पृष्ठ के अनुसार, रूबी-जीनोम 2 (उर्फ रूबी/जीटीके) क्रॉस-प्लेटफार्म (विंडोज़, लिनक्स, मैक ओएस) है।
जीटीके ... जीटीके के माध्यम से पोर्ट किया गया विज्ञान, इसे मैक के लिए Win से 80 mbytes तक 900 केबाइट्स से स्थानांतरित कर दिया गया था। भले ही सभी निर्भरताओं (पायथन, perl, sqlite ...) की गणना न करें, इसे लॉन्च करने में ~ 20sec लगता है। – Nakilon
रूबी/GNOME2 बहुत अच्छी तरह से काम करता है। आप खिड़की elemtns खींचने और ड्रॉप करने के लिए ग्लैड का उपयोग कर सकते हैं और इसे अपने रूबी ऐप से यूआई लोड कर सकते हैं।
क्या आपने जावा पर एसडब्ल्यूटी देखा है? यह मूल विजेट का उपयोग करता है और स्विंग की तुलना में इसके साथ एक अच्छा इंटरफ़ेस प्राप्त करना बहुत आसान है।
जावा अभी भी एक विकल्प है और यह भी एक अच्छा विकल्प है। यदि आप देशी दिखना चाहते हैं और SWT/JFace का उपयोग महसूस करते हैं।आप ग्रहण के आरसीपी ढांचे के साथ वास्तव में शक्तिशाली यूआई अनुप्रयोग बना सकते हैं।
एक wxperl प्रोग्रामर होने के नाते, मुझे पता है कि wxruby भी वहाँ है। डब्ल्यूएक्स बहुत तेज है और सच क्रॉसप्लेटफार्म दिखता है और महसूस करता है।
wxRuby 200 9 से मर चुका है ( – Nakilon
यदि आप कभी भी मैक पर जाते हैं, तो RubyCocoa देखें। यह स्पष्ट रूप से केवल ओएसएक्स के लिए है, लेकिन मैंने देखा है कि मैक पर जीयूआई विकास करने के लिए बहुत सारे लोग अपने सिर को खरोंच करते हैं और यदि आपको रूबी पसंद है रूबीकोआ बहुत मजेदार है।
Ruby GUI 2008 Survey Results और चर्चा here पर एक नज़र डालें। आपको जानना अच्छा लगेगा।
मैं दृढ़ता से क्रॉस प्लेटफार्म जीयूआई विकास के लिए क्यूटी वापस आ गया। यह कमाल है और एपीआई बहुत सहज हैं। जीयूआई क्यूटी के साथ लगभग मूल रूप से दिखता है और महसूस करता है क्योंकि यह अंतर्निहित ओएस द्वारा प्रदान किए गए जीयूआई नियंत्रण का उपयोग करता है।
हालांकि सी ++ अन्य भाषा बाइंडिंग के साथ मूल इंटरफ़ेस उपलब्ध है। रूबी रूबीक्यूटी के लिए उपलब्ध है। दुर्भाग्य से यह बहुत अपरिपक्व है।
मैं visualruby पर विचार करने का सुझाव दूंगा। रूबी का उपयोग करके जीयूआई बनाने के लिए यह एक आईडीई है। यह जीटीके का ग्राफिक्स टूलकिट के रूप में उपयोग करता है, और ऐप्स किसी भी मंच पर मेरे लिए बहुत अच्छे लगते हैं। आप Win7, WinXP, Ubuntu, और मैक पर स्क्रीनशॉट देख सकते हैं स्क्रीनशॉट पृष्ठ पर:
http://visualruby.net/site/Screen%20Shots.html
आप आसानी से विभिन्न प्लेटफार्मों पर visualruby स्थापित करने, और उदाहरण के कार्यक्रमों को चलाने से हर मंच पर यह कोशिश कर सकते हैं।
चेक किए गए उत्तर को विज़ुअरी रिलीज़ होने से पहले लिखा गया था।
मैं वास्तव में एक क्रॉस-प्लेटफ़ॉर्म ऐप का उपयोग करता हूं जिसमें टूलकिट का उपयोग किया जा सकता है: नेटबीन्स। मुझे लगता है कि यह स्विंग पर आधारित है, लेकिन आपके पास Netbeans एक अमूर्त परत के रूप में है। मुझे रूबी में कुछ करना अच्छा लगेगा, लेकिन उत्तर में उल्लिखित सभी ढांचे को पेटी से अपरिपक्व लग रहा है। अगर केवल माइक्रोसॉफ्ट ने नेट क्रॉस-प्लेटफार्म बनाया था ... –
उम, .NET क्रॉस-प्लेटफार्म है। इसे मोनो कहा जाता है, यो। –