2012-03-03 25 views
14

मैं वाला के लिए नया हूँ। मैं गोब्जेक्ट से परिचित नहीं हूं। जैसा कि मैंने इसे समझ लिया, GObject को GLib से GLib प्रोजेक्ट से हटा दिया गया था। यदि मैं गलत हूं तो मुझे सही करों।गोला के बिना वैला का उपयोग किया जा सकता है?

मुझे वैला के सिंटैक्स और कार्यान्वयन की बहुत पसंद है, फिर भी यह मेरे इरादे में नहीं है कि वह GNOME अनुप्रयोगों को गनोम के लिए लिख सके।

मुझे यह भी पता है (मुझे पता है) कि वाला के पास गोब्जेक्ट के अलावा मानक लाइब्रेरी नहीं है।

तो मेरा सवाल यह है कि: क्या वैला का उपयोग गोब्जेक्ट के बिना किया जा सकता है और यदि यह कर सकता है, तो क्या यह उपयोग योग्य है (सामान्य रूपांतरणों जैसे गणित, गणित, स्ट्रिंग मैनिपुलेशन, बफर इत्यादि के लिए इष्टतम और बनाए रखा आधार पुस्तकालय हैं ... उपलब्ध)?

+3

गोब्जेक्ट फ्रेमवर्क डेस्कटॉप वातावरण को gnome करने के लिए बाध्य नहीं है। आप लगभग किसी भी प्रकार के लिनक्स और यहां तक ​​कि विंडोज़ पर गोब्जेक्ट लाइब्रेरी का उपयोग कर सकते हैं। – Mindbane

उत्तर

7

Dova और पॉज़िक्स जैसे कुछ अन्य वैला प्रोफाइल हैं।

+0

ध्यान दें कि आपके पास Posix प्रोफ़ाइल में कक्षाएं नहीं हो सकती हैं (या कम से कम केवल '[कॉम्पैक्ट] 'वाले) – ptomato

3

यहां एक और प्रोफ़ाइल है जिसे आप Aroop का उपयोग कर सकते हैं। (ध्यान दें कि यह अभी भी भारी विकास में है)। मुझे उम्मीद है कि यदि आपको उच्च प्रदर्शन की आवश्यकता है तो यह अच्छा है। कृपया features here देखें।

4

टीएलडीआर: मैं जीएलआईबी/गोब्जेक्ट के साथ वैला का उपयोग करने की सलाह देता हूं, क्योंकि यह उनके शीर्ष पर डिज़ाइन किया गया था।

हालांकि वैलैक के लिए वैकल्पिक प्रोफ़ाइल हो सकती हैं, वे या तो अधूरा या बहिष्कृत हैं।

वाला के पूरे मुद्दे सी में चिकना और जीटीके + लिखने के लिए आवश्यक बॉयलरप्लेट की मात्रा को कम करने के लिए है

यह भी सी पर कुछ अच्छा अन्य सुधार के बजाय सरल डेटा प्रकार किया जा रहा है कहते हैं स्ट्रिंग और सरणी की तरह त्रुटि प्रवण पॉइंटर्स।

  • कक्षाएं
  • गुण
  • विरासत
  • प्रतिनिधियों
  • async तरीकों
  • संदर्भ गिनती (जो सी में मैनुअल है:

    यह ज्यादातर की तरह सभी अवधारणाओं GObject में मौजूद लपेटता + गोब्जेक्ट, और वाला में स्वचालित उर्फ ​​एआरसी)

  • वस्तुओं कीप्रकार सुरक्षा
  • जेनरिक
  • शायद बहुत कुछ ...

इन अवधारणाओं के सभी GObject/GLib/जियो का उपयोग किए बिना लागू किया जा सकता है, लेकिन यह मूल रूप से GObject/GLib के पुनर्लेखन के लिए मतलब होगा/जीओ जो ज्यादा समझ में नहीं आता है।

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

मुझे लगता है कि क्यूटी में अंततः जीएलआईबी मुख्य लूप पर स्विच करने के लिए कुछ प्रयास भी हैं, जो क्यूटी और जीएलआईबी की अंतःक्रियाशीलता को अधिक आसान बना देगा।

जीएलआईबी का उपयोग करने वाले ढांचे का एक अच्छा उदाहरण जीस्ट्रीमर है जो विभिन्न डेस्कटॉप वातावरणों में भी प्रयोग किया जाता है।

सारांश में:

  • GLib एक बुनियादी क्रॉस प्लेटफॉर्म अनुप्रयोग फ्रेमवर्क
  • GObject है वस्तु GLib पारिस्थितिकी तंत्र
  • GIO एक आई/ओ अमूर्त है (नेटवर्क, फाइल सिस्टम, आदि सिस्टम है जिसका प्रयोग ।) GLib + GObject
  • जीटीके + के आधार पर एक ग्राफिक यूआई टूलकिट GLib + GObject + GIO + दूसरों पर आधारित है
  • गनोम डेस्कटॉप सभी "जी" प्रौद्योगिकियोंके आधार पर पर्यावरण है 0
  • वैला एक उच्च स्तरीय प्रोग्रामिंग भाषा है जो सी भाषा से "जी" पुस्तकालयों का उपयोग करने के लिए निहित बॉयलर प्लेट को कम करने के लिए डिज़ाइन की गई है।

जीटीके + मूल रूप से जीआईएमपी से आया था और तब से अलग "जी" पुस्तकालयों में विभाजित था जो आज गनोम के लिए आधार हैं।

वैला में बहुत शक्तिशाली बाध्यकारी तंत्र भी हैं जो किसी भी प्रकार की सी लाइब्रेरी के लिए तथाकथित "वीएपीआई" फाइलें लिखना आसान बनाता है।

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