क्रॉस-प्लेटफ़ॉर्म टूलकिट डेवलपर्स को कई प्लेटफ़ॉर्म के लिए एप्लिकेशन बनाने की अनुमति देते हैं। प्रोग्रामर त्वरित एप्लिकेशन डिज़ाइन के लिए सॉफ़्टवेयर फ़्रेमवर्क का उपयोग करते हैं।
टूलकिट में सॉफ्टवेयर बनाने के लिए कंपाइलर, कोड लाइब्रेरी और एपीआई हो सकते हैं। इस लेख में, हम Linux/Unix, Windows, और Android पर चलने वाले एम्बेडेड सिस्टम के समाधान पर नज़र डालते हैं।
क्यूटी फ्रेमवर्क
क्यूटी लोगो छवि
एम्बेडेड सिस्टम के लिए क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन बनाने के लिए Qt फ्रेमवर्क बहुत अच्छा है। एंबेडेड एप्लिकेशन अक्सर C/C++ में लिखे जाते हैं। क्यूटी विभिन्न प्लेटफार्मों का समर्थन करता है:
- मोबाइल (एंड्रॉइड, आईओएस);
- डेस्कटॉप (विंडोज़, लिनक्स, मैकओएस);
- एम्बेडेड (एम्बेडेड लिनक्स, एंबेडेड एंड्रॉइड, विंडोज एंबेडेड, क्यूएनएक्स, आदि)।
C++ एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज (OOP) है। OOP एप्लिकेशन इंजीनियरिंग की प्रक्रिया को तेज़, आसान और सुरक्षित बनाता है। C++ WOCA (एक बार लिखें, कहीं भी संकलित करें) सिद्धांत का समर्थन करता है।
लाइसेंस
क्यूटी का उपयोग वाणिज्यिक और ओपन-सोर्स लाइसेंस के तहत किया जा सकता है। आप ओपन-सोर्स वितरण के साथ या बाहरी वितरण के बिना परियोजनाओं के लिए ओपन-सोर्स लाइसेंस के तहत क्यूटी का उपयोग कर सकते हैं।
क्यूटी उपकरण
उपयोगी मॉड्यूल इस टूलकिट को क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन इंजीनियरिंग के लिए सबसे सुविधाजनक बनाते हैं।
क्यूटी क्रिएटर एक आईडीई है जो जीयूआई एप्लिकेशन डिजाइन या संशोधन को आसान बनाता है। क्यूटी क्रिएटर को सी ++, क्यूएमएल और जावास्क्रिप्ट में सॉफ्टवेयर बनाने के लिए लागू किया जाता है।
क्यूटी निर्माता स्क्रीनशॉट
क्यूटी क्रिएटर के पास क्यूटी डिजाइनर नामक एक बहुत ही कुशल जीयूआई कन्स्ट्रक्टर है। क्यूटी डिज़ाइनर को सिग्नल और स्लॉट के दृश्य संपादन के लिए समर्थन की विशेषता है। इसे एक स्वतंत्र उपकरण के रूप में भी इस्तेमाल किया जा सकता है।
क्यूटी डिजाइन स्टूडियो क्यूटी क्रिएटर का एक स्ट्रिप-डाउन संस्करण है। यह यूजर इंटरफेस, यूजर एक्सपीरियंस और मानव-मशीन इंटरफेस के निर्माण के लिए 2डी/3डी उपकरणों का एक सेट प्रदान करता है।
Qt फ्रेमवर्क UI एप्लिकेशन डिज़ाइन के लिए QML भाषा प्रदान करता है।
Qt ऑटोमोटिव सूट मॉड्यूल और उपकरण इन-व्हीकल इंफोटेनमेंट (IVI) सिस्टम बनाने के प्रभारी हैं।
ऑटोमोटिव सुइट की संरचना में क्यूटी एप्लिकेशन मैनेजर है, जिसमें यूआई सिस्टम के आसान विकास के लिए एक उच्च-स्तरीय एपीआई है।
Qt GENIVI एक्स्ट्रास मॉड्यूल डिजाइनरों को GENIVI ऑटोमोटिव प्लेटफॉर्म की संरचना के साथ उत्पाद को संयोजित करने की अनुमति देता है। नेप्च्यून 3 यूआई ऑटोमोटिव इंफोटेनमेंट (आईवीआई) सिस्टम में क्यूटी के लिए यूआई बनाने में मदद करता है।
क्यूटी इंटरफेस फ्रेमवर्क मॉड्यूल में वे उपकरण शामिल हैं जिनकी आपको मिडलवेयर घटकों (एपीआई, बैकएंड, सेवाओं) को विकसित करने के लिए आवश्यकता होती है।
क्यूटी सेफ रेंडरर मॉड्यूल, अपने यूआई रेंडरिंग तत्व के साथ, डेवलपर्स को बाकी सिस्टम से महत्वपूर्ण व्याख्याओं को अलग करने की अनुमति देता है। विफलताओं या आपात स्थितियों की स्थिति में, यह सिस्टम के सबसे महत्वपूर्ण तत्वों को प्रदर्शित करना संभव बनाता है।
अन्य मल्टी-प्लेटफ़ॉर्म फ्रेमवर्क
बहुत सारे समाधान Qt के समान कार्यों को हल कर सकते हैं। ढांचे के बीच चयन करते समय, डेवलपर अपने अनुभव और परियोजना की जरूरतों को ध्यान में रखता है। हम क्यूटी-जैसे समाधानों पर एक नज़र डालेंगे और प्रत्येक रूपरेखा की विशेषताओं पर प्रकाश डालेंगे।
एम्बेडेड सॉफ़्टवेयर विकास के लिए क्रॉस-प्लेटफ़ॉर्म टूलकिट का उपयोग किया जाता है।
.NET, या dotNet , Microsoft के स्वामित्व वाला विकास मंच है।
मंच की मुख्य विशेषताएं:
- खुला स्त्रोत;
- विंडोज, लिनक्स और मैकओएस के साथ संगत;
- सी #, एफ #, या विजुअल बेसिक समर्थित हैं।
- विजुअल स्टूडियो आईडीई;
- इसका एक बड़ा समुदाय है।
मोबाइल और गेम एप्लिकेशन को आसानी से विकसित और संकलित करने के लिए इस संरचना में विभिन्न प्रकार के कंपाइलर, लाइब्रेरी और एपीआई हैं।
Xamarin .Net प्लेटफॉर्म का एक तत्व है, लेकिन इसे स्वतंत्र रूप से इस्तेमाल किया जा सकता है। Xamarin मोबाइल एप्लिकेशन इंजीनियरिंग के लिए एक लोकप्रिय उपकरण है।
Xamarin के मूल तत्व:
- खुला स्रोत सॉफ्टवेयर;
- सी # का उपयोग करता है;
- उपकरण जो मूल रूप से संकलित हैं;
- ज़ामरीन यूनिवर्सल लाइब्रेरी और ग्रह ज़ामरीन परियोजनाएँ डेवलपर्स को महत्वपूर्ण जानकारी और उपयोगी संसाधन प्रदान करती हैं।
स्पंदन एक Google GUI फ्रेमवर्क है। यह WORA (एक बार लिखो, कहीं भी चलाओ) सिद्धांत का समर्थन करता है।
संरचना की मुख्य विशेषताएं हैं
- विंडोज, लिनक्स, एंड्रॉइड, आईओएस और अन्य जैसे प्लेटफॉर्म सभी समर्थित हैं।
- डार्ट प्रोग्रामिंग भाषा का समर्थन करता है;
- डिजाइन-विशिष्ट विजेट।
जावा पर आधारित फ्रेमवर्क हल्के, एक्स्टेंसिबल हैं, और आसान और त्वरित अनुप्रयोग विकास प्रदान करते हैं। जावा सबसे लोकप्रिय प्रोग्रामिंग भाषाओं में से एक है।
दूसरी ओर, जावा भाषा जटिल है और अन्य भाषाओं की तुलना में बहुत कुशल नहीं है।
जीयूआई प्रोग्राम बनाने के लिए आप जीटीके+ का उपयोग कर सकते हैं।
विजेट टूलकिट की मुख्य विशेषताएं:
- खुला स्त्रोत;
- बहु मंच;
- C प्रयुक्त भाषा है;
- C++, dotNet, और Python बाइंडिंग उपलब्ध हैं।
- शक्तिशाली विषयों के लिए अच्छा समर्थन;
- विंडोज, लिनक्स और मैकओएस के साथ संगत।
सिंपल डायरेक्टमीडिया लेयर (SDL) एक क्रॉस-प्लेटफ़ॉर्म लाइब्रेरी है।
एसडीएल की मुख्य विशेषताएं:
- ओपन-सोर्स (zlib लाइसेंस के तहत);
- C, C++, या Objective-C में लिखे गए लक्ष्य प्लेटफॉर्म पर निर्भर करता है;
- अन्य भाषाओं के लिए भी बाइंडिंग उपलब्ध हैं।
- एकाधिक विंडो के लिए समर्थन;
- 2डी ग्राफिक्स जो हार्डवेयर-त्वरित हैं;
- यह व्यापक रूप से क्रॉस-प्लेटफ़ॉर्म मल्टीमीडिया प्रोग्राम (मुख्य रूप से गेम) के लिए उपयोग किया जाता है;
- अपनी अविश्वसनीय अनुवाद सुविधाओं के लिए प्रसिद्ध है।
सी ++ जीयूआई टूलकिट
C++ एक प्रोग्रामिंग लैंग्वेज है।
सी++ डेवलपर्स के पास सी++ जीयूआई फ्रेमवर्क का विस्तृत विकल्प भी है:
- WxWidgets एक ओपन-सोर्स C++ टूलकिट है। यह परिपक्व है, बल्कि तेज है। WxWidgets स्वाभाविक रूप और अनुभव सुनिश्चित करने के लिए मूल विगेट्स (जहाँ संभव हो) का उपयोग करता है; इसमें एक बहुत ही सुविधाजनक WxCrafter डिज़ाइनर है।
- एफएलटीके 3डी ग्राफिक्स को सपोर्ट करता है। इस ढांचे में हल्का और सरल डिज़ाइन है।
- विंडोज, लिनक्स, आईओएस, मैकओएस और एंड्रॉइड द्वारा समर्थित, जेयूसीई में ऑडियो कार्यात्मकताओं का एक बड़ा सेट है।
- अल्टीमेट ++ ( यू++ , या यूपीपी ) में जीयूआई, एसक्यूएल और अन्य लाइब्रेरी शामिल हैं और दक्षता पर केंद्रित है।
कई अन्य सी ++ यूआई ढांचे हैं। उनमें से प्रत्येक अलग-अलग उद्देश्यों को पूरा करता है और इसके फायदे हैं। क्यूटी लाभ एम्बेडेड सिस्टम के लिए एप्लिकेशन विकसित करने की सुविधा है।
हम एंबेडेड सिस्टम के लिए क्यूटी क्यों चुनते हैं?
सी ++ एम्बेडेड उपकरणों के लिए सबसे व्यापक रूप से उपयोग की जाने वाली भाषाओं में से एक है। यह एक अत्यधिक स्थिर प्रोग्रामिंग भाषा है। यही कारण है कि C++ एप्लिकेशन कई वर्षों तक चल सकते हैं और हार्डवेयर के लिए उपयुक्त हैं। C++ एक प्रोसेसर-स्वतंत्र भाषा है। C++ डेटा संरचना एल्गोरिदम पर आधारित है, इसलिए यह एम्बेडेड सिस्टम विकसित करने के साथ आने वाली चुनौतियों का सामना कर सकता है। C++ पर आधारित, Qt आपको विभिन्न उद्योगों में एम्बेडेड सिस्टम के लिए सॉफ्टवेयर बनाने के लिए आवश्यक सब कुछ प्रदान करता है। क्रॉस-प्लेटफ़ॉर्म समाधानों के लिए बहुत सारे विकल्प होने के कारण, इंटेग्रा स्रोत क्यूटी को एम्बेडेड सिस्टम के लिए कहीं अधिक उपयुक्त ढांचे के रूप में पसंद करते हैं। यहाँ कुछ Qt विशेषताएँ हैं जिन्होंने हमें इसे चुनने पर मजबूर किया।
- क्यूटी का मुख्य लाभ विभिन्न डेस्कटॉप, मोबाइल और एम्बेडेड प्लेटफॉर्म के लिए समान कोड का उपयोग करने की क्षमता है।
- Qt दोहरे लाइसेंसिंग मॉडल का उपयोग करता है। इंटेग्रा स्रोत आमतौर पर परियोजनाओं के लिए एक ओपन-सोर्स लाइसेंस का चयन करता है। फिर भी, क्लाइंट के अनुरोध पर क्यूटी वाणिज्यिक लाइसेंस के तहत एप्लिकेशन डिज़ाइन भी उपलब्ध है।
- विस्तृत एपीआई प्रलेखन, उदाहरण, तकनीकी सहायता और एक बड़ा समुदाय Qt का उपयोग करना आसान बनाता है।
- क्यूटी के लिए अन्य प्रोग्रामिंग भाषाओं के लिए कई बंधन हैं।
- क्यूटी क्रिएटर आईडीई तेज और उत्तरदायी है।
हम Qt और C++ के कुछ महत्वहीन नुकसानों को नोट कर सकते हैं:
- सी ++ भाषा जटिल है। अनुभवहीन डिजाइनरों के लिए इसे सीखना और उपयोग करना कठिन है।
- C++ में वेब प्रौद्योगिकियों के लिए लचीलेपन की कमी हो सकती है।
- क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन की गति देशी लोगों की तुलना में धीमी हो सकती है।
- क्रॉस-संकलन के लिए अतिरिक्त चरणों की आवश्यकता हो सकती है।
हमारी परियोजनाओं में क्यूटी
क्यूटी का उपयोग करने वाली परियोजनाओं की संख्या बढ़ रही है। क्यूटी डिजाइनरों को कई कार्यों को तेजी से और आसानी से हल करने की अनुमति देता है।
परियोजना चर्चा
विपणन और मनोरंजन क्षेत्रों से संबंधित परियोजनाओं में से एक के लिए हमारी जिम्मेदारी ग्राहक के डिवाइस को डिबगिंग और कॉन्फ़िगर करने के लिए एक Android एप्लिकेशन विकसित करना था। डिवाइस में सिलेंडर की बोतलें थीं और स्प्रे सिस्टम से लैस थी। इसे बीएलई के जरिए नियंत्रित किया गया। हमारे डेवलपर्स को डिवाइस प्रबंधन के लिए एक एप्लिकेशन बनाना पड़ा। साथ ही, एक वीडियो प्लेयर को लागू किया जाना था। एक बार जब खिलाड़ी एक निश्चित टाइमस्टैम्प पर पहुंच जाता है, तो एप्लिकेशन को डिवाइस को एक निश्चित सुगंध स्प्रे करने के लिए एक कमांड भेजना होता है। एप्लिकेशन डिज़ाइन के लिए, हमने C++/Qt/Qml स्टैक को चुना है। साथ ही जावा कोड का इस्तेमाल किया गया था। Qt ने हमें अल्पावधि में Android एप्लिकेशन बनाने की अनुमति दी। क्यूटी कनेक्टिविटी मॉड्यूल ने तैयार ब्लूटूथ समाधानों के साथ बीएलई भाग के विकास को गति दी है। क्यूटी मल्टीमीडिया मॉड्यूल का उपयोग करके, हमारे विशेषज्ञों ने विभिन्न कार्यों के साथ एक वीडियो प्लेयर बनाया है। इंटेग्रा स्रोत Qt फ्रेमवर्क और C/C++ के उपयोग के अनुभव से खुश हैं। यह हमें समय बचाने में मदद करता है, और ग्राहक कुशल क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन प्राप्त करके पैसे बचाते हैं। हमारे पोर्टफोलियो में एम्बेडेड सिस्टम्स के लिए कई प्रोजेक्ट हैं।
भी प्रकाशित हुआ