2010-05-18 16 views
19

क्या मौका है, विंडोज के लिए एक उभरते हुए हास्केल यूआई ढांचे?हास्केल यूआई ढांचा?

मैंने हाल ही में भाषा को देखकर लिया, और जो मैंने देखा, वह बहुत कम "एक-ऑफ" अनुप्रयोगों (विस्तृत स्क्रिप्ट) के लिए होगा।

हालांकि, एक अच्छा यूआई ढांचे के बिना मैं इसे अधिक स्पष्ट दावेदारों के धुएं और दर्पण के नीचे नहीं देख पा रहा हूं।

मैंने पढ़ा है कि कई ढांचे हैं, लेकिन कोई भी पूर्ण-विशेषीकृत नहीं है।

मैं सोच रहा हूं कि यह कुछ बढ़ रहा है या क्या एक ही दिशा में पर्याप्त डेवलपर्स को एक ही दिशा में जाना मुश्किल है?

+0

मैं वास्तव में एक विशेष रूप से एक की सिफारिश नहीं कर सकते हैं, लेकिन इस सूची अगर तुम दिलचस्प हो सकता है इसे अभी तक नहीं देखा है: http://www.haskell.org/haskellwiki/Applications_and_libraries/GUI_libraries – ChristopheD

+0

धन्यवाद। मैंने वास्तव में उस सटीक पृष्ठ पर देखा था, और दुर्भाग्यवश, यह मेरी अधिकांश निराशाजनक है ... "दुर्भाग्यवश कोई मानक नहीं है और सभी कम या कम अधूरे हैं।" – Lance

उत्तर

18

दो मुख्य ढांचे wxHaskell और Gtk2Hs हैं। इन दोनों का असली काम के लिए उपयोग किया गया है। जो मुझे पता है उससे मेरी वरीयता Gtk2Hs होगी क्योंकि यह संसाधनों को सही तरीके से संभालती है (यानी जीसी का उपयोग करता है)। WxHaskell को प्रोग्रामर को विजेट्स को रिलीज़ करने की आवश्यकता होती है जब वे अब आवश्यक नहीं होते हैं, इसलिए आप इसके साथ सभी क्लासिक मेमोरी लीक और स्टेल पॉइंटर शिकंजा प्राप्त कर सकते हैं।

दोनों के साथ समस्या यह है कि सब कुछ आईओ मोनड में है। यह इस तथ्य को दर्शाता है कि वे अनिवार्य भाषाओं के लिए मौजूदा जीयूआई पुस्तकालयों के आसपास अपेक्षाकृत पतले रैपर हैं। बेशक इसका मतलब है कि आप एक अनिवार्य भाषा में एक जीयूआई लिखने से भी बदतर नहीं हैं, लेकिन आप शायद ही कभी बेहतर हैं।

गुईटीवी में अंगूर और कोनल इलियट के "मूर्त मूल्य" विचारों सहित हैकेज पर कुछ रोचक प्रयोगात्मक पुस्तकालय पाए जाते हैं। ये दोनों एक और घोषणात्मक दृष्टिकोण के लिए प्रयास करते हैं।

+0

धन्यवाद एक टन! यह जानकारी ठीक है कि मैं देख रहा था। हालांकि मैं रैपर पुस्तकालयों के बारे में सहमत हूं। क्या आप अंगूर के साथ लिखे गए किसी भी अनुप्रयोग के बारे में जानते हैं, और/या समुदाय में अपना गोद लेने कितना विशाल है? – Lance

+0

@ लांस, क्षमा करें, यह सब मुझे पता है। –

+2

यह भी देखें http://stackoverflow.com/questions/2672791/is- कार्यात्मक-गुई- प्रोग्रामिंग- संभावित – shosti

7

(अस्वीकरण: मैं wxHaskell मेंटेनर हूँ)

wxHaskell और Gtk2Hs दोनों कम या ज्यादा पूरा कर रहे हैं। ऐसा कहने के लिए, दोनों अपने अंतर्निहित पुस्तकालयों द्वारा प्रदान की गई कार्यक्षमता का एक बड़ा सौदा लपेटते हैं। जैसा कि पहले उल्लेख किया गया है, दोनों को आईओ मोनैड में प्रोग्रामिंग की बजाय 'अनिवार्य' शैली की आवश्यकता होती है।

प्रत्येक के सापेक्ष गुणों पर कई चर्चाएं हुई हैं। मैं कहूँगा कि wxHaskell दो की आसान, काम कर रहे विशेष रूप से विंडोज पर, के रूप में यह कबाल के माध्यम से स्थापित किया जा सकता प्राप्त करने के लिए है (http://www.haskell.org/haskellwiki/WxHaskell/Install#On_Windows देखें)

एफआरपी चौखटे (अंगूर और अन्य) का एक और अधिक 'कार्यात्मक' शैली प्रदान करते हैं बहुत कम विजेट कवरेज होने की लागत पर प्रोग्रामिंग। मुझे यह महसूस हो रहा है कि यह अभी भी एक खुला शोध क्षेत्र है, और वास्तव में 'प्राइम टाइम' के लिए तैयार नहीं है।

प्रैक्टिस में, मुझे कभी भी WxHaskell के साथ संसाधन प्रबंधन समस्याएं नहीं मिली हैं, हालांकि मैं मानता हूं कि यह संभव है, और जीटीके 2 एच द्वारा बेहतर क्षेत्र है, जो अंतर्निहित लाइब्रेरी में संदर्भ गणना का उपयोग करता है।

पूर्णता के लिए, मुझे यह भी उल्लेख करना चाहिए कि एक क्यूटी बाध्यकारी (QtHaskell?) भी मौजूद है - यह अपेक्षाकृत युवा है, लेकिन स्पष्ट रूप से उचित रूप से पूर्ण है।

मुझे लगता है कि हास्केल समुदाय, जैसा कि छोटा है, एक जीयूआई ढांचे पर ठीक करना अच्छा होगा, लेकिन इसकी कठिनाई को स्वीकार करें (उदाहरण के लिए सभी ओएस प्लेटफॉर्म आदि के लिए लाइसेंसिंग, समर्थन)।

1

इसके अलावा आप Haskwidgets (मेरा मतलब सी ++ लाइब्रेरी) का उपयोग हास्केल के साथ कर सकते हैं। यहां एक उदाहरण दिया गया है: https://bitbucket.org/afiskon/hs-a-star-gui/src इस तरह के दृष्टिकोण के पास wxHaskell पर कुछ फायदे हैं: 1. आप यूआई जनरेटर (कोड :: ब्लॉक, WxFormBuilder) का उपयोग कर सकते हैं 2. आपके एप्लिकेशन में कम डिस्क स्थान 3 है।आप wxwidgets की सभी सुविधाओं का उपयोग कर सकते हैं।

यह भी ध्यान दिया जाना चाहिए, wxHaskell की है कि पिछले संस्करण wxWidgets 2.9, जो संभवत: डेबियन पर वापस पोर्ट होगा कभी नहीं किया जा उपयोग करता है: http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=16;bug=613431

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