क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर: Difference between revisions
Line 54: | Line 54: | ||
सॉफ़्टवेयर को क्रॉस- प्लेटफ़ॉर्म माना जाने के लिए, इसे एक से अधिक अभिकलित्र संरचना या ओएस पर कार्य करना चाहिए। ऐसे सॉफ़्टवेयर को विकसित करना एक समय लेने वाला कार्य हो सकता है क्योंकि अलग-अलग ओएस में अलग-अलग अनुप्रयोग कार्यरचना अंतरापृष्ठ (एपीआई) होते हैं। उदाहरण के लिए, लिनक्स विंडोज से भिन्न एपीआई का उपयोग करता है। | सॉफ़्टवेयर को क्रॉस- प्लेटफ़ॉर्म माना जाने के लिए, इसे एक से अधिक अभिकलित्र संरचना या ओएस पर कार्य करना चाहिए। ऐसे सॉफ़्टवेयर को विकसित करना एक समय लेने वाला कार्य हो सकता है क्योंकि अलग-अलग ओएस में अलग-अलग अनुप्रयोग कार्यरचना अंतरापृष्ठ (एपीआई) होते हैं। उदाहरण के लिए, लिनक्स विंडोज से भिन्न एपीआई का उपयोग करता है। | ||
हो सकता है कि एक ओएस के लिए लिखा गया सॉफ़्टवेयर उन सभी संरचना पर स्वचालित रूप से काम न करे जो ओएस समर्थित करता है। एक उदाहरण ओपेनआफिस.ओआरजी (openoffice. | हो सकता है कि एक ओएस के लिए लिखा गया सॉफ़्टवेयर उन सभी संरचना पर स्वचालित रूप से काम न करे जो ओएस समर्थित करता है। एक उदाहरण ओपेनआफिस.ओआरजी (openoffice.orजी) है, जो 2006 में मूल रूप से एएमडी64 या इंटेल 64 संसाधक पर एक्स 86-64 मानकों को लागू करने पर नहीं चलता था, 2012 तक इसे "ज्यादातर" इन प्रणालियों में पोर्ट किया गया था।<ref>[http://wiki.services.openoffice.org/wiki/Porting_to_x86-64_(AMD64,_EM64T) Porting to x86-64 (AMD64, EM64T) – Apache OpenOffice Wiki]. Wiki.services.openoffice.org (2012-06-22). Retrieved on 2013-07-17.</ref> सिर्फ इसलिए कि सॉफ्टवेयर एक लोकप्रिय कार्यरचना भाषा जैसे सी या सी ++ में लिखा गया है, इसका मतलब यह नहीं है कि यह उन सभी ओएस पर चलेगा जो उस भाषा का समर्थन करते हैं- या यहां तक कि एक ही ओएस के विभिन्न संस्करणों पर भी करते हैं। | ||
===वेब अनुप्रयोग === | ===वेब अनुप्रयोग === | ||
Line 93: | Line 93: | ||
पारंपरिक अनुप्रयोग सॉफ़्टवेयर को युग्मक फ़ाइलों, विशेष रूप से निष्पादन योग्य फ़ाइलों के रूप में वितरित किया गया है। निष्पादन योग्य केवल उस प्लेटफ़ॉर्मका समर्थन करते हैं जिसके लिए उन्हें बनाया गया था - जिसका अर्थ है कि एक एकल क्रॉस- प्लेटफ़ॉर्मनिष्पादन योग्य संकेतक के साथ बहुत फूला हुआ हो सकता है जो किसी विशेष प्लेटफ़ॉर्मपर कभी निष्पादित नहीं होता है। इसके बजाय, आम तौर पर निष्पादन योग्य का चयन होता है, प्रत्येक एक मंच के लिए बनाया जाता है। | पारंपरिक अनुप्रयोग सॉफ़्टवेयर को युग्मक फ़ाइलों, विशेष रूप से निष्पादन योग्य फ़ाइलों के रूप में वितरित किया गया है। निष्पादन योग्य केवल उस प्लेटफ़ॉर्मका समर्थन करते हैं जिसके लिए उन्हें बनाया गया था - जिसका अर्थ है कि एक एकल क्रॉस- प्लेटफ़ॉर्मनिष्पादन योग्य संकेतक के साथ बहुत फूला हुआ हो सकता है जो किसी विशेष प्लेटफ़ॉर्मपर कभी निष्पादित नहीं होता है। इसके बजाय, आम तौर पर निष्पादन योग्य का चयन होता है, प्रत्येक एक मंच के लिए बनाया जाता है। | ||
सॉफ़्टवेयर के लिए जो युग्मक निष्पादन योग्य के रूप में वितरित किया जाता है, जैसे कि सी या सी ++ में लिखा गया है, प्रत्येक प्लेटफ़ॉर्मके लिए एक सॉफ़्टवेयर निर्माण होना चाहिए, एक टूल समुच्चय का उपयोग करके जो अनुवाद करता है-ट्रांसकंपाइल-एक एकलकोडबेस को कई युग्मक निष्पादन योग्य बनाता है। उदाहरण के लिए, फ़ायरफ़ॉक्स, एक | सॉफ़्टवेयर के लिए जो युग्मक निष्पादन योग्य के रूप में वितरित किया जाता है, जैसे कि सी या सी ++ में लिखा गया है, प्रत्येक प्लेटफ़ॉर्मके लिए एक सॉफ़्टवेयर निर्माण होना चाहिए, एक टूल समुच्चय का उपयोग करके जो अनुवाद करता है-ट्रांसकंपाइल-एक एकलकोडबेस को कई युग्मक निष्पादन योग्य बनाता है। उदाहरण के लिए, फ़ायरफ़ॉक्स, एक मुक्त स्रोत वेब ब्राउज़र, विंडोज, मैकओएस (पॉवरपीसी और एक्स 86 दोनों के माध्यम से जिसे ऐप्पल इंक एक यूनिवर्सल युग्मक कहता है), लिनक्स और बीएसडी पर कई अभिकलित्र संरचना पर उपलब्ध है। चार प्लेटफ़ॉर्म (इस मामले में, विंडोज, मैकओएस, लिनक्स और बीएसडी) अलग निष्पादन योग्य वितरण हैं, हालांकि वे बड़े पैमाने पर एक ही स्रोत संकेतक से आते हैं। दुर्लभ मामलों में, कई प्लेटफार्मों के लिए बनाए गए निष्पादन योग्य संकेतक को एक एकल निष्पादन योग्य फ़ाइल में जोड़ा जाता है जिसे वसा युग्मक कहा जाता है। | ||
विभिन्न प्लेटफ़ॉर्म के लिए कार्यशील निष्पादन योग्य बनाने के लिए विभिन्न टूल समुच्चय का उपयोग पर्याप्त नहीं हो सकता है। इस मामले में, प्रोग्रामर्स को सोर्स संकेतक को नए प्लेटफ़ॉर्म पर पोर्ट करना होगा। उदाहरण के लिए, फ़ायरफ़ॉक्स जैसे अनुप्रयोग, जो पहले से ही एक्स 86 परिवार पर विंडोज़ पर चलता है, को एक्स 86 (और संभावित रूप से अन्य संरचना) पर भी लिनक्स पर चलाने के लिए संशोधित और पुन: बनाया जा सकता है। संकेतक के कई संस्करणों को अलगकोडबेस के रूप में संग्रहीत किया जा सकता है, या एककोडबेस में विलय किया जा सकता है। | विभिन्न प्लेटफ़ॉर्म के लिए कार्यशील निष्पादन योग्य बनाने के लिए विभिन्न टूल समुच्चय का उपयोग पर्याप्त नहीं हो सकता है। इस मामले में, प्रोग्रामर्स को सोर्स संकेतक को नए प्लेटफ़ॉर्म पर पोर्ट करना होगा। उदाहरण के लिए, फ़ायरफ़ॉक्स जैसे अनुप्रयोग, जो पहले से ही एक्स 86 परिवार पर विंडोज़ पर चलता है, को एक्स 86 (और संभावित रूप से अन्य संरचना) पर भी लिनक्स पर चलाने के लिए संशोधित और पुन: बनाया जा सकता है। संकेतक के कई संस्करणों को अलगकोडबेस के रूप में संग्रहीत किया जा सकता है, या एककोडबेस में विलय किया जा सकता है। | ||
पोर्टिंग का एक विकल्प क्रॉस- प्लेटफ़ॉर्मआभासीकरण है, जहां एक प्लेटफ़ॉर्म के लिए संकलित अनुप्रयोग स्रोत संकेतक या बायनेरिज़ के संशोधन के बिना दूसरे पर चल सकते हैं। उदाहरण के तौर पर, ऐप्पल का रो समुच्चया, जो इंटेल-आधारित मैकिंटोश अभिकलित्रों में बनाया गया है, मैक की पिछली पीढ़ी के लिए संकलित अनुप्रयोगों को चलाता है जो पावरपीसी सीपीयू का इस्तेमाल करते थे। एक अन्य | पोर्टिंग का एक विकल्प क्रॉस- प्लेटफ़ॉर्मआभासीकरण है, जहां एक प्लेटफ़ॉर्म के लिए संकलित अनुप्रयोग स्रोत संकेतक या बायनेरिज़ के संशोधन के बिना दूसरे पर चल सकते हैं। उदाहरण के तौर पर, ऐप्पल का रो समुच्चया, जो इंटेल-आधारित मैकिंटोश अभिकलित्रों में बनाया गया है, मैक की पिछली पीढ़ी के लिए संकलित अनुप्रयोगों को चलाता है जो पावरपीसी सीपीयू का इस्तेमाल करते थे। एक अन्य उदाहरणआईBM PowerVM Lएक्स 86 है, जो लिनक्स/एक्स 86 अनुप्रयोगों को लिनक्स/Power ओएस पर असंशोधित चलाने की अनुमति देता है। | ||
क्रॉस- प्लेटफ़ॉर्म युग्मक सॉफ़्टवेयर का उदाहरण: | क्रॉस- प्लेटफ़ॉर्म युग्मक सॉफ़्टवेयर का उदाहरण: | ||
Line 104: | Line 104: | ||
==== लिपियों और व्याख्या की गई भाषाएं ==== | ==== लिपियों और व्याख्या की गई भाषाएं ==== | ||
स्क्रिप्ट को क्रॉस- प्लेटफ़ॉर्ममाना जा सकता है यदि उसका दुभाषिया कई प्लेटफार्मों पर उपलब्ध है और स्क्रिप्ट केवल भाषा में निर्मित सुविधाओं का उपयोग करती है। उदाहरण के लिए, यूनिक्स जैसी प्रणाली के लिए पायथन में लिखी गई एक स्क्रिप्ट संभवतः विंडोज़ पर बहुत कम या बिना किसी संशोधन के चलेगी, क्योंकि पायथन भी विंडोज़ पर चलता है, वास्तव में कई कार्यान्वयन हैं (उदाहरण के लिए .नेट प्राधारिक के लिए आयरनपीथन)। वही कई | स्क्रिप्ट को क्रॉस- प्लेटफ़ॉर्ममाना जा सकता है यदि उसका दुभाषिया कई प्लेटफार्मों पर उपलब्ध है और स्क्रिप्ट केवल भाषा में निर्मित सुविधाओं का उपयोग करती है। उदाहरण के लिए, यूनिक्स जैसी प्रणाली के लिए पायथन में लिखी गई एक स्क्रिप्ट संभवतः विंडोज़ पर बहुत कम या बिना किसी संशोधन के चलेगी, क्योंकि पायथन भी विंडोज़ पर चलता है, वास्तव में कई कार्यान्वयन हैं (उदाहरण के लिए .नेट प्राधारिक के लिए आयरनपीथन)। वही कई मुक्त स्रोत लिपिन्यास भाषाओं के लिए जाता है। | ||
युग्मक निष्पादन योग्य फ़ाइलों के विपरीत, एक ही स्क्रिप्ट का उपयोग उन सभी अभिकलित्रों पर किया जा सकता है जिनके पास स्क्रिप्ट की व्याख्या करने के लिए सॉफ़्टवेयर है। ऐसा इसलिए है क्योंकि स्क्रिप्ट आम तौर पर एक टेक्स्ट फ़ाइल में सादे पाठ में संग्रहीत होती है। कुछ मामूली मुद्दे हो सकते हैं, जैसे कि एक नई लाइन कैरेक्टर का प्रतिनिधित्व। | युग्मक निष्पादन योग्य फ़ाइलों के विपरीत, एक ही स्क्रिप्ट का उपयोग उन सभी अभिकलित्रों पर किया जा सकता है जिनके पास स्क्रिप्ट की व्याख्या करने के लिए सॉफ़्टवेयर है। ऐसा इसलिए है क्योंकि स्क्रिप्ट आम तौर पर एक टेक्स्ट फ़ाइल में सादे पाठ में संग्रहीत होती है। कुछ मामूली मुद्दे हो सकते हैं, जैसे कि एक नई लाइन कैरेक्टर का प्रतिनिधित्व। | ||
Line 128: | Line 128: | ||
==== क्रॉस- प्लेटफ़ॉर्मप्ले ==== | ==== क्रॉस- प्लेटफ़ॉर्मप्ले ==== | ||
{{Main|Cross-platform play|List of video games that support cross-platform play}} | {{Main|Cross-platform play|List of video games that support cross-platform play}} | ||
कई डेवलपर्स ने विभिन्न प्लेटफार्मों का उपयोग करते हुए ऑनलाइन गेम खेलने के तरीके लागू किए हैं। Psyonix, Epic | कई डेवलपर्स ने विभिन्न प्लेटफार्मों का उपयोग करते हुए ऑनलाइन गेम खेलने के तरीके लागू किए हैं। Psyonix, Epic जीames, माइक्रोसॉफ्ट, और Valveसीorporation सभी के पास ऐसी तकनीक है जो Xbox 360 और PlayStation 3 गेमर्स को पीसी गेमर्स के साथ खेलने की अनुमति देती है, जिससे उपभोक्ताओं को किस प्लेटफ़ॉर्म का उपयोग करना है। पीसी और कंसोल गेम के बीच इस स्तर की अन्तरक्रियाशीलता की अनुमति देने वाला पहला गेम क्वैक 3 था।<ref>Cribba. [https://www.giantbomb.com/quake-iii-arena/3030-3874/ Quake III Arena], ''Giant Bombcast'', February 15, 2013.</ref> | ||
क्रॉस- प्लेटफ़ॉर्मऑनलाइन प्ले की सुविधा वाले गेम में रॉकेट लीग, फ़ाइनल फ़ैंटेसी XIV: ए रियलम रीबॉर्न, स्ट्रीट फाइटर वी, किलर इंस्टिंक्ट (2013 वीडियो गेम), पैरागॉन (वीडियो गेम) और फैबल फॉर्च्यून, और माइनक्राफ्ट शामिल हैं। 10, VR संस्करण, | क्रॉस- प्लेटफ़ॉर्मऑनलाइन प्ले की सुविधा वाले गेम में रॉकेट लीग, फ़ाइनल फ़ैंटेसी XIV: ए रियलम रीबॉर्न, स्ट्रीट फाइटर वी, किलर इंस्टिंक्ट (2013 वीडियो गेम), पैरागॉन (वीडियो गेम) और फैबल फॉर्च्यून, और माइनक्राफ्ट शामिल हैं। 10, VR संस्करण, Minईसीraft - Pocket Eडीition और Xbox One। | ||
==कार्यरचना == | ==कार्यरचना == | ||
Line 135: | Line 135: | ||
=== दृष्टिकोण <span class= एंकर id= क्रॉस-प्लेटफ़ॉर्म प्रोग्रामिंग के लिए दृष्टिकोण ></span> === | === दृष्टिकोण <span class= एंकर id= क्रॉस-प्लेटफ़ॉर्म प्रोग्रामिंग के लिए दृष्टिकोण ></span> === | ||
क्रॉस- प्लेटफ़ॉर्मअनुप्रयोग लिखने के विभिन्न तरीके हैं। एक तरीका अलग-अलग स्रोत ट्री में एक ही सॉफ़्टवेयर के कई संस्करण बनाना है- दूसरे शब्दों में, किसी अनुप्रयोग के माइक्रोसॉफ्ट विंडोज संस्करण में स्रोत संकेतक फ़ाइलों का एक समुच्चय और एप्प्ल Macintओएसh संस्करण दूसरा हो सकता है, जबकि एक मुफ़्त और | क्रॉस- प्लेटफ़ॉर्मअनुप्रयोग लिखने के विभिन्न तरीके हैं। एक तरीका अलग-अलग स्रोत ट्री में एक ही सॉफ़्टवेयर के कई संस्करण बनाना है- दूसरे शब्दों में, किसी अनुप्रयोग के माइक्रोसॉफ्ट विंडोज संस्करण में स्रोत संकेतक फ़ाइलों का एक समुच्चय और एप्प्ल Macintओएसh संस्करण दूसरा हो सकता है, जबकि एक मुफ़्त और मुक्त स्रोत सॉफ़्टवेयर * निक्स प्रणाली में एक तिहाई हो सकता है। हालांकि यह सीधा है, केवल एक प्लेटफ़ॉर्म के लिए विकसित होने की तुलना में बड़ी टीम को भुगतान करने या उत्पादों को अधिक धीरे-धीरे जारी करने में अधिक खर्च हो सकता है। इसके परिणामस्वरूप और अधिक बग्स को ट्रैक किया जा सकता है और उन्हें ठीक किया जा सकता है। | ||
एक अन्य तरीका सॉफ्टवेयर का उपयोग करना है जो प्लेटफार्मों के बीच के अंतर को छुपाता है। यह अमूर्त परत प्लेटफ़ॉर्म से अनुप्रयोग को इंसुलेट करती है। ऐसे अनुप्रयोग प्लेटफ़ॉर्म अज्ञेयवादी हैं। जेवीएम पर चलने वाले अनुप्रयोग इस तरह से बनाए जाते हैं। | एक अन्य तरीका सॉफ्टवेयर का उपयोग करना है जो प्लेटफार्मों के बीच के अंतर को छुपाता है। यह अमूर्त परत प्लेटफ़ॉर्म से अनुप्रयोग को इंसुलेट करती है। ऐसे अनुप्रयोग प्लेटफ़ॉर्म अज्ञेयवादी हैं। जेवीएम पर चलने वाले अनुप्रयोग इस तरह से बनाए जाते हैं। | ||
कुछ अनुप्रयोग अंतिम अनुप्रयोग बनाने के लिए क्रॉस- प्लेटफ़ॉर्म कार्यरचना के विभिन्न तरीकों को मिलाते हैं। एक उदाहरण फ़ायरफ़ॉक्स वेब ब्राउज़र है, जो कुछ निचले स्तर के घटकों के निर्माण के लिए अमूर्तता का उपयोग करता है, प्लेटफ़ॉर्म-विशिष्ट सुविधाओं (जैसे जीयूआई) को लागू करने के लिए अलग स्रोत उपट्री के साथ, और सॉफ़्टवेयर सुवाह्यता को आसान बनाने के लिए एक से अधिक लिपिन्यास भाषा का कार्यान्वयन . फ़ायरफ़ॉक्स क्लासिक नेटस्केप-शैली ब्राउज़र प्लगइन्स के अलावा, ब्राउज़र को विस्तारित करने के लिए XUL, कैस्केडिंग स्टाइल शीट्स और जावास्क्रिप्ट को लागू करता है। अधिकांश ब्राउज़र स्वयं XUL, | कुछ अनुप्रयोग अंतिम अनुप्रयोग बनाने के लिए क्रॉस- प्लेटफ़ॉर्म कार्यरचना के विभिन्न तरीकों को मिलाते हैं। एक उदाहरण फ़ायरफ़ॉक्स वेब ब्राउज़र है, जो कुछ निचले स्तर के घटकों के निर्माण के लिए अमूर्तता का उपयोग करता है, प्लेटफ़ॉर्म-विशिष्ट सुविधाओं (जैसे जीयूआई) को लागू करने के लिए अलग स्रोत उपट्री के साथ, और सॉफ़्टवेयर सुवाह्यता को आसान बनाने के लिए एक से अधिक लिपिन्यास भाषा का कार्यान्वयन . फ़ायरफ़ॉक्स क्लासिक नेटस्केप-शैली ब्राउज़र प्लगइन्स के अलावा, ब्राउज़र को विस्तारित करने के लिए XUL, कैस्केडिंग स्टाइल शीट्स और जावास्क्रिप्ट को लागू करता है। अधिकांश ब्राउज़र स्वयं XUL,सीSS और जावास्क्रिप्ट में लिखा गया है। | ||
=== टूलकिट और परिवेश=== | === टूलकिट और परिवेश=== | ||
Line 147: | Line 147: | ||
* अनंत अभिकलन: एक मोबाइल अनुप्रयोग प्लेटफ़ॉर्म जो सभी भारतीय भाषाओं में काम करता है, जिसमें उनके कुंजीपटल भी शामिल हैं, और सभी ओएस में ऐप वॉलेट और मूल प्रदर्शन का भी समर्थन करता है। | * अनंत अभिकलन: एक मोबाइल अनुप्रयोग प्लेटफ़ॉर्म जो सभी भारतीय भाषाओं में काम करता है, जिसमें उनके कुंजीपटल भी शामिल हैं, और सभी ओएस में ऐप वॉलेट और मूल प्रदर्शन का भी समर्थन करता है। | ||
* अप्पेअरआईक्यू: एक ढांचा जो उद्यम परिवेश में ऐप विकास और परिनियोजन के कार्य प्रगति का समर्थन करता है। मूल रूप से विकसित कंटेनर एक एपीआई से एचटीएमएल 5 संकेतक के माध्यम से मोबाइल उपकरणों या टैबलेट की हार्डवेयर सुविधाओं को प्रस्तुत करते हैं और इस प्रकार विभिन्न प्लेटफार्मों पर चलने वाले मोबाइल ऐप के विकास की सुविधा प्रदान करते हैं। | * अप्पेअरआईक्यू: एक ढांचा जो उद्यम परिवेश में ऐप विकास और परिनियोजन के कार्य प्रगति का समर्थन करता है। मूल रूप से विकसित कंटेनर एक एपीआई से एचटीएमएल 5 संकेतक के माध्यम से मोबाइल उपकरणों या टैबलेट की हार्डवेयर सुविधाओं को प्रस्तुत करते हैं और इस प्रकार विभिन्न प्लेटफार्मों पर चलने वाले मोबाइल ऐप के विकास की सुविधा प्रदान करते हैं। | ||
* बोडेन (सॉफ्टवेयर): | * बोडेन (सॉफ्टवेयर):सी++ में लिखा गया यूआई प्राधारिक। | ||
* काहिरा (ग्राफिक्स): एक मुफ्त सॉफ्टवेयर लाइब्रेरी जिसका उपयोग | * काहिरा (ग्राफिक्स): एक मुफ्त सॉफ्टवेयर लाइब्रेरी जिसका उपयोग सदिश आलेखिकी-आधारित, उपकरण-स्वतंत्र एपीआई प्रदान करने के लिए किया जाता है। यह कई अलग-अलग पश्च सिरा में 2-आयामी चित्रकारी के लिए आदिम प्रदान करने के लिए परिकलन किया गया है। काहिरा सी में लिखा गया है और कई कार्यरचना भाषाओं के लिए बाध्यकारी है। | ||
* | * कोकोस 2डी: 2डी और सरल 3डी क्रॉस- प्लेटफ़ॉर्म गेम और अनुप्रयोग विकसित करने के लिए एक मुक्त स्रोत टूलकिट और गेम इंजन। | ||
* संकेतकनेम वन: जावा और कोटलिन डेवलपर्स के लिए एक | * संकेतकनेम वन: जावा और कोटलिन डेवलपर्स के लिए एक मुक्त स्रोत राइट वन्स रन एनीवेयर (डब्ल्यूओआरए) प्राधारिक। | ||
* डेल्फी ( कार्यरचना भाषा): एक आईडीई जो विकास के लिए पास्कल-आधारित भाषा का उपयोग करता है। यह एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स को सपोर्ट करता है। | * डेल्फी (कार्यरचना भाषा): एक आईडीई जो विकास के लिए पास्कल-आधारित भाषा का उपयोग करता है। यह एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स को सपोर्ट करता है। | ||
* | * ईसेरे एसडीके: एक जीयूआई और 2डी/3डी ग्राफिक्स टूलकिट और आईडीई, जो ईसी ( कार्यरचना भाषा) में लिखा गया है और सी औरपायथन जैसी अतिरिक्त भाषाओं के समर्थन के साथ है। यह एम्सस्क्रिप्टेन या बाइनरीन (वेबअसेंबली) के माध्यम से लिनक्स, फ्रीबीएसडी, विंडोज, एंड्रॉयड, मैकओएसऔर वेब को सपोर्ट करता है। | ||
* ग्रहण आईडीई: एक खुला स्रोत विकास परिवेश। जावा में एक विन्यास योग्य वास्तुकला के साथ लागू किया गया जो सॉफ्टवेयर विकास के लिए कई उपकरणों का समर्थन करता है। ऐड-ऑन जावा और सी++ सहित कई भाषाओं के लिए उपलब्ध हैं। | * ग्रहण आईडीई: एक खुला स्रोत विकास परिवेश। जावा में एक विन्यास योग्य वास्तुकला के साथ लागू किया गया जो सॉफ्टवेयर विकास के लिए कई उपकरणों का समर्थन करता है। ऐड-ऑन जावा और सी++ सहित कई भाषाओं के लिए उपलब्ध हैं। | ||
* | * एफएलटीके: एक मुक्त स्रोत टूलकिट, लेकिन अधिक हल्का क्योंकि यह खुद को जीयूआई तक सीमित रखता है। | ||
* स्पंदन (सॉफ्टवेयर): | * स्पंदन (सॉफ्टवेयर): गूगल द्वारा विकसित एंड्रॉयड और आईओएस के लिए एक क्रॉस- प्लेटफ़ॉर्म यूआई प्राधारिक। | ||
* | * एफपीजीयूआई: एक मुक्त स्रोत विजेट टूलकिट जो पूरी तरह से ऑब्जेक्ट पास्कल में लागू किया गया है। यह वर्तमान में लिनक्स, विंडोज और कुछ विंडोज सीई का समर्थन करता है। | ||
* जीनएक्सस: क्रॉस- | * जीनएक्सस: क्रॉस- प्लेटफ़ॉर्म अनुप्रयोग निर्माण और परिनियोजन के लिए एक विंडोज़ त्वरित सॉफ़्टवेयर विकास विलयन जो ज्ञान प्रतिनिधित्व और सी शार्प ( कार्यरचना भाषा) का समर्थन करता है | एंड्रॉइड और ब्लैकबेरी स्मार्ट उपकरण सहित सी #, कोबोल, जावा ( कार्यरचना भाषा), ऑब्जेक्टिव-सी के लिए एप्पल इंक. मोबाइल उपकरण, आईबीएम आरपीजी, रूबी ( कार्यरचना भाषा), विजुअल बेसिक और विजुअल फॉक्सप्रो। | ||
* | * जीएलबेसिक: एक बेसिक बोली और संकलनकर्ता जोसी++ संकेतक जेनरेट करता है। इसमें कई प्लेटफार्मों के लिए क्रॉस संकलनकर्ता शामिल हैं और कई प्लेटफ़ॉर्म (विंडोज, मैक, लिनक्स, एंड्रॉइड, आईओएस और कुछ विदेशी हैंडहेल्ड) का समर्थन करते हैं। | ||
* गोडोट (गेम इंजन): एक एसडीके जो गोडोट इंजन का उपयोग करता है। | * गोडोट (गेम इंजन): एक एसडीके जो गोडोट इंजन का उपयोग करता है। | ||
* | * जीTK+: X11 और माइक्रोसॉफ्ट विंडोज के साथ यूनिक्स जैसी प्रणालियों के लिए एक मुक्त स्रोत विजेट टूलकिट। | ||
* Haxe: एक | * Haxe: एक मुक्त स्रोत भाषा। | ||
* जूस: | * जूस:सी++ में लिखा गया एक अनुप्रयोग प्राधारिक, संकेतक में बिना किसी बदलाव के, कई प्रणाली ्स (माइक्रोसॉफ्ट विंडोज, PओएसIX, macओएस) पर नेटिव सॉफ्टवेयर लिखने के लिए इस्तेमाल किया जाता है। | ||
* किवी (प्राधारिक): एक | * किवी (प्राधारिक): एक मुक्त स्रोत क्रॉस-प्लेटफ़ॉर्म यूआई प्राधारिक जो पायथन ( कार्यरचना भाषा) में लिखा गया है। यह एंड्रॉइड (संचालन तंत्र), आईओएस, लिनक्स, मैकओएस, माइक्रोसॉफ्ट विंडोज और रास्पबेरी पाई को सपोर्ट करता है। | ||
* लीडटूल: विंडोज, आईओएस, मैकओएस, एंड्रॉइड, लिनक्स और वेब अनुप्रयोग में मान्यता, दस्तावेज़, चिकित्सा, इमेजिंग और मल्टीमीडिया तकनीकों को एकीकृत करने के लिए क्रॉस- प्लेटफ़ॉर्मएसडीके लाइब्रेरी।<ref>{{Cite web|title=Cross-Platform SDK Libraries for Recognition, Document, Medical, Imaging, and Multimedia|url=https://www.leadtools.com/sdk/cross-platform|access-date=2021-03-03|website=www.leadtools.com}}</ref> | * लीडटूल: विंडोज, आईओएस, मैकओएस, एंड्रॉइड, लिनक्स और वेब अनुप्रयोग में मान्यता, दस्तावेज़, चिकित्सा, इमेजिंग और मल्टीमीडिया तकनीकों को एकीकृत करने के लिए क्रॉस- प्लेटफ़ॉर्मएसडीके लाइब्रेरी।<ref>{{Cite web|title=Cross-Platform SDK Libraries for Recognition, Document, Medical, Imaging, and Multimedia|url=https://www.leadtools.com/sdk/cross-platform|access-date=2021-03-03|website=www.leadtools.com}}</ref> | ||
* | * Livईसीoडीe: हाइपरटॉक से प्रेरित एक व्यावसायिक क्रॉस- प्लेटफ़ॉर्म त्वरित अनुप्रयोग विकास भाषा। | ||
* लाजर (आईडीई): फ्रीपास्कल | * लाजर (आईडीई): फ्रीपास्कल संकलनकर्ता के लिए एक कार्यरचना परिवेश। यह स्व-स्थायी ग्राफिकल और कंसोल अनुप्रयोगों के निर्माण का समर्थन करता है और लिनक्स, MacओएसX,आईओएस, एंड्रॉयड, WinCE, विंडोज और WEB पर चलता है। | ||
* मैक्स (सॉफ़्टवेयर)|मैक्स/एमएसपी: एक विज़ुअल कार्यरचना भाषा जो प्लेटफ़ॉर्म-स्वतंत्र संकेतक को प्लेटफ़ॉर्म-विशिष्ट रनटाइम परिवेश के साथ मैकओएसऔर विंडोज A क्रॉस- | * मैक्स (सॉफ़्टवेयर)|मैक्स/एमएसपी: एक विज़ुअल कार्यरचना भाषा जो प्लेटफ़ॉर्म-स्वतंत्र संकेतक को प्लेटफ़ॉर्म-विशिष्ट रनटाइम परिवेश के साथ मैकओएसऔर विंडोज A क्रॉस- प्लेटफ़ॉर्मएंड्रॉयड रनटाइम के लिए अनुप्रयोगों में समाहित करती है। यह अनमॉडिफाइड एंड्रॉइड ऐप्स को आईओएस और मैकओएस पर मूल रूप से चलाने की अनुमति देता है | ||
* मेंडिक्स: एक क्लाउड-आधारित लो-संकेतक अनुप्रयोग विकास प्लेटफ़ॉर्म। | * मेंडिक्स: एक क्लाउड-आधारित लो-संकेतक अनुप्रयोग विकास प्लेटफ़ॉर्म। | ||
* मोनोक्रॉस: एक | * मोनोक्रॉस: एक मुक्त स्रोत मॉडल-व्यू-कंट्रोलर परिकलन पैटर्न जहां मॉडल और कंट्रोलर क्रॉस- प्लेटफ़ॉर्महैं लेकिन दृश्य प्लेटफ़ॉर्म-विशिष्ट है।<ref>{{Cite web|url=https://headworks.io/blog/12-benefits-of-Xamarin-Cross-platform-app-development|title=12 benefits of Xamarin Cross-platform app development|date=15 Mar 2019|website=HeadWorks}}</ref> | ||
* मोनो (सॉफ्टवेयर): माइक्रोसॉफ्ट .नेट का एक | * मोनो (सॉफ्टवेयर): माइक्रोसॉफ्ट .नेट का एक मुक्त स्रोत क्रॉस-प्लेटफ़ॉर्म संस्करण (अनुप्रयोग और कार्यरचना भाषाओं के लिए एक ढांचा) | ||
* Mओएसync: | * Mओएसync:सी++ परिवार में मोबाइल प्लेटफ़ॉर्मऐप विकास के लिए एक मुक्त स्रोत SडीK। | ||
* मोज़िला अनुप्रयोग प्राधारिक: मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक | * मोज़िला अनुप्रयोग प्राधारिक: मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मुक्त स्रोत प्लेटफ़ॉर्म। | ||
* एंड्रॉइड और आईओएस विकास के लिए एक क्रॉस-प्लेटफ़ॉर्म जावास्क्रिप्ट / टाइपस्क्रिप्ट प्राधारिक। | * एंड्रॉइड और आईओएस विकास के लिए एक क्रॉस-प्लेटफ़ॉर्म जावास्क्रिप्ट / टाइपस्क्रिप्ट प्राधारिक। | ||
* ओपनजीएल: एक 3डी ग्राफिक्स लाइब्रेरी। | * ओपनजीएल: एक 3डी ग्राफिक्स लाइब्रेरी। | ||
* पिक्सेल गेम मेकर एमवी: विंडोज़ और निन्टेंडो स्विच गेम विकसित करने के लिए विंडोज़ के लिए एक मालिकाना 2डी गेम विकास सॉफ्टवेयर। | * पिक्सेल गेम मेकर एमवी: विंडोज़ और निन्टेंडो स्विच गेम विकसित करने के लिए विंडोज़ के लिए एक मालिकाना 2डी गेम विकास सॉफ्टवेयर। | ||
* PureBasic: macओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मालिकाना भाषा और | * PureBasic: macओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मालिकाना भाषा और आईडीई। | ||
* [https://renative.org ReNative]: रिएक्ट नेटिव के साथ मल्टी- प्लेटफ़ॉर्मप्रोजेक्ट बनाने के लिए यूनिवर्सल विकास | * [https://renative.org ReNative]: रिएक्ट नेटिव के साथ मल्टी- प्लेटफ़ॉर्मप्रोजेक्ट बनाने के लिए यूनिवर्सल विकास SडीK. नवीनतमआईओएस, TVओएस, एंड्रॉयड, एंड्रॉयड TV, Web, Tizen TV, Tizen Watch, Lजी webओएस, macओएस/ओएसX, विंडोज, Kaiओएस, Firefox ओएस और Firefox TV प्लेटफ़ॉर्म शामिल हैं। | ||
* क्यूटी (टूलकिट): यूनिक्स जैसी प्रणालियों के लिए एक्स11, माइक्रोसॉफ्ट विंडोज, मैकओएस और अन्य प्रणालियों के लिए एक एप्लीकेशन प्राधारिक और विजेट टूलकिट - मालिकाना और | * क्यूटी (टूलकिट): यूनिक्स जैसी प्रणालियों के लिए एक्स11, माइक्रोसॉफ्ट विंडोज, मैकओएस और अन्य प्रणालियों के लिए एक एप्लीकेशन प्राधारिक और विजेट टूलकिट - मालिकाना और मुक्त स्रोत लाइसेंस दोनों के तहत उपलब्ध है। | ||
* सरल और तेज़ मल्टीमीडिया लाइब्रेरी: एक | * सरल और तेज़ मल्टीमीडिया लाइब्रेरी: एक मल्टीमीडियासी++ अनुप्रयोग कार्यरचना इंटरफ़ेस जो ग्राफिक्स, इनपुट, ऑडियो आदि के लिए निम्न और उच्च स्तर की पहुंच प्रदान करता है। | ||
* सिंपल डायरेक्टमीडिया लेयर: सी में लिखी गई एक | * सिंपल डायरेक्टमीडिया लेयर: सी में लिखी गई एक मुक्त स्रोत मल्टीमीडिया लाइब्रेरी जो विभिन्न प्लेटफ़ॉर्म के ग्राफिक्स, साउंड और इनपुट अनुप्रयोग कार्यरचना अंतरापृष्ठ पर एक एब्स्ट्रैक्शन बनाती है। यह लिनक्स, विंडोज और मैकओएस सहित ओएस पर चलता है और इसका उद्देश्य गेम और मल्टीमीडिया अनुप्रयोग है। | ||
* स्मार्टफेस: जावास्क्रिप्ट संकेतक एडिटर के साथ | * स्मार्टफेस: जावास्क्रिप्ट संकेतक एडिटर के साथ WYSIWYजी परिकलन एडिटर का उपयोग करके एंड्रॉयड औरआईओएस के लिए मोबाइल अनुप्रयोग बनाने के लिए एक देशी ऐप विकास टूल। | ||
* टीसीएल / टीके | * टीसीएल / टीके | ||
* अल्टीमेट++: एक सी++ | * अल्टीमेट++: एक सी++ त्वरित अनुप्रयोग विकास प्राधारिक जो प्रोग्रामर की उत्पादकता पर केंद्रित है। इसमें लाइब्रेरीों का एक समुच्चय (जीयूआई, एसक्यूएल, आदि..), और एक एकीकृत विकास परिवेश शामिल है। यह विंडोज और यूनिक्स जैसे ओएस-एस को सपोर्ट करता है। | ||
* यूनिटी (गेम इंजन): एक और क्रॉस-प्लेटफ़ॉर्म एसडीके जो यूनिटी इंजन का उपयोग करता है। | * यूनिटी (गेम इंजन): एक और क्रॉस-प्लेटफ़ॉर्म एसडीके जो यूनिटी इंजन का उपयोग करता है। | ||
* यूनो प्लेटफ़ॉर्म: विंडोज, मैकओएस, आईओएस, एंड्रॉइड, वेबअसेंबली और लिनक्स सी # का उपयोग कर रहे हैं। | * यूनो प्लेटफ़ॉर्म: विंडोज, मैकओएस, आईओएस, एंड्रॉइड, वेबअसेंबली और लिनक्स सी # का उपयोग कर रहे हैं। | ||
Line 190: | Line 190: | ||
* वेवमेकर: उत्तरदायी वेब और हाइब्रिड मोबाइल (एंड्रॉइड और आईओएस) अनुप्रयोग बनाने के लिए एक कम-संकेतक विकास उपकरण। | * वेवमेकर: उत्तरदायी वेब और हाइब्रिड मोबाइल (एंड्रॉइड और आईओएस) अनुप्रयोग बनाने के लिए एक कम-संकेतक विकास उपकरण। | ||
* विनडेव: विंडोज, लिनक्स, नेट और जावा, और वेब ब्राउज़र के लिए एक एकीकृत विकास पर्यावरण। व्यापार और औद्योगिक अनुप्रयोगों के लिए अनुकूलित। | * विनडेव: विंडोज, लिनक्स, नेट और जावा, और वेब ब्राउज़र के लिए एक एकीकृत विकास पर्यावरण। व्यापार और औद्योगिक अनुप्रयोगों के लिए अनुकूलित। | ||
* | * wxwiडीजीets: एक मुक्त स्रोत विजेट टूलकिट जो एक एप्लीकेशन प्राधारिक भी है।<ref name="wxwidgets">[http://wxwidgets.org/ WxWidgets Description]</ref> यह X11, माइक्रोसॉफ्ट विंडोज और मैकओएसके साथ यूनिक्स जैसे प्रणाली पर चलता है। | ||
* Xojo: एक | * Xojo: एक RAडी आईडीई जो डेस्कटॉप, वेब औरआईओएस ऐप बनाने के लिए ऑब्जेक्ट-ओरिएंटेड कार्यरचना भाषा का उपयोग करता है। Xojo macओएस, विंडोज, लिनक्स और रास्पबेरी पाई के लिए देशी, संकलित डेस्कटॉप ऐप बनाती है। यह संकलित वेब ऐप बनाता है जिसे स्टैंडअलोन सर्वर के रूप में यासीजीI के माध्यम से चलाया जा सकता है। और इसने हाल ही में देशीआईओएस ऐप बनाने की क्षमता जोड़ी है। | ||
==चुनौतियाँ == | ==चुनौतियाँ == | ||
Line 211: | Line 211: | ||
* जावा (सॉफ्टवेयर प्लेटफ़ॉर्म) | * जावा (सॉफ्टवेयर प्लेटफ़ॉर्म) | ||
*भाषा बंधन | *भाषा बंधन | ||
* | * ट्रांससंकलनकर्ता | ||
* युग्मक-संकेतक संगतता | * युग्मक-संकेतक संगतता | ||
* ज़ामरीन | * ज़ामरीन |
Revision as of 15:33, 4 November 2022
अभिकलन में, क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर (जिसे मल्टी- प्लेटफ़ॉर्म सॉफ़्टवेयर, प्लेटफ़ॉर्म-अज्ञेय सॉफ़्टवेयर या प्लेटफ़ॉर्म-स्वतंत्र सॉफ़्टवेयर भी कहा जाता है) अभिकलित्र सॉफ़्टवेयर (यंत्रेतर सामग्री) है जिसे कई अभिकलन प्लेटफ़ॉर्म में काम करने के लिए परिकलन किया गया है।[1] कुछ क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर के लिए प्रत्येक प्लेटफ़ॉर्म के लिए एक अलग निर्माण की आवश्यकता होती है, लेकिन कुछ को विशेष तैयारी के बिना किसी भी प्लेटफ़ॉर्म पर सीधे चलाया जा सकता है, व्याख्या की गई भाषा में लिखा जा रहा है या सुवाह्य बाइटसंकेतक में संकलित किया जा सकता है जिसके लिए दुभाषिए या कार्यावधि संपुष्टि सामान्य या सभी समर्थित प्लेटफ़ॉर्म के घटक मानक हैं। [2]
उदाहरण के लिए, एक क्रॉस- प्लेटफ़ॉर्म अनुप्रयोग माइक्रोसॉफ्ट विंडोज, लिनक्स और मैकओएस पर चल सकता है। क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर कई प्लेटफ़ॉर्म पर, या कम से कम दो पर चल सकता है। क्रॉस- प्लेटफ़ॉर्म विकास के लिए कुछ ढांचे संकेतकनेम वन, कीवी, क्यूटी, फ़्लटर, नेटिवस्क्रिप्ट, ज़ैमरिन, फोनगैप, आयोनिक और रिएक्ट नेटिव हैं।
प्लेटफ़ॉर्म
प्लेटफ़ॉर्म उस प्रकार के संसाधक (सीपीयू) या अन्य हार्डवेयर (यंत्रसामग्री) को संदर्भित कर सकता है जिस पर एक संचालन तंत्र (ओएस) या अनुप्रयोग चलता है, ओएस का प्रकार, या दोनों का संयोजन है।[3] सामान्य प्लेटफ़ॉर्म का एक उदाहरण एक्स 86 संरचना पर चलने वाला माइक्रोसॉफ्ट विंडोज ओएस है। अन्य प्रसिद्ध डेस्कटॉप प्लेटफ़ॉर्म लिनक्स / यूनिक्स और मैकओएस हैं - ये दोनों स्वयं क्रॉस- प्लेटफ़ॉर्म हैं।[3]हालांकि, स्मार्टफोन जैसे कई उपकरण हैं जो प्लेटफ़ॉर्म भी हैं। अनुप्रयोग को किसी विशेष प्लेटफ़ॉर्म की सुविधाओं पर निर्भर करने के लिए लिखा जा सकता है - या तो हार्डवेयर, ओएस, या कल्पित मशीन (वीएम) जिस पर वह चलता है। उदाहरण के लिए, जावा प्लेटफ़ॉर्म एक सामान्य वीएम प्लेटफ़ॉर्म है जो कई ओएस और हार्डवेयर प्रकारों पर चलता है।[4]
हार्डवेयर (यंत्रसामग्री)
हार्डवेयर प्लेटफ़ॉर्म एक निर्देश समुच्चय संरचना को संदर्भित करता है। उदाहरण के लिए: एक्स 86 संरचना और इसके भिन्नरूप जैसे आई ए -32 और एक्स86-64 है। ये मशीनें अक्सर माइक्रोसॉफ्ट विंडोज का एक संस्करण चलाती हैं,[5]हालांकि वे लिनक्स, ओपनबीएसडी, नेटबीएसडी, मैकओएस और फ्रीबीएसडी सहित अन्य ओएस चला सकती हैं।
32-बिट एआरएम संरचना (और नया 64-बिट संस्करण) स्मार्टफोन और टैबलेट अभिकलित्र पर आम है, जो एंड्रॉइड, आईओएस और अन्य मोबाइल संचालन तंत्र चलाते हैं।
सॉफ़्टवेयर (यंत्रेतर सामग्री)
सॉफ्टवेयर प्लेटफ़ॉर्म या तो एक ओएस या कार्यरचना परिवेश हो सकता है, हालांकि आमतौर पर यह दोनों का संयोजन होता है। एक अपवाद जावा है, जो जावा बाइटसंकेतक को निष्पादित करने के लिए ओएस-स्वतंत्र वीएम का उपयोग करता है। सॉफ्टवेयर प्लेटफ़ॉर्म के उदाहरण हैं:
- ब्लैकबेरी 10
- स्मार्टफोन और टैबलेट अभिकलित्र (एक्स 86, एआरएम) के लिए एंड्रॉइड (संचालन तंत्र)
- आईओएस (एआरएम)
- माइक्रोसॉफ्ट विंडोज (एक्स 86, एआरएम)
- माइक्रोसॉफ्ट का सामान्य भाषा अवसंरचना (सीएलआई), जिसे नेट प्राधारिक के नाम से भी जाना जाता है
- क्रॉस- प्लेटफ़ॉर्म संस्करण मोनो (सॉफ़्टवेयर) (पहले नोवेल द्वारा और अब ज़ामरीन द्वारा)[6])
- जावा ( कार्यरचना भाषा)
- वेब ब्राउज़र - कमोबेश एक-दूसरे के साथ संगत, जावास्क्रिप्ट वेब-ऐप्स चला रहे हैं
- लिनक्स (एक्स 86, पावर पीसी, एआरएम, और अन्य संरचना)
- मैकओएस (एक्स 86, पावरपीसी (10.5 और नीचे पर), और एआरएम[7] (एप्प्ल सिलिकॉन या 11.0 और उससे अधिक पर)
- मेंडिक्स
- सोलारिस (संचालन तंत्र) (स्पार्क, एक्स 86)
- सिम्बियनओएस
- स्पार्क
- प्लेस्टेशन 4 (एक्स 86), प्लेस्टेशन 3 (पावरपीसी) और प्लेस्टेशन वीटा (एआरएम)
- यूनिक्स
- एक्सबॉक्स
- मामूली/ऐतिहासिक
- अमीगाओएस (एम68के), अमीगाओएस 4 (पावरपीसी), ARओएस (एक्स 86, पावरपीसी, एम68के), मॉर्फओएस (पावरपीसी)
- अटारी टीओएस, मिंट
- बीएसडी (कई प्लेटफ़ॉर्म, नेटबीएसडीनेट देखें,[clarification needed] उदाहरण के लिए)
- एक्स 86 पर डॉस-टाइप प्रणाली : एमएस-डीओएस, पीसी डीओएस, डीआर-डीओएस, फ्री डीओएस
- ओएस/2, ईकॉमस्टेशन
जावा
जावा भाषा को आमतौर पर वीएम पर चलने के लिए संकलित किया जाता है जो जावा प्लेटफ़ॉर्म का हिस्सा है। जावा वीएम (जेवीएम) सॉफ्टवेयर में लागू एक सीपीयू है, जो सभी जावा संकेतक चलाता है। यह समान संकेतक को जेवीएम को लागू करने वाले सभी प्रणाली पर चलने में सक्षम बनाता है। जावा सॉफ्टवेयर को हार्डवेयर आधारित जावा संसाधक द्वारा निष्पादित किया जा सकता है। इसका उपयोग ज्यादातर सन्निहित प्रणाली में किया जाता है।
जेवीएम में चल रहे जावा संकेतक की ओएस से संबंधित सेवाओं तक पहुंच है, जैसे डिस्क आई / ओ और जालक्रम अभिगम नियंत्रण, यदि उपयुक्त विशेषाधिकार दिए गए हैं। जेवीएम जावा अनुप्रयोग की ओर से प्रणाली कॉल करता है। यह उपयोगकर्ताओं को एसीएल के आधार पर उचित सुरक्षा स्तर तय करने देता है। उदाहरण के लिए, डिस्क और जालक्रम अभिगम नियंत्रण आमतौर पर डेस्कटॉप अनुप्रयोग के लिए सक्षम होता है, लेकिन ब्राउज़र-आधारित एप्लेट के लिए नहीं। जावा नेटिव अंतरापृष्ठ (जेएनआई) का उपयोग सुवाह्यता के नुकसान के साथ ओएस-विशिष्ट कार्यों तक पहुंचने के लिए भी किया जा सकता है।
वर्तमान में, जावा मानक संस्करण सॉफ्टवेयर माइक्रोसॉफ्ट विंडोज, मैकओएस, कई यूनिक्स जैसे ओएस, और सन्निहित उपकरणों के लिए कई समयोचित संचालन तंत्र पर चल सकता है। मोबाइल अनुप्रयोग के लिए, ब्राउज़र प्लग इन का उपयोग विंडोज और मैक आधारित उपकरणों के लिए किया जाता है, और एंड्रॉइड में जावा के लिए अंतर्निहित समर्थन है। जावा के उपसमुच्चय भी हैं, जैसे कि जावा कार्ड या जावा प्लेटफ़ॉर्म, माइक्रो संस्करण, जिसे संसाधन-विवश उपकरणों के लिए परिकलन किया गया है।
कार्यान्वयन
सॉफ़्टवेयर को क्रॉस- प्लेटफ़ॉर्म माना जाने के लिए, इसे एक से अधिक अभिकलित्र संरचना या ओएस पर कार्य करना चाहिए। ऐसे सॉफ़्टवेयर को विकसित करना एक समय लेने वाला कार्य हो सकता है क्योंकि अलग-अलग ओएस में अलग-अलग अनुप्रयोग कार्यरचना अंतरापृष्ठ (एपीआई) होते हैं। उदाहरण के लिए, लिनक्स विंडोज से भिन्न एपीआई का उपयोग करता है।
हो सकता है कि एक ओएस के लिए लिखा गया सॉफ़्टवेयर उन सभी संरचना पर स्वचालित रूप से काम न करे जो ओएस समर्थित करता है। एक उदाहरण ओपेनआफिस.ओआरजी (openoffice.orजी) है, जो 2006 में मूल रूप से एएमडी64 या इंटेल 64 संसाधक पर एक्स 86-64 मानकों को लागू करने पर नहीं चलता था, 2012 तक इसे "ज्यादातर" इन प्रणालियों में पोर्ट किया गया था।[8] सिर्फ इसलिए कि सॉफ्टवेयर एक लोकप्रिय कार्यरचना भाषा जैसे सी या सी ++ में लिखा गया है, इसका मतलब यह नहीं है कि यह उन सभी ओएस पर चलेगा जो उस भाषा का समर्थन करते हैं- या यहां तक कि एक ही ओएस के विभिन्न संस्करणों पर भी करते हैं।
वेब अनुप्रयोग
वेब अनुप्रयोगों को आम तौर पर क्रॉस- प्लेटफ़ॉर्म के रूप में वर्णित किया जाता है, क्योंकि आदर्श रूप से, वे किसी भी वेब ब्राउज़र से पहुंच योग्य होते हैं: ब्राउज़र प्लेटफ़ॉर्म है। वेब अनुप्रयोग आमतौर पर उपभोगता-सर्वर मॉडल का उपयोग करते हैं, लेकिन जटिलता और कार्यक्षमता में व्यापक रूप से भिन्न होते हैं। अनुकूलता की आवश्यकता के साथ सुविधाओं की इच्छा को समेटना कठिन हो सकता है।
बेसिक वेब अनुप्रयोग स्टेटलेस सर्वर से सभी या अधिकतर प्रसंस्करण करते हैं, और उपभोगता वेब ब्राउजर को परिणाम देते हैं। अनुप्रयोग के साथ सभी उपयोगकर्ता अन्योन्यक्रिया में आँकड़े अनुरोधों और सर्वर प्रतिक्रियाओं का सरल आदान-प्रदान होता है। वर्ल्ड वाइड वेब अनुप्रयोग विकास के शुरुआती चरणों में इस प्रकार का अनुप्रयोग आदर्श था। इस तरह के अनुप्रयोग एक साधारण लेनदेन मॉडल का पालन करते हैं, जो स्थिर वेब पेजों की सेवा के समान है। आज, वे अभी भी अपेक्षाकृत सामान्य हैं, खासकर जहां क्रॉस- प्लेटफ़ॉर्म संगतता और सादगी को उन्नत कार्यक्षमता की तुलना में अधिक महत्वपूर्ण माना जाता है।
उन्नत वेब अनुप्रयोगों के प्रमुख उदाहरणों में जीमेल का वेब अंतरापृष्ठ, ए9.कॉम, गूगल मैप्स वेबसाइट और माइक्रोसॉफ्ट की लाइव सर्च सर्विस (अब बिंग) शामिल हैं। ऐसे अनुप्रयोग नियमित रूप से केवल लोकप्रिय वेब ब्राउज़र के हाल के संस्करणों में पाई जाने वाली अतिरिक्त सुविधाओं पर निर्भर करते हैं। इन सुविधाओं में अजाक्स, जावास्क्रिप्ट, डायनेमिक एचटीएमएल, एसवीजी, और समृद्ध वेब अनुप्रयोगों के अन्य घटक शामिल हैं। पुराने संस्करणों में अक्सर इनकी कमी होती है।
परिकलन
संगतता और कार्यक्षमता के प्रतिस्पर्धी हितों के कारण, कई परिकलन रणनीतियाँ सामने आई हैं।
कई सॉफ्टवेयर प्रणाली एक स्तरित संरचना का उपयोग करते हैं जहां प्लेटफ़ॉर्म-निर्भर संकेतक ऊपरी और सबसे निचली परतों तक ही सीमित होता है।
गरिमापूर्ण निम्नीकरण
गरिमापूर्ण निम्नीकरण सभी उपयोगकर्ताओं और प्लेटफार्मों को समान या समान कार्यक्षमता प्रदान करने का प्रयास करता है, जबकि अधिक सीमित उपभोगता ब्राउज़रों के लिए उस कार्यक्षमता को कम से कम सामान्य भाजक तक कम करता है। उदाहरण के लिए, एक उपयोगकर्ता जो जीमेल तक पहुँचने के लिए सीमित-सुविधा वाले ब्राउज़र का उपयोग करने का प्रयास कर रहा है, वह देख सकता है कि जीमेल कम कार्यक्षमता के साथ बुनियादी नीति में स्विच हो गया है, लेकिन अभी भी उपयोग में है।
एकाधिक कोडबेस
कुछ सॉफ्टवेयर अलग-अलग (हार्डवेयर और ओएस) प्लेटफ़ॉर्म के लिए अलग-अलग कोडबेस में समान कार्यक्षमता के साथ बनाए रखा जाता है। इसके लिए संकेतक को बनाए रखने के लिए अधिक प्रयास की आवश्यकता होती है, लेकिन यह सार्थक हो सकता है जहां प्लेटफ़ॉर्म-विशिष्ट संकेतक की मात्रा अधिक हो।
ऐकल कोडबेस
यह रणनीति एक कोडबेस होने पर निर्भर करती है जिसे कई प्लेटफ़ॉर्म-विशिष्ट स्वरूपों में संकलित किया जा सकता है। एक तकनीक सशर्त संकलन है। इस तकनीक के साथ, सभी प्लेटफार्मों के लिए सामान्य संकेतक दोहराया नहीं जाता है। संकेतक के ब्लॉक जो केवल कुछ प्लेटफ़ॉर्म के लिए प्रासंगिक होते हैं, उन्हें सशर्त बनाया जाता है, ताकि जरूरत पड़ने पर ही उनकी व्याख्या या संकलन किया जा सके। एक अन्य तकनीक कार्यक्षमता का पृथक्करण है, जो ब्राउज़र या ओएस द्वारा समर्थित कार्यक्षमता को अक्षम करता है, जबकि उपयोगकर्ता को अभी भी एक पूर्ण अनुप्रयोग प्रदान करता है। (यह भी देखें: चिंताओं का पृथक्करण।) इस तकनीक का उपयोग वेब विकास में किया जाता है जहां व्याख्या किए गए संकेतक (जैसा कि लिपिन्यास भाषाओं में) अलग-अलग विभाग को सशर्त रूप से निष्पादित करने के लिए चल रहे प्लेटफ़ॉर्म को परिप्रश्न कर सकते हैं।[9]
तृतीय-पक्ष लाइब्रेरी
तृतीय-पक्ष लाइब्रेरी विक्रेता अभिबंधन की कीमत पर एकल, एकीकृत एपीआई के पीछे उपभोगता भेदभाव की जटिलताओं को छिपाकर क्रॉस- प्लेटफ़ॉर्म क्षमता को सरल बनाने का प्रयास करते हैं।
प्रतिक्रियात्मक वेब परिकलन
प्रतिक्रियात्मक वेब परिकलन (आरडब्ल्यूडी) एक वेब परिकलन दृष्टिकोण है, जिसका उद्देश्य साइटों के दृश्य अभिन्यास को तैयार करना है ताकि मोबाइल से उपकरणों की एक विस्तृत श्रृंखला में एक इष्टतम देखने का अनुभव प्रदान किया जा सके- कम से कम आकार बदलने, अभिनमन करने और वलनी करने के साथ आसान अध्ययन और दिशाज्ञान डेस्कटॉप अभिकलित्र मॉनीटर के लिए फोन। इस तकनीक के साथ बहुत कम या कोई प्लेटफ़ॉर्म-विशिष्ट संकेतक का उपयोग नहीं किया जाता है।
परिक्षण
क्रॉस- प्लेटफ़ॉर्मअनुप्रयोगों को अधिक एकीकरण परीक्षण की आवश्यकता होती है। कुछ वेब ब्राउज़र एक ही मशीन पर विभिन्न संस्करणों की स्थापना को प्रतिबंधित करते हैं। कई प्लेटफार्मों को लक्षित करने के लिए कई दृष्टिकोणों का उपयोग किया जाता है, लेकिन उन सभी का परिणाम सॉफ्टवेयर में होता है जिसके लिए परीक्षण और रखरखाव के लिए पर्याप्त मैन्युअल प्रयास की आवश्यकता होती है।[10] पूर्ण आभासीकरण जैसी तकनीकों को कभी-कभी इस समस्या के समाधान के रूप में उपयोग किया जाता है।
पेज ऑब्जेक्ट मॉडल जैसे टूल क्रॉस- प्लेटफ़ॉर्मपरीक्षणों को स्क्रिप्ट करने की अनुमति देते हैं ताकि एक टेस्ट केस में ऐप के कई संस्करण शामिल हों। यदि विभिन्न संस्करणों में समान उपयोगकर्ता इंटरफ़ेस हैं, तो सभी का परीक्षण एक परीक्षण मामले के साथ किया जा सकता है।
पारंपरिक अनुप्रयोग
वेब अनुप्रयोग तेजी से लोकप्रिय हो रहे हैं लेकिन कई अभिकलित्र उपयोगकर्ता अभी भी पारंपरिक अनुप्रयोग सॉफ़्टवेयर का उपयोग करते हैं जो उपभोगता/वेब-सर्वर संरचना पर निर्भर नहीं करता है। पारंपरिक और वेब अनुप्रयोगों के बीच का अंतर हमेशा स्पष्ट नहीं होता है। वेब और पारंपरिक अनुप्रयोगों के लिए सुविधाएँ, स्थापना विधियाँ और संरचना अंतर को ओवरलैप और धुंधला करते हैं। फिर भी, यह सरलीकरण भेद एक सामान्य और उपयोगी सामान्यीकरण है।
युग्मक सॉफ्टवेयर
पारंपरिक अनुप्रयोग सॉफ़्टवेयर को युग्मक फ़ाइलों, विशेष रूप से निष्पादन योग्य फ़ाइलों के रूप में वितरित किया गया है। निष्पादन योग्य केवल उस प्लेटफ़ॉर्मका समर्थन करते हैं जिसके लिए उन्हें बनाया गया था - जिसका अर्थ है कि एक एकल क्रॉस- प्लेटफ़ॉर्मनिष्पादन योग्य संकेतक के साथ बहुत फूला हुआ हो सकता है जो किसी विशेष प्लेटफ़ॉर्मपर कभी निष्पादित नहीं होता है। इसके बजाय, आम तौर पर निष्पादन योग्य का चयन होता है, प्रत्येक एक मंच के लिए बनाया जाता है।
सॉफ़्टवेयर के लिए जो युग्मक निष्पादन योग्य के रूप में वितरित किया जाता है, जैसे कि सी या सी ++ में लिखा गया है, प्रत्येक प्लेटफ़ॉर्मके लिए एक सॉफ़्टवेयर निर्माण होना चाहिए, एक टूल समुच्चय का उपयोग करके जो अनुवाद करता है-ट्रांसकंपाइल-एक एकलकोडबेस को कई युग्मक निष्पादन योग्य बनाता है। उदाहरण के लिए, फ़ायरफ़ॉक्स, एक मुक्त स्रोत वेब ब्राउज़र, विंडोज, मैकओएस (पॉवरपीसी और एक्स 86 दोनों के माध्यम से जिसे ऐप्पल इंक एक यूनिवर्सल युग्मक कहता है), लिनक्स और बीएसडी पर कई अभिकलित्र संरचना पर उपलब्ध है। चार प्लेटफ़ॉर्म (इस मामले में, विंडोज, मैकओएस, लिनक्स और बीएसडी) अलग निष्पादन योग्य वितरण हैं, हालांकि वे बड़े पैमाने पर एक ही स्रोत संकेतक से आते हैं। दुर्लभ मामलों में, कई प्लेटफार्मों के लिए बनाए गए निष्पादन योग्य संकेतक को एक एकल निष्पादन योग्य फ़ाइल में जोड़ा जाता है जिसे वसा युग्मक कहा जाता है।
विभिन्न प्लेटफ़ॉर्म के लिए कार्यशील निष्पादन योग्य बनाने के लिए विभिन्न टूल समुच्चय का उपयोग पर्याप्त नहीं हो सकता है। इस मामले में, प्रोग्रामर्स को सोर्स संकेतक को नए प्लेटफ़ॉर्म पर पोर्ट करना होगा। उदाहरण के लिए, फ़ायरफ़ॉक्स जैसे अनुप्रयोग, जो पहले से ही एक्स 86 परिवार पर विंडोज़ पर चलता है, को एक्स 86 (और संभावित रूप से अन्य संरचना) पर भी लिनक्स पर चलाने के लिए संशोधित और पुन: बनाया जा सकता है। संकेतक के कई संस्करणों को अलगकोडबेस के रूप में संग्रहीत किया जा सकता है, या एककोडबेस में विलय किया जा सकता है।
पोर्टिंग का एक विकल्प क्रॉस- प्लेटफ़ॉर्मआभासीकरण है, जहां एक प्लेटफ़ॉर्म के लिए संकलित अनुप्रयोग स्रोत संकेतक या बायनेरिज़ के संशोधन के बिना दूसरे पर चल सकते हैं। उदाहरण के तौर पर, ऐप्पल का रो समुच्चया, जो इंटेल-आधारित मैकिंटोश अभिकलित्रों में बनाया गया है, मैक की पिछली पीढ़ी के लिए संकलित अनुप्रयोगों को चलाता है जो पावरपीसी सीपीयू का इस्तेमाल करते थे। एक अन्य उदाहरणआईBM PowerVM Lएक्स 86 है, जो लिनक्स/एक्स 86 अनुप्रयोगों को लिनक्स/Power ओएस पर असंशोधित चलाने की अनुमति देता है।
क्रॉस- प्लेटफ़ॉर्म युग्मक सॉफ़्टवेयर का उदाहरण:
- लिब्रे ऑफिस ऑफिस सुइट माइक्रोसॉफ्ट विंडोज, मैकओएस, कई लिनक्स वितरण, फ्रीबीएसडी, नेटबीएसडी, ओपनबीएसडी, एंड्रॉइड, आईओएस, आईपैडओएस, क्रोम ओएस, वेब-आधारित कोलाबोरा ऑनलाइन और कई अन्य के लिए बनाया गया है।[11][12] इनमें से कई आई ए -32, एक्स 86-64, एआरएम (एआरएमel, एआरएमhf, एआरएम64), MIPS, MIPSel, पावरपीसी, ppc64el, और S390x सहित संसाधक संरचना के साथ कई हार्डवेयर प्लेटफ़ॉर्म पर समर्थित हैं।"Nextcloud Ubuntu Appliance adds Collabora Online to Raspberry Pi image". MuyLinux. 2021-03-26. Retrieved 2021-03-30.
the first viable self-hosted web office solution for the popular Raspberry Pi 4 platform
{{cite news}}
: CS1 maint: url-status (link)</ref>
लिपियों और व्याख्या की गई भाषाएं
स्क्रिप्ट को क्रॉस- प्लेटफ़ॉर्ममाना जा सकता है यदि उसका दुभाषिया कई प्लेटफार्मों पर उपलब्ध है और स्क्रिप्ट केवल भाषा में निर्मित सुविधाओं का उपयोग करती है। उदाहरण के लिए, यूनिक्स जैसी प्रणाली के लिए पायथन में लिखी गई एक स्क्रिप्ट संभवतः विंडोज़ पर बहुत कम या बिना किसी संशोधन के चलेगी, क्योंकि पायथन भी विंडोज़ पर चलता है, वास्तव में कई कार्यान्वयन हैं (उदाहरण के लिए .नेट प्राधारिक के लिए आयरनपीथन)। वही कई मुक्त स्रोत लिपिन्यास भाषाओं के लिए जाता है।
युग्मक निष्पादन योग्य फ़ाइलों के विपरीत, एक ही स्क्रिप्ट का उपयोग उन सभी अभिकलित्रों पर किया जा सकता है जिनके पास स्क्रिप्ट की व्याख्या करने के लिए सॉफ़्टवेयर है। ऐसा इसलिए है क्योंकि स्क्रिप्ट आम तौर पर एक टेक्स्ट फ़ाइल में सादे पाठ में संग्रहीत होती है। कुछ मामूली मुद्दे हो सकते हैं, जैसे कि एक नई लाइन कैरेक्टर का प्रतिनिधित्व।
कुछ लोकप्रिय क्रॉस- प्लेटफ़ॉर्म लिपिन्यास भाषाएँ हैं:
- बैश - एक यूनिक्स शेल आमतौर पर लिनक्स और अन्य आधुनिक यूनिक्स जैसी प्रणालियों के साथ-साथ विंडोज पर सिग्विन पॉज़िक्स संगतता परत के माध्यम से चलता है।
- पर्ल - पहली बार 1987 में जारी किया गया। सीजीआई कार्यरचना, छोटे प्रणाली प्रशासन कार्यों और बहुत कुछ के लिए उपयोग किया जाता है।
- PHP - ज्यादातर वेब अनुप्रयोगों के लिए उपयोग किया जाता है।
- पायथन - एक भाषा जो कार्यावधि दक्षता के बजाय तेजी से अनुप्रयोग विकास और लेखन में आसानी पर केंद्रित है।
- रूबी - एक वस्तु-उन्मुख भाषा जिसका उद्देश्य पढ़ने में आसान होना है। रूबी ऑन रेल्स के माध्यम से वेब पर भी इस्तेमाल किया जा सकता है।
- टीसीएल - एक गतिशील कार्यरचना भाषा, वेब और डेस्कटॉप अनुप्रयोगों, नेटवर्किंग, प्रशासन, परीक्षण और कई अन्य सहित उपयोगों की एक विस्तृत श्रृंखला के लिए उपयुक्त है।
वीडियो गेम
क्रॉस- प्लेटफ़ॉर्मया मल्टी- प्लेटफ़ॉर्मएक ऐसा शब्द है जो वीडियो गेम कंसोल की एक श्रृंखला पर जारी किए गए वीडियो गेम पर भी लागू हो सकता है। क्रॉस- प्लेटफ़ॉर्मगेम के उदाहरणों में शामिल हैं: माइनर 2049er, टॉम्ब रेडर: लीजेंड, फीफा (वीडियो गेम सीरीज़), एनएचएल सीरीज़ और माइनक्राफ्ट।
प्रत्येक को विभिन्न प्रकार के गेमिंग प्लेटफ़ॉर्म, जैसे कि Wii, PlayStation 3, Xbox 360, पर्सनल अभिकलित्र और मोबाइल उपकरण पर रिलीज़ किया गया है।
कुछ प्लेटफार्मों के लिए दूसरों की तुलना में लिखना कठिन होता है। इसे ऑफ समुच्चय करने के लिए, एक वीडियो गेम पहले कुछ प्लेटफार्मों पर जारी किया जा सकता है, फिर बाद में अन्य पर। आमतौर पर, यह तब होता है जब एक नया गेमिंग प्रणाली जारी किया जाता है, क्योंकि वीडियो गेम डेवलपर्स को इसके हार्डवेयर और सॉफ्टवेयर से खुद को परिचित करने की आवश्यकता होती है।
डेवलपर्स और वीडियो गेम कंसोल निर्माताओं के बीच लाइसेंसिंग समझौतों के कारण कुछ गेम क्रॉस- प्लेटफ़ॉर्मनहीं हो सकते हैं जो विकास को एक विशेष कंसोल तक सीमित करते हैं। उदाहरण के तौर पर, डिज्नी नवीनतम निन्टेंडो और सोनी गेम कंसोल पर रिलीज करने के इरादे से एक गेम बना सकता है। क्या डिज़्नी को पहले सोनी के साथ गेम का लाइसेंस देना चाहिए, इसके लिए गेम को केवल सोनी के कंसोल पर थोड़े समय के लिए कंसोल एक्सक्लूसिविटी के लिए रिलीज़ करने की आवश्यकता हो सकती है।
क्रॉस- प्लेटफ़ॉर्मप्ले
कई डेवलपर्स ने विभिन्न प्लेटफार्मों का उपयोग करते हुए ऑनलाइन गेम खेलने के तरीके लागू किए हैं। Psyonix, Epic जीames, माइक्रोसॉफ्ट, और Valveसीorporation सभी के पास ऐसी तकनीक है जो Xbox 360 और PlayStation 3 गेमर्स को पीसी गेमर्स के साथ खेलने की अनुमति देती है, जिससे उपभोक्ताओं को किस प्लेटफ़ॉर्म का उपयोग करना है। पीसी और कंसोल गेम के बीच इस स्तर की अन्तरक्रियाशीलता की अनुमति देने वाला पहला गेम क्वैक 3 था।[13] क्रॉस- प्लेटफ़ॉर्मऑनलाइन प्ले की सुविधा वाले गेम में रॉकेट लीग, फ़ाइनल फ़ैंटेसी XIV: ए रियलम रीबॉर्न, स्ट्रीट फाइटर वी, किलर इंस्टिंक्ट (2013 वीडियो गेम), पैरागॉन (वीडियो गेम) और फैबल फॉर्च्यून, और माइनक्राफ्ट शामिल हैं। 10, VR संस्करण, Minईसीraft - Pocket Eडीition और Xbox One।
कार्यरचना
क्रॉस- प्लेटफ़ॉर्म कार्यरचना एक से अधिक प्लेटफ़ॉर्मपर काम करने के लिए जानबूझकर सॉफ़्टवेयर लिखने का अभ्यास है।
दृष्टिकोण
क्रॉस- प्लेटफ़ॉर्मअनुप्रयोग लिखने के विभिन्न तरीके हैं। एक तरीका अलग-अलग स्रोत ट्री में एक ही सॉफ़्टवेयर के कई संस्करण बनाना है- दूसरे शब्दों में, किसी अनुप्रयोग के माइक्रोसॉफ्ट विंडोज संस्करण में स्रोत संकेतक फ़ाइलों का एक समुच्चय और एप्प्ल Macintओएसh संस्करण दूसरा हो सकता है, जबकि एक मुफ़्त और मुक्त स्रोत सॉफ़्टवेयर * निक्स प्रणाली में एक तिहाई हो सकता है। हालांकि यह सीधा है, केवल एक प्लेटफ़ॉर्म के लिए विकसित होने की तुलना में बड़ी टीम को भुगतान करने या उत्पादों को अधिक धीरे-धीरे जारी करने में अधिक खर्च हो सकता है। इसके परिणामस्वरूप और अधिक बग्स को ट्रैक किया जा सकता है और उन्हें ठीक किया जा सकता है।
एक अन्य तरीका सॉफ्टवेयर का उपयोग करना है जो प्लेटफार्मों के बीच के अंतर को छुपाता है। यह अमूर्त परत प्लेटफ़ॉर्म से अनुप्रयोग को इंसुलेट करती है। ऐसे अनुप्रयोग प्लेटफ़ॉर्म अज्ञेयवादी हैं। जेवीएम पर चलने वाले अनुप्रयोग इस तरह से बनाए जाते हैं।
कुछ अनुप्रयोग अंतिम अनुप्रयोग बनाने के लिए क्रॉस- प्लेटफ़ॉर्म कार्यरचना के विभिन्न तरीकों को मिलाते हैं। एक उदाहरण फ़ायरफ़ॉक्स वेब ब्राउज़र है, जो कुछ निचले स्तर के घटकों के निर्माण के लिए अमूर्तता का उपयोग करता है, प्लेटफ़ॉर्म-विशिष्ट सुविधाओं (जैसे जीयूआई) को लागू करने के लिए अलग स्रोत उपट्री के साथ, और सॉफ़्टवेयर सुवाह्यता को आसान बनाने के लिए एक से अधिक लिपिन्यास भाषा का कार्यान्वयन . फ़ायरफ़ॉक्स क्लासिक नेटस्केप-शैली ब्राउज़र प्लगइन्स के अलावा, ब्राउज़र को विस्तारित करने के लिए XUL, कैस्केडिंग स्टाइल शीट्स और जावास्क्रिप्ट को लागू करता है। अधिकांश ब्राउज़र स्वयं XUL,सीSS और जावास्क्रिप्ट में लिखा गया है।
टूलकिट और परिवेश
कई उपकरण हैं[14][15] क्रॉस- प्लेटफ़ॉर्म कार्यरचना की प्रक्रिया में सहायता के लिए उपलब्ध:
- 8 वीं (भाषा): एक विकास भाषा जो जूस को अपनी जीयूआई परत के रूप में उपयोग करती है। यह वर्तमान में एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स और रास्पबेरी पाई का समर्थन करता है।
- अनंत अभिकलन: एक मोबाइल अनुप्रयोग प्लेटफ़ॉर्म जो सभी भारतीय भाषाओं में काम करता है, जिसमें उनके कुंजीपटल भी शामिल हैं, और सभी ओएस में ऐप वॉलेट और मूल प्रदर्शन का भी समर्थन करता है।
- अप्पेअरआईक्यू: एक ढांचा जो उद्यम परिवेश में ऐप विकास और परिनियोजन के कार्य प्रगति का समर्थन करता है। मूल रूप से विकसित कंटेनर एक एपीआई से एचटीएमएल 5 संकेतक के माध्यम से मोबाइल उपकरणों या टैबलेट की हार्डवेयर सुविधाओं को प्रस्तुत करते हैं और इस प्रकार विभिन्न प्लेटफार्मों पर चलने वाले मोबाइल ऐप के विकास की सुविधा प्रदान करते हैं।
- बोडेन (सॉफ्टवेयर):सी++ में लिखा गया यूआई प्राधारिक।
- काहिरा (ग्राफिक्स): एक मुफ्त सॉफ्टवेयर लाइब्रेरी जिसका उपयोग सदिश आलेखिकी-आधारित, उपकरण-स्वतंत्र एपीआई प्रदान करने के लिए किया जाता है। यह कई अलग-अलग पश्च सिरा में 2-आयामी चित्रकारी के लिए आदिम प्रदान करने के लिए परिकलन किया गया है। काहिरा सी में लिखा गया है और कई कार्यरचना भाषाओं के लिए बाध्यकारी है।
- कोकोस 2डी: 2डी और सरल 3डी क्रॉस- प्लेटफ़ॉर्म गेम और अनुप्रयोग विकसित करने के लिए एक मुक्त स्रोत टूलकिट और गेम इंजन।
- संकेतकनेम वन: जावा और कोटलिन डेवलपर्स के लिए एक मुक्त स्रोत राइट वन्स रन एनीवेयर (डब्ल्यूओआरए) प्राधारिक।
- डेल्फी (कार्यरचना भाषा): एक आईडीई जो विकास के लिए पास्कल-आधारित भाषा का उपयोग करता है। यह एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स को सपोर्ट करता है।
- ईसेरे एसडीके: एक जीयूआई और 2डी/3डी ग्राफिक्स टूलकिट और आईडीई, जो ईसी ( कार्यरचना भाषा) में लिखा गया है और सी औरपायथन जैसी अतिरिक्त भाषाओं के समर्थन के साथ है। यह एम्सस्क्रिप्टेन या बाइनरीन (वेबअसेंबली) के माध्यम से लिनक्स, फ्रीबीएसडी, विंडोज, एंड्रॉयड, मैकओएसऔर वेब को सपोर्ट करता है।
- ग्रहण आईडीई: एक खुला स्रोत विकास परिवेश। जावा में एक विन्यास योग्य वास्तुकला के साथ लागू किया गया जो सॉफ्टवेयर विकास के लिए कई उपकरणों का समर्थन करता है। ऐड-ऑन जावा और सी++ सहित कई भाषाओं के लिए उपलब्ध हैं।
- एफएलटीके: एक मुक्त स्रोत टूलकिट, लेकिन अधिक हल्का क्योंकि यह खुद को जीयूआई तक सीमित रखता है।
- स्पंदन (सॉफ्टवेयर): गूगल द्वारा विकसित एंड्रॉयड और आईओएस के लिए एक क्रॉस- प्लेटफ़ॉर्म यूआई प्राधारिक।
- एफपीजीयूआई: एक मुक्त स्रोत विजेट टूलकिट जो पूरी तरह से ऑब्जेक्ट पास्कल में लागू किया गया है। यह वर्तमान में लिनक्स, विंडोज और कुछ विंडोज सीई का समर्थन करता है।
- जीनएक्सस: क्रॉस- प्लेटफ़ॉर्म अनुप्रयोग निर्माण और परिनियोजन के लिए एक विंडोज़ त्वरित सॉफ़्टवेयर विकास विलयन जो ज्ञान प्रतिनिधित्व और सी शार्प ( कार्यरचना भाषा) का समर्थन करता है | एंड्रॉइड और ब्लैकबेरी स्मार्ट उपकरण सहित सी #, कोबोल, जावा ( कार्यरचना भाषा), ऑब्जेक्टिव-सी के लिए एप्पल इंक. मोबाइल उपकरण, आईबीएम आरपीजी, रूबी ( कार्यरचना भाषा), विजुअल बेसिक और विजुअल फॉक्सप्रो।
- जीएलबेसिक: एक बेसिक बोली और संकलनकर्ता जोसी++ संकेतक जेनरेट करता है। इसमें कई प्लेटफार्मों के लिए क्रॉस संकलनकर्ता शामिल हैं और कई प्लेटफ़ॉर्म (विंडोज, मैक, लिनक्स, एंड्रॉइड, आईओएस और कुछ विदेशी हैंडहेल्ड) का समर्थन करते हैं।
- गोडोट (गेम इंजन): एक एसडीके जो गोडोट इंजन का उपयोग करता है।
- जीTK+: X11 और माइक्रोसॉफ्ट विंडोज के साथ यूनिक्स जैसी प्रणालियों के लिए एक मुक्त स्रोत विजेट टूलकिट।
- Haxe: एक मुक्त स्रोत भाषा।
- जूस:सी++ में लिखा गया एक अनुप्रयोग प्राधारिक, संकेतक में बिना किसी बदलाव के, कई प्रणाली ्स (माइक्रोसॉफ्ट विंडोज, PओएसIX, macओएस) पर नेटिव सॉफ्टवेयर लिखने के लिए इस्तेमाल किया जाता है।
- किवी (प्राधारिक): एक मुक्त स्रोत क्रॉस-प्लेटफ़ॉर्म यूआई प्राधारिक जो पायथन ( कार्यरचना भाषा) में लिखा गया है। यह एंड्रॉइड (संचालन तंत्र), आईओएस, लिनक्स, मैकओएस, माइक्रोसॉफ्ट विंडोज और रास्पबेरी पाई को सपोर्ट करता है।
- लीडटूल: विंडोज, आईओएस, मैकओएस, एंड्रॉइड, लिनक्स और वेब अनुप्रयोग में मान्यता, दस्तावेज़, चिकित्सा, इमेजिंग और मल्टीमीडिया तकनीकों को एकीकृत करने के लिए क्रॉस- प्लेटफ़ॉर्मएसडीके लाइब्रेरी।[16]
- Livईसीoडीe: हाइपरटॉक से प्रेरित एक व्यावसायिक क्रॉस- प्लेटफ़ॉर्म त्वरित अनुप्रयोग विकास भाषा।
- लाजर (आईडीई): फ्रीपास्कल संकलनकर्ता के लिए एक कार्यरचना परिवेश। यह स्व-स्थायी ग्राफिकल और कंसोल अनुप्रयोगों के निर्माण का समर्थन करता है और लिनक्स, MacओएसX,आईओएस, एंड्रॉयड, WinCE, विंडोज और WEB पर चलता है।
- मैक्स (सॉफ़्टवेयर)|मैक्स/एमएसपी: एक विज़ुअल कार्यरचना भाषा जो प्लेटफ़ॉर्म-स्वतंत्र संकेतक को प्लेटफ़ॉर्म-विशिष्ट रनटाइम परिवेश के साथ मैकओएसऔर विंडोज A क्रॉस- प्लेटफ़ॉर्मएंड्रॉयड रनटाइम के लिए अनुप्रयोगों में समाहित करती है। यह अनमॉडिफाइड एंड्रॉइड ऐप्स को आईओएस और मैकओएस पर मूल रूप से चलाने की अनुमति देता है
- मेंडिक्स: एक क्लाउड-आधारित लो-संकेतक अनुप्रयोग विकास प्लेटफ़ॉर्म।
- मोनोक्रॉस: एक मुक्त स्रोत मॉडल-व्यू-कंट्रोलर परिकलन पैटर्न जहां मॉडल और कंट्रोलर क्रॉस- प्लेटफ़ॉर्महैं लेकिन दृश्य प्लेटफ़ॉर्म-विशिष्ट है।[17]
- मोनो (सॉफ्टवेयर): माइक्रोसॉफ्ट .नेट का एक मुक्त स्रोत क्रॉस-प्लेटफ़ॉर्म संस्करण (अनुप्रयोग और कार्यरचना भाषाओं के लिए एक ढांचा)
- Mओएसync:सी++ परिवार में मोबाइल प्लेटफ़ॉर्मऐप विकास के लिए एक मुक्त स्रोत SडीK।
- मोज़िला अनुप्रयोग प्राधारिक: मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मुक्त स्रोत प्लेटफ़ॉर्म।
- एंड्रॉइड और आईओएस विकास के लिए एक क्रॉस-प्लेटफ़ॉर्म जावास्क्रिप्ट / टाइपस्क्रिप्ट प्राधारिक।
- ओपनजीएल: एक 3डी ग्राफिक्स लाइब्रेरी।
- पिक्सेल गेम मेकर एमवी: विंडोज़ और निन्टेंडो स्विच गेम विकसित करने के लिए विंडोज़ के लिए एक मालिकाना 2डी गेम विकास सॉफ्टवेयर।
- PureBasic: macओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मालिकाना भाषा और आईडीई।
- ReNative: रिएक्ट नेटिव के साथ मल्टी- प्लेटफ़ॉर्मप्रोजेक्ट बनाने के लिए यूनिवर्सल विकास SडीK. नवीनतमआईओएस, TVओएस, एंड्रॉयड, एंड्रॉयड TV, Web, Tizen TV, Tizen Watch, Lजी webओएस, macओएस/ओएसX, विंडोज, Kaiओएस, Firefox ओएस और Firefox TV प्लेटफ़ॉर्म शामिल हैं।
- क्यूटी (टूलकिट): यूनिक्स जैसी प्रणालियों के लिए एक्स11, माइक्रोसॉफ्ट विंडोज, मैकओएस और अन्य प्रणालियों के लिए एक एप्लीकेशन प्राधारिक और विजेट टूलकिट - मालिकाना और मुक्त स्रोत लाइसेंस दोनों के तहत उपलब्ध है।
- सरल और तेज़ मल्टीमीडिया लाइब्रेरी: एक मल्टीमीडियासी++ अनुप्रयोग कार्यरचना इंटरफ़ेस जो ग्राफिक्स, इनपुट, ऑडियो आदि के लिए निम्न और उच्च स्तर की पहुंच प्रदान करता है।
- सिंपल डायरेक्टमीडिया लेयर: सी में लिखी गई एक मुक्त स्रोत मल्टीमीडिया लाइब्रेरी जो विभिन्न प्लेटफ़ॉर्म के ग्राफिक्स, साउंड और इनपुट अनुप्रयोग कार्यरचना अंतरापृष्ठ पर एक एब्स्ट्रैक्शन बनाती है। यह लिनक्स, विंडोज और मैकओएस सहित ओएस पर चलता है और इसका उद्देश्य गेम और मल्टीमीडिया अनुप्रयोग है।
- स्मार्टफेस: जावास्क्रिप्ट संकेतक एडिटर के साथ WYSIWYजी परिकलन एडिटर का उपयोग करके एंड्रॉयड औरआईओएस के लिए मोबाइल अनुप्रयोग बनाने के लिए एक देशी ऐप विकास टूल।
- टीसीएल / टीके
- अल्टीमेट++: एक सी++ त्वरित अनुप्रयोग विकास प्राधारिक जो प्रोग्रामर की उत्पादकता पर केंद्रित है। इसमें लाइब्रेरीों का एक समुच्चय (जीयूआई, एसक्यूएल, आदि..), और एक एकीकृत विकास परिवेश शामिल है। यह विंडोज और यूनिक्स जैसे ओएस-एस को सपोर्ट करता है।
- यूनिटी (गेम इंजन): एक और क्रॉस-प्लेटफ़ॉर्म एसडीके जो यूनिटी इंजन का उपयोग करता है।
- यूनो प्लेटफ़ॉर्म: विंडोज, मैकओएस, आईओएस, एंड्रॉइड, वेबअसेंबली और लिनक्स सी # का उपयोग कर रहे हैं।
- अवास्तविक इंजन: एक क्रॉस- प्लेटफ़ॉर्मएसडीके जो अवास्तविक इंजन का उपयोग करता है।
- वी-प्ले इंजन: वी-प्ले लोकप्रिय क्यूटी ढांचे पर आधारित एक क्रॉस-प्लेटफ़ॉर्म विकास एसडीके है। V-Play ऐप्स और गेम Qt Creator के भीतर बनाए जाते हैं।
- वेवमेकर: उत्तरदायी वेब और हाइब्रिड मोबाइल (एंड्रॉइड और आईओएस) अनुप्रयोग बनाने के लिए एक कम-संकेतक विकास उपकरण।
- विनडेव: विंडोज, लिनक्स, नेट और जावा, और वेब ब्राउज़र के लिए एक एकीकृत विकास पर्यावरण। व्यापार और औद्योगिक अनुप्रयोगों के लिए अनुकूलित।
- wxwiडीजीets: एक मुक्त स्रोत विजेट टूलकिट जो एक एप्लीकेशन प्राधारिक भी है।[18] यह X11, माइक्रोसॉफ्ट विंडोज और मैकओएसके साथ यूनिक्स जैसे प्रणाली पर चलता है।
- Xojo: एक RAडी आईडीई जो डेस्कटॉप, वेब औरआईओएस ऐप बनाने के लिए ऑब्जेक्ट-ओरिएंटेड कार्यरचना भाषा का उपयोग करता है। Xojo macओएस, विंडोज, लिनक्स और रास्पबेरी पाई के लिए देशी, संकलित डेस्कटॉप ऐप बनाती है। यह संकलित वेब ऐप बनाता है जिसे स्टैंडअलोन सर्वर के रूप में यासीजीI के माध्यम से चलाया जा सकता है। और इसने हाल ही में देशीआईओएस ऐप बनाने की क्षमता जोड़ी है।
चुनौतियाँ
क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर विकसित करते समय कई चुनौतियाँ हैं।
- क्रॉस- प्लेटफ़ॉर्म अनुप्रयोगों का परीक्षण करना काफी अधिक जटिल हो सकता है, क्योंकि विभिन्न प्लेटफ़ॉर्म थोड़े भिन्न व्यवहार या सूक्ष्म बग प्रदर्शित कर सकते हैं। इस समस्या ने कुछ डेवलपर्स को क्रॉस- प्लेटफ़ॉर्म विकास को "एक बार लिखें, हर जगह डीबग करें", सन सूक्ष्म प्रणाली पर एक टेक "एक बार लिखें, कहीं भी चलाएं" विपणन नारा के रूप में उपहास करने के लिए प्रेरित किया है।
- डेवलपर्स अक्सर सुविधाओं के सबसे कम सामान्य भाजक का उपयोग करने के लिए प्रतिबंधित होते हैं जो सभी प्लेटफार्मों पर उपलब्ध होते हैं। यह अनुप्रयोग के प्रदर्शन में बाधा डाल सकता है या डेवलपर्स को प्रत्येक प्लेटफ़ॉर्म की सबसे उन्नत सुविधाओं का उपयोग करने से रोक सकता है।
- अलग-अलग प्लेटफ़ॉर्म में अक्सर अलग-अलग उपभोक्ता अंतरापृष्ठ अधिवेशन होते हैं, जो क्रॉस-प्लेटफ़ॉर्म अनुप्रयोग हमेशा समायोजित नहीं होते हैं। उदाहरण के लिए, मैकओएसऔर जीएनओएमई के लिए विकसित किए गए अनुप्रयोग को विंडो या डायलॉग के दाईं ओर सबसे महत्वपूर्ण बटन रखना चाहिए, जबकि माइक्रोसॉफ्ट विंडोज और केडीई में विपरीत परंपरा है। हालांकि इनमें से कई अंतर सूक्ष्म हैं, एक क्रॉस- प्लेटफ़ॉर्म अनुप्रयोग जो इन सम्मेलनों के अनुरूप नहीं है, उपयोगकर्ता के लिए भद्दा या विदेशी लग सकता है। तेजी से काम करते समय, इस तरह के विरोधी सम्मेलनों के परिणामस्वरूप आँकड़े हानि भी हो सकती है, जैसे एक संवाद बॉक्स में यह पुष्टि करना कि परिवर्तनों को सहेजना या त्यागना है या नहीं।
- लिपिन्यास भाषाओं और वीएम बाइटसंकेतक को हर बार उपयोग किए जाने पर मूल निष्पादन योग्य संकेतक में अनुवादित किया जाना चाहिए, एक प्रदर्शन जुर्माना लगाया जाता है। जस्ट-इन-टाइम संकलन जैसी तकनीकों का उपयोग करके इस दंड को कम किया जा सकता है, लेकिन कुछ संगणनात्मक ऊपरी अपरिहार्य हो सकते हैं।
- विभिन्न प्लेटफार्मों को मूल संपुष्टि प्रारूपों जैसे आरपीएम और एमएसआई के उपयोग की आवश्यकता होती है। मल्टी- प्लेटफ़ॉर्म संस्थापक जैसे कि इनस्टॉल एनीवेयर इस आवश्यकता को पूरा करता है।
- क्रॉस- प्लेटफ़ॉर्म निष्पादन परिवेशों को क्रॉस- प्लेटफ़ॉर्म सुरक्षा खामियों का सामना करना पड़ सकता है, जिससे क्रॉस- प्लेटफ़ॉर्म मैलवेयर के लिए एक उपजाऊ परिवेश बन सकता है।[19]
यह भी देखें
- क्रॉस- प्लेटफ़ॉर्म प्ले
- हार्डवेयर-अज्ञेयवादी
- सॉफ्टवेयर सुवाह्यता
- क्रॉस- प्लेटफ़ॉर्म प्ले का समर्थन करने वाले वीडियो गेम की सूची
- विजेट टूलकिट की सूची
- हार्डवेयर आभासीकरण
- जावा (सॉफ्टवेयर प्लेटफ़ॉर्म)
- भाषा बंधन
- ट्रांससंकलनकर्ता
- युग्मक-संकेतक संगतता
- ज़ामरीन
- मैसेजिंग प्लेटफ़ॉर्म की उपयोगकर्ता सुविधाओं की तुलना
- मोबाइल विकास ढांचे, जिनमें से कई क्रॉस-प्लेटफ़ॉर्म हैं।
संदर्भ
- ↑ "Design Guidelines: Glossary". java.sun.com. Retrieved 2011-10-19.
- ↑ "SDD Technology blog: Definition of cross platform". SDD Technology. Retrieved 2020-10-18.
- ↑ 3.0 3.1 "Platform Definition". The Linux Information Project. Retrieved 2014-03-27.
- ↑ "Cross Platform Mobile App Development". Groovy Web. Retrieved 2020-03-27.
- ↑ "About Mono". mono-project.com. Retrieved 2015-12-17.
- ↑ "Apple announces Mac transition to Apple silicon". Apple Newsroom (in English). Retrieved 2020-12-08.
- ↑ Porting to x86-64 (AMD64, EM64T) – Apache OpenOffice Wiki. Wiki.services.openoffice.org (2012-06-22). Retrieved on 2013-07-17.
- ↑ Corti, Sascha P. (October 2011). "Browser and Feature Detection". MSDN Magazine. Retrieved 28 January 2014.
- ↑ Choudhary, S.R. (2014). "Cross-platform testing and maintenance of web and mobile applications". Companion Proceedings of the 36th International Conference on Software Engineering - ICSE Companion 2014: 642–645. doi:10.1145/2591062.2591097. ISBN 9781450327688. S2CID 1903037.
- ↑ Mehrotra, Pranob (2020-12-01). "Collabora Office suite gets a new layout for Android tablets and Chromebooks". XDA-Developers. Retrieved 2021-01-15.
Collabora Office is a popular open-source alternative to the Microsoft Office suite. It's based on LibreOffice, and it's available on a variety of platforms, including Windows, Linux, iOS, and Android. This year in July, a major update for the office suite brought support for Chrome OS devices.
{{cite news}}
: CS1 maint: url-status (link) - ↑ "Collabora Office on iOS and Android Just got Better!". Adfinis. 2020-12-15. Retrieved 2021-01-15.
...touch optimized interfaces: one for tablets and one for phone screens. ...(iOS, iPadOS, Chromebooks, Android).
{{cite news}}
: CS1 maint: url-status (link) - ↑ Cribba. Quake III Arena, Giant Bombcast, February 15, 2013.
- ↑ The GUI Toolkit, Framework Page
- ↑ "Platform Independent FAQ". Archived from the original on 2008-08-16. Retrieved 2009-04-25.
- ↑ "Cross-Platform SDK Libraries for Recognition, Document, Medical, Imaging, and Multimedia". www.leadtools.com. Retrieved 2021-03-03.
- ↑ "12 benefits of Xamarin Cross-platform app development". HeadWorks. 15 Mar 2019.
- ↑ WxWidgets Description
- ↑ Warren, Tom (2020-01-14). "Microsoft bids farewell to Windows 7 and the millions of PCs that still run it". The Verge (in English). Retrieved 2020-02-06.
==