क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर

From Vigyanwiki

अभिकलन में, क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर (जिसे मल्टी- प्लेटफ़ॉर्म सॉफ़्टवेयर, प्लेटफ़ॉर्म-अज्ञेय सॉफ़्टवेयर या प्लेटफ़ॉर्म-स्वतंत्र सॉफ़्टवेयर भी कहा जाता है) अभिकलित्र सॉफ़्टवेयर (यंत्रेतर सामग्री) है जिसे कई अभिकलन प्लेटफ़ॉर्म में काम करने के लिए परिकलन किया गया है।[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 (और संभावित रूप से अन्य संरचना) पर भी लिनक्स पर चलाने के लिए संशोधित और पुन: बनाया जा सकता है। संकेतक के कई संस्करणों को अलगकोडबेस के रूप में संग्रहीत किया जा सकता है, या एककोडबेस में विलय किया जा सकता है।

पोर्टिंग का एक विकल्प क्रॉस- प्लेटफ़ॉर्म आभासीकरण है, जहां एक प्लेटफ़ॉर्म के लिए संकलित अनुप्रयोग स्रोत संकेतक या युग्मक के संशोधन के बिना दूसरे पर चल सकते हैं। उदाहरण के तौर पर, ऐप्पल का रो समुच्चया, जो इंटेल-आधारित मैकिंटोश अभिकलित्रों में बनाया गया है, मैक की पिछली पीढ़ी के लिए संकलित अनुप्रयोगों को चलाता है जो पावरपीसी सीपीयू का इस्तेमाल करते थे। एक अन्य उदाहरणआईबीएम पावरवीएम एलएक्स 86 है, जो लिनक्स/एक्स 86 अनुप्रयोगों को लिनक्स/पावर ओएस पर असंशोधित चलाने की अनुमति देता है।

क्रॉस- प्लेटफ़ॉर्म युग्मक सॉफ़्टवेयर का उदाहरण:

  • लिब्रे ऑफिस ऑफिस सुइट माइक्रोसॉफ्ट विंडोज, मैकओएस, कई लिनक्स वितरण, फ्रीबीएसडी, नेटबीएसडी, ओपनबीएसडी, एंड्रॉइड, आईओएस, आईपैडओएस, क्रोम ओएस, वेब-आधारित कोलाबोरा ऑनलाइन और कई अन्य के लिए बनाया गया है।[11][12] इनमें से कई प्रोसेसर आर्किटेक्चर सहित कई हार्डवेयर प्लेटफार्मों पर समर्थित हैं IA-32, x86-64, ARM (ARMel, ARMhf, ARM64), MIPS, MIPSel, PowerPC, ppc64le, and S390x[9][13]






आलेख और व्याख्या की गई भाषाएं

आलेख को क्रॉस- प्लेटफ़ॉर्म माना जा सकता है यदि उसका दुभाषिया कई प्लेटफार्मों पर उपलब्ध है और आलेख केवल भाषा में निर्मित सुविधाओं का उपयोग करती है। उदाहरण के लिए, यूनिक्स जैसी प्रणाली के लिए पायथन में लिखी गई एक आलेख संभवतः विंडोज़ पर बहुत कम या बिना किसी संशोधन के चलेगी, क्योंकि पायथन भी विंडोज़ पर चलता है, वास्तव में कई कार्यान्वयन हैं (उदाहरण के लिए .नेट प्राधारिक के लिए आयरनपीथन)। वही कई मुक्त स्रोत लिपिन्यास भाषाओं के लिए जाता है।

युग्मक निष्पादन योग्य साक्ष्यों के विपरीत, एक ही आलेख का उपयोग उन सभी अभिकलित्रों पर किया जा सकता है जिनके पास आलेख की व्याख्या करने के लिए सॉफ़्टवेयर है। ऐसा इसलिए है क्योंकि आलेख आम तौर पर प्रलेखी साक्ष्य में सादे पाठ में संग्रहीत होती है। कुछ मामूली मुद्दे हो सकते हैं, जैसे कि नई पंक्ति संप्रतीक का प्रतिनिधित्व।

कुछ लोकप्रिय क्रॉस- प्लेटफ़ॉर्म लिपिन्यास भाषाएँ हैं:

  • बैश - यूनिक्स शेल सामान्यतः लिनक्स और अन्य आधुनिक यूनिक्स जैसी प्रणालियों के साथ-साथ विंडोज पर सिग्विन पॉज़िक्स संगतता परत के माध्यम से चलता है।
  • पर्ल - पहली बार 1987 में जारी किया गया। सीजीआई कार्यरचना, छोटे प्रणाली प्रशासन कार्यों और बहुत कुछ के लिए उपयोग किया जाता है।
  • पीएचपी - ज्यादातर वेब अनुप्रयोगों के लिए उपयोग किया जाता है।
  • पायथन - एक भाषा जो कार्यावधि दक्षता के बजाय तेजी से अनुप्रयोग विकास और लेखन में आसानी पर केंद्रित है।
  • रूबी - वस्तु-उन्मुख भाषा जिसका उद्देश्य पढ़ने में आसान होना है। रूबी ऑन रेल्स के माध्यम से वेब पर भी इस्तेमाल किया जा सकता है।
  • टीसीएल - गतिशील कार्यरचना भाषा, वेब और डेस्कटॉप अनुप्रयोगों, नेटवर्किंग, प्रशासन, परीक्षण और कई अन्य सहित उपयोगों की एक विस्तृत श्रृंखला के लिए उपयुक्त है।

वीडियो गेम

क्रॉस- प्लेटफ़ॉर्म या मल्टी- प्लेटफ़ॉर्म एक ऐसा शब्द है जो वीडियो गेम कंसोल की एक श्रृंखला पर जारी किए गए वीडियो गेम पर भी लागू हो सकता है। क्रॉस- प्लेटफ़ॉर्म गेम के उदाहरणों में शामिल हैं: माइनर 2049ईआर, टॉम्ब रेडर: लीजेंड, फीफा (वीडियो गेम सीरीज़), एनएचएल सीरीज़ और माइनक्राफ्ट।

प्रत्येक को विभिन्न प्रकार के गेमिंग प्लेटफ़ॉर्म, जैसे कि वाईआई, प्लेस्टेशन 3, एक्सबॉक्स 360, वैयक्तिक अभिकलित्र और मोबाइल उपकरण पर स्रावित किया गया है।

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

डेवलपर्स और वीडियो गेम कंसोल निर्माताओं के बीच अनुज्ञापन समझौतों के कारण कुछ गेम क्रॉस- प्लेटफ़ॉर्म नहीं हो सकते हैं जो विकास को एक विशेष कंसोल तक सीमित करते हैं। उदाहरण के तौर पर, डिज्नी नवीनतम निन्टेंडो और सोनी गेम कंसोल पर अवमुक्त करने के इरादे से एक गेम बना सकता है। क्या डिज़्नी को पहले सोनी के साथ गेम का अनुज्ञापन देना चाहिए, हो सकता है कि गेम को केवल सोनी के कंसोल पर थोड़े समय के लिए या अनिश्चित काल के लिए अवमुक्त करने की आवश्यकता हो।

क्रॉस- प्लेटफ़ॉर्म प्ले

कई डेवलपर्स ने विभिन्न प्लेटफार्मों का उपयोग करते हुए ऑनलाइन गेम खेलने के तरीके लागू किए हैं। साइकोनिक्स, एपिक गेम्स, माइक्रोसॉफ्ट, और वाल्व सभी के पास ऐसी तकनीक है जो एक्सबॉक्स 360 और प्लेस्टेशन 3 गेमर्स को पीसी गेमर्स के साथ खेलने की अनुमति देती है, जिससे उपभोक्ताओं को किस प्लेटफॉर्म का उपयोग करना है। पीसी और कंसोल गेम के बीच इस स्तर की अन्तरक्रियाशीलता की अनुमति देने वाला पहला गेम क्वैक 3 था।[14]

क्रॉस-प्लेटफ़ॉर्म ऑनलाइन प्ले की सुविधा वाले खेलों में रॉकेट लीग, फ़ाइनल फ़ैंटेसी XIV, स्ट्रीट फाइटर V, किलर इंस्टिंक्ट, पैरागॉन और फ़ेबल फ़ॉर्च्यून, और माइनक्राफ्ट के साथ विंडोज 10, वी.आर. संस्करण, पॉकेट संस्करण और एक्सबॉक्स वन पर इसके बेहतर बराबर अद्यतनीकरण शामिल हैं।

कार्यरचना

क्रॉस- प्लेटफ़ॉर्म कार्यरचना एक से अधिक प्लेटफ़ॉर्म पर काम करने के लिए जानबूझकर सॉफ़्टवेयर लिखने का अभ्यास है।

दृष्टिकोण

क्रॉस- प्लेटफ़ॉर्मअनुप्रयोग लिखने के विभिन्न तरीके हैं। एक तरीका अलग-अलग स्रोत ट्री में एक ही सॉफ़्टवेयर के कई संस्करण बनाना है- दूसरे शब्दों में, किसी अनुप्रयोग के माइक्रोसॉफ्ट विंडोज संस्करण में स्रोत कोड फ़ाइलों का एक सेट और दूसरा मैकिंटोश संस्करण हो सकता है, जबकि एफओएसएस * निक्स प्रणाली में एक तिहाई हो सकता है। हालांकि यह सीधा है, केवल एक प्लेटफ़ॉर्म के लिए विकसित होने की तुलना में बड़ी समूह को भुगतान करने या उत्पादों को अधिक धीरे-धीरे जारी करने में अधिक खर्च हो सकता है। इसके परिणामस्वरूप और अधिक बग्स को ट्रैक किया जा सकता है और उन्हें ठीक किया जा सकता है।

एक अन्य तरीका सॉफ्टवेयर का उपयोग करना है जो प्लेटफार्मों के बीच के अंतर को छुपाता है। यह अमूर्त परत प्लेटफ़ॉर्म से अनुप्रयोग को रोधन करती है। ऐसे अनुप्रयोग प्लेटफ़ॉर्म अज्ञेयवादी हैं। जेवीएम पर चलने वाले अनुप्रयोग इस तरह से बनाए जाते हैं।

कुछ अनुप्रयोग अंतिम अनुप्रयोग बनाने के लिए क्रॉस- प्लेटफ़ॉर्म कार्यरचना के विभिन्न तरीकों को मिलाते हैं। एक उदाहरण फ़ायरफ़ॉक्स वेब ब्राउज़र है, जो कुछ निचले स्तर के घटकों के निर्माण के लिए अमूर्तता का उपयोग करता है, प्लेटफ़ॉर्म-विशिष्ट सुविधाओं (जैसे जीयूआई) को लागू करने के लिए अलग स्रोत उपट्री के साथ, और सॉफ़्टवेयर सुवाह्यता को आसान बनाने के लिए एक से अधिक लिपिन्यास भाषा का कार्यान्वयन . फ़ायरफ़ॉक्स क्लासिक नेटस्केप-शैली ब्राउज़र प्लगइन्स के अलावा, ब्राउज़र को विस्तारित करने के लिए एक्सयूएल, कैस्केडिंग स्टाइल शीट्स और जावा आलेख को लागू करता है। अधिकांश ब्राउज़र स्वयं एक्सयूएल,सीएसएस और जावा आलेख में लिखा गया है।

उपकरणकिट और परिवेश

कई उपकरण हैं[15][16] क्रॉस- प्लेटफ़ॉर्म कार्यरचना की प्रक्रिया में सहायता के लिए उपलब्ध:

  • 8 वीं (भाषा): एक विकास भाषा जो जूस को अपनी जीयूआई परत के रूप में उपयोग करती है। यह वर्तमान में एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स और रास्पबेरी पाई का समर्थन करता है।
  • अनंत अभिकलन: एक मोबाइल अनुप्रयोग प्लेटफ़ॉर्म जो सभी भारतीय भाषाओं में काम करता है, जिसमें उनके कुंजीपटल भी शामिल हैं, और सभी ओएस में ऐप वॉलेट और मूल प्रदर्शन का भी समर्थन करता है।
  • अप्पेअरआईक्यू: एक ढांचा जो उद्यम परिवेश में ऐप विकास और परिनियोजन के कार्य प्रगति का समर्थन करता है। मूल रूप से विकसित कंटेनर एक एपीआई से एचटीएमएल 5 संकेतक के माध्यम से मोबाइल उपकरणों या टैबलेट की हार्डवेयर सुविधाओं को प्रस्तुत करते हैं और इस प्रकार विभिन्न प्लेटफार्मों पर चलने वाले मोबाइल ऐप के विकास की सुविधा प्रदान करते हैं।
  • बोडेन (सॉफ्टवेयर):सी++ में लिखा गया यूआई प्राधारिक।
  • काहिरा (ग्राफिक्स): एक मुफ्त सॉफ्टवेयर लाइब्रेरी जिसका उपयोग सदिश आलेखिकी-आधारित, उपकरण-स्वतंत्र एपीआई प्रदान करने के लिए किया जाता है। यह कई अलग-अलग पश्‍च सिरा में 2-आयामी चित्रकारी के लिए आदिम प्रदान करने के लिए परिकलन किया गया है। काहिरा सी में लिखा गया है और कई कार्यरचना भाषाओं के लिए बाध्यकारी है।
  • कोकोस 2डी: 2डी और सरल 3डी क्रॉस- प्लेटफ़ॉर्म गेम और अनुप्रयोग विकसित करने के लिए एक मुक्त स्रोत उपकरणकिट और गेम इंजन।
  • संकेतकनेम वन: जावा और कोटलिन डेवलपर्स के लिए एक मुक्त स्रोत राइट वन्स रन एनीवेयर (डब्ल्यूओआरए) प्राधारिक।
  • डेल्फी (कार्यरचना भाषा): एक आईडीई जो विकास के लिए पास्कल-आधारित भाषा का उपयोग करता है। यह एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स को सपोर्ट करता है।
  • ईसेरे एसडीके: एक जीयूआई और 2डी/3डी ग्राफिक्स उपकरणकिट और आईडीई, जो ईसी ( कार्यरचना भाषा) में लिखा गया है और सी औरपायथन जैसी अतिरिक्त भाषाओं के समर्थन के साथ है। यह एम्स आलेखेन या बाइनरीन (वेबअसेंबली) के माध्यम से लिनक्स, फ्रीबीएसडी, विंडोज, एंड्रॉयड, मैकओएसऔर वेब को सपोर्ट करता है।
  • ग्रहण आईडीई: एक खुला स्रोत विकास परिवेश। जावा में एक विन्यास योग्य वास्तुकला के साथ लागू किया गया जो सॉफ्टवेयर विकास के लिए कई उपकरणों का समर्थन करता है। ऐड-ऑन जावा और सी++ सहित कई भाषाओं के लिए उपलब्ध हैं।
  • एफएलटीके: एक मुक्त स्रोत उपकरणकिट, लेकिन अधिक हल्का क्योंकि यह खुद को जीयूआई तक सीमित रखता है।
  • स्पंदन (सॉफ्टवेयर): गूगल द्वारा विकसित एंड्रॉयड और आईओएस के लिए एक क्रॉस- प्लेटफ़ॉर्म यूआई प्राधारिक।
  • एफपीजीयूआई: एक मुक्त स्रोत विजेट उपकरणकिट जो पूरी तरह से ऑब्जेक्ट पास्कल में लागू किया गया है। यह वर्तमान में लिनक्स, विंडोज और कुछ विंडोज सीई का समर्थन करता है।
  • जीनएक्सस: क्रॉस- प्लेटफ़ॉर्म अनुप्रयोग निर्माण और परिनियोजन के लिए एक विंडोज़ त्वरित सॉफ़्टवेयर विकास विलयन जो ज्ञान प्रतिनिधित्व और सी शार्प ( कार्यरचना भाषा) का समर्थन करता है | एंड्रॉइड और ब्लैकबेरी स्मार्ट उपकरण सहित सी #, कोबोल, जावा ( कार्यरचना भाषा), ऑब्जेक्टिव-सी के लिए एप्पल इंक. मोबाइल उपकरण, आईबीएम आरपीजी, रूबी ( कार्यरचना भाषा), विजुअल बेसिक और विजुअल फॉक्सप्रो।
  • जीएलबेसिक: एक बेसिक बोली और संकलनकर्ता जोसी++ संकेतक जेनरेट करता है। इसमें कई प्लेटफार्मों के लिए क्रॉस संकलनकर्ता शामिल हैं और कई प्लेटफ़ॉर्म (विंडोज, मैक, लिनक्स, एंड्रॉइड, आईओएस और कुछ विदेशी हैंडहेल्ड) का समर्थन करते हैं।
  • गोडोट (गेम इंजन): एक एसडीके जो गोडोट इंजन का उपयोग करता है।
  • जीटीके+: एक्स11 और माइक्रोसॉफ्ट विंडोज के साथ यूनिक्स जैसी प्रणालियों के लिए एक मुक्त स्रोत विजेट उपकरणकिट।
  • Haएक्सe: एक मुक्त स्रोत भाषा।
  • जूस:सी++ में लिखा गया एक अनुप्रयोग प्राधारिक, संकेतक में बिना किसी बदलाव के, कई प्रणाली (माइक्रोसॉफ्ट विंडोज, PओएसIएक्स,मैकओएस) पर नेटिव सॉफ्टवेयर लिखने के लिए इस्तेमाल किया जाता है।
  • किवी (प्राधारिक): एक मुक्त स्रोत क्रॉस-प्लेटफ़ॉर्म यूआई प्राधारिक जो पायथन ( कार्यरचना भाषा) में लिखा गया है। यह एंड्रॉइड (संचालन तंत्र), आईओएस, लिनक्स, मैकओएस, माइक्रोसॉफ्ट विंडोज और रास्पबेरी पाई को सपोर्ट करता है।
  • लीड उपकरण: विंडोज, आईओएस, मैकओएस, एंड्रॉइड, लिनक्स और वेब अनुप्रयोग में मान्यता, दस्तावेज़, चिकित्सा, इमेजिंग और मल् समूहीडिया तकनीकों को एकीकृत करने के लिए क्रॉस- प्लेटफ़ॉर्मएसडीके लाइब्रेरी।[17]
  • लाइवकोड: हाइपरटॉक से प्रेरित एक व्यावसायिक क्रॉस- प्लेटफ़ॉर्म त्वरित अनुप्रयोग विकास भाषा।
  • लाजर (आईडीई): फ्रीपास्कल संकलनकर्ता के लिए एक कार्यरचना परिवेश। यह स्व-स्थायी ग्राफिकल और कंसोल अनुप्रयोगों के निर्माण का समर्थन करता है और लिनक्स,मैकओएसएक्स,आईओएस, एंड्रॉयड, विनसी, विंडोज और वेब पर चलता है।
  • मैक्स (सॉफ़्टवेयर)|मैक्स/एमएसपी: एक आभासी कार्यरचना भाषा जो प्लेटफ़ॉर्म-स्वतंत्र संकेतक को प्लेटफ़ॉर्म-विशिष्ट कार्यावधि परिवेश के साथ मैकओएसऔर विंडोज एक्रॉस- प्लेटफ़ॉर्म एंड्रॉयड कार्यावधि के लिए अनुप्रयोगों में समाहित करती है। यह अपरिवर्तित एंड्रॉइड ऐप्स को आईओएस और मैकओएस पर मूल रूप से चलाने की अनुमति देता है
  • मेंडिक्स: क्लाउड-आधारित लो-संकेतक अनुप्रयोग विकास प्लेटफ़ॉर्म।
  • मोनोक्रॉस: मुक्त स्रोत मॉडल-व्यू-कंट्रोलर परिकलन प्रतिमान जहां मॉडल और कंट्रोलर क्रॉस- प्लेटफ़ॉर्म हैं लेकिन दृश्य प्लेटफ़ॉर्म-विशिष्ट है।[18]
  • मोनो (सॉफ्टवेयर): माइक्रोसॉफ्ट.नेट का मुक्त स्रोत क्रॉस-प्लेटफ़ॉर्म संस्करण (अनुप्रयोग और कार्यरचना भाषाओं के लिए एक ढांचा)
  • मौसिन्स:सी++ परिवार में मोबाइल प्लेटफ़ॉर्मऐप विकास के लिए एक मुक्त स्रोत एसडीके।
  • मोज़िला अनुप्रयोग प्राधारिक: मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मुक्त स्रोत प्लेटफ़ॉर्म।
  • एंड्रॉइड और आईओएस विकास के लिए एक क्रॉस-प्लेटफ़ॉर्म जावा आलेख / टाइप आलेख प्राधारिक।
  • ओपनजीएल: एक 3डी ग्राफिक्स लाइब्रेरी।
  • पिक्सेल गेम मेकर एमवी: विंडोज़ और निन्टेंडो स्विच गेम विकसित करने के लिए विंडोज़ के लिए एक मालिकाना 2डी गेम विकास सॉफ्टवेयर।
  • प्योरबेसिक:मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मालिकाना भाषा और आईडीई।
  • ReNative: रिएक्ट नेटिव के साथ मल्टी- प्लेटफ़ॉर्मप्रोजेक्ट बनाने के लिए सार्वभौमिक विकास एसडीके. नवीनतमआईओएस, टीवीओएस, एंड्रॉयड, एंड्रॉयड टीवी, वेब, टिज़ेनटीवी, टिज़ेनवाच, एलजी वेबओएस,मैकओएस/ओएसएक्स, विंडोज, केएआईओएस, फ़ायरफ़ॉक्स और फ़ायरफ़ॉक्स टीवी प्लेटफ़ॉर्म शामिल हैं।
  • क्यूटी (उपकरणकिट): यूनिक्स जैसी प्रणालियों के लिए एक्स11, माइक्रोसॉफ्ट विंडोज, मैकओएस और अन्य प्रणालियों के लिए एक अनुप्रयोग प्राधारिक और विजेट उपकरण किट - मालिकाना और मुक्त स्रोत अनुज्ञापन दोनों के तहत उपलब्ध है।
  • सरल और तेज़ मल् समूहीडिया लाइब्रेरी: एक मल् समूहीडियासी++ अनुप्रयोग कार्यरचना इंटरफ़ेस जो ग्राफिक्स, इनपुट, ऑडियो आदि के लिए निम्न और उच्च स्तर की पहुंच प्रदान करता है।
  • सिंपल डायरेक्टमीडिया लेयर: सी में लिखी गई एक मुक्त स्रोत मल् समूहीडिया लाइब्रेरी जो विभिन्न प्लेटफ़ॉर्म के ग्राफिक्स, साउंड और इनपुट अनुप्रयोग कार्यरचना अंतरापृष्ठ पर एक एब्स्ट्रैक्शन बनाती है। यह लिनक्स, विंडोज और मैकओएस सहित ओएस पर चलता है और इसका उद्देश्य गेम और मल् समूहीडिया अनुप्रयोग है।
  • स्मार्टफेस: जावा आलेख संकेतक संपादक के साथ डब्ल्यूवाईएसआईडब्ल्यूवाईजी परिकलन संपादक का उपयोग करके एंड्रॉयड औरआईओएस के लिए मोबाइल अनुप्रयोग बनाने के लिए एक देशी ऐप विकास उपकरण।
  • टीसीएल / टीके
  • अल् समूहेट++: एक सी++ त्वरित अनुप्रयोग विकास प्राधारिक जो प्रोग्रामर की उत्पादकता पर केंद्रित है। इसमें लाइब्रेरीों का एक समुच्चय (जीयूआई, एसक्यूएल, आदि..), और एक एकीकृत विकास परिवेश शामिल है। यह विंडोज और यूनिक्स जैसे ओएस-एस को सपोर्ट करता है।
  • यूनिटी (गेम इंजन): एक और क्रॉस-प्लेटफ़ॉर्म एसडीके जो यूनिटी इंजन का उपयोग करता है।
  • यूनो प्लेटफ़ॉर्म: विंडोज, मैकओएस, आईओएस, एंड्रॉइड, वेबअसेंबली और लिनक्स सी # का उपयोग कर रहे हैं।
  • अवास्तविक इंजन: एक क्रॉस- प्लेटफ़ॉर्मएसडीके जो अवास्तविक इंजन का उपयोग करता है।
  • वी-प्ले इंजन: वी-प्ले लोकप्रिय क्यूटी ढांचे पर आधारित एक क्रॉस-प्लेटफ़ॉर्म विकास एसडीके है। वी प्ले ऐप्स और गेम क्यूटी क्रिएटर के भीतर बनाए जाते हैं।
  • वेवमेकर: उत्तरदायी वेब और हाइब्रिड मोबाइल (एंड्रॉइड और आईओएस) अनुप्रयोग बनाने के लिए एक कम-संकेतक विकास उपकरण।
  • विनडेव: विंडोज, लिनक्स, नेट और जावा, और वेब ब्राउज़र के लिए एक एकीकृत विकास पर्यावरण। व्यापार और औद्योगिक अनुप्रयोगों के लिए अनुकूलित।
  • डब्ल्यूएक्सविजेट्स: एक मुक्त स्रोत विजेट उपकरणकिट जो एक अनुप्रयोग प्राधारिक भी है।[19] यह एक्स11, माइक्रोसॉफ्ट विंडोज और मैकओएसके साथ यूनिक्स जैसे प्रणाली पर चलता है।
  • एक्सojo: एकआर एडी आईडीई जो डेस्कटॉप, वेब औरआईओएस ऐप बनाने के लिए लक्ष्योन्मुखी कार्यरचना भाषा का उपयोग करता है। एक्सोजो मैकओएस, विंडोज, लिनक्स और रास्पबेरी पाई के लिए देशी, संकलित डेस्कटॉप ऐप बनाती है। यह संकलित वेब ऐप बनाता है जिसे स्टैंडअलोन सर्वर के रूप में यासीजीI के माध्यम से चलाया जा सकता है। और इसने हाल ही में देशीआईओएस ऐप बनाने की क्षमता जोड़ी है।

चुनौतियाँ

क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर विकसित करते समय कई चुनौतियाँ हैं।

  • क्रॉस- प्लेटफ़ॉर्म अनुप्रयोगों का परीक्षण करना काफी अधिक जटिल हो सकता है, क्योंकि विभिन्न प्लेटफ़ॉर्म थोड़े भिन्न व्यवहार या सूक्ष्म बग प्रदर्शित कर सकते हैं। इस समस्या ने कुछ डेवलपर्स को क्रॉस- प्लेटफ़ॉर्म विकास को "एक बार लिखें, हर जगह डीबग करें", सन सूक्ष्म प्रणाली पर एक टेक "एक बार लिखें, कहीं भी चलाएं" विपणन नारा के रूप में उपहास करने के लिए प्रेरित किया है।
  • डेवलपर्स अक्सर सुविधाओं के सबसे कम सामान्य भाजक का उपयोग करने के लिए प्रतिबंधित होते हैं जो सभी प्लेटफार्मों पर उपलब्ध होते हैं। यह अनुप्रयोग के प्रदर्शन में बाधा डाल सकता है या डेवलपर्स को प्रत्येक प्लेटफ़ॉर्म की सबसे उन्नत सुविधाओं का उपयोग करने से रोक सकता है।
  • अलग-अलग प्लेटफ़ॉर्म में अक्सर अलग-अलग उपभोक्ता अंतरापृष्ठ अधिवेशन होते हैं, जो क्रॉस-प्लेटफ़ॉर्म अनुप्रयोग हमेशा समायोजित नहीं होते हैं। उदाहरण के लिए, मैकओएसऔर जीएनओएमई के ​​लिए विकसित किए गए अनुप्रयोग को विंडो या डायलॉग के दाईं ओर सबसे महत्वपूर्ण बटन रखना चाहिए, जबकि माइक्रोसॉफ्ट विंडोज और केडीई में विपरीत परंपरा है। हालांकि इनमें से कई अंतर सूक्ष्म हैं, एक क्रॉस- प्लेटफ़ॉर्म अनुप्रयोग जो इन सम्मेलनों के अनुरूप नहीं है, उपयोगकर्ता के लिए भद्दा या विदेशी लग सकता है। तेजी से काम करते समय, इस तरह के विरोधी सम्मेलनों के परिणामस्वरूप आँकड़े हानि भी हो सकती है, जैसे एक संवाद बॉक्स में यह पुष्टि करना कि परिवर्तनों को सहेजना या त्यागना है या नहीं।
  • लिपिन्यास भाषाओं और वीएम बाइटसंकेतक को हर बार उपयोग किए जाने पर मूल निष्पादन योग्य संकेतक में अनुवादित किया जाना चाहिए, एक प्रदर्शन जुर्माना लगाया जाता है। जस्ट-इन-टाइम संकलन जैसी तकनीकों का उपयोग करके इस दंड को कम किया जा सकता है, लेकिन कुछ संगणनात्मक ऊपरी अपरिहार्य हो सकते हैं।
  • विभिन्न प्लेटफार्मों को मूल संपुष्टि प्रारूपों जैसे आरपीएम और एमएसआई के उपयोग की आवश्यकता होती है। मल्टी- प्लेटफ़ॉर्म संस्थापक जैसे कि इनस्टॉल एनीवेयर इस आवश्यकता को पूरा करता है।
  • क्रॉस- प्लेटफ़ॉर्म निष्पादन परिवेशों को क्रॉस- प्लेटफ़ॉर्म सुरक्षा खामियों का सामना करना पड़ सकता है, जिससे क्रॉस- प्लेटफ़ॉर्म मैलवेयर के लिए एक उपजाऊ परिवेश बन सकता है।[20]

यह भी देखें

  • क्रॉस- प्लेटफ़ॉर्म प्ले
  • हार्डवेयर-अज्ञेयवादी
  • सॉफ्टवेयर सुवाह्यता
  • क्रॉस- प्लेटफ़ॉर्म प्ले का समर्थन करने वाले वीडियो गेम की सूची
  • विजेट उपकरणकिट की सूची
  • हार्डवेयर आभासीकरण
  • जावा (सॉफ्टवेयर प्लेटफ़ॉर्म)
  • भाषा बंधन
  • ट्रांसकंपाइलर
  • युग्मक-संकेतक संगतता
  • ज़ामरीन
  • संदेश प्रेषण प्लेटफ़ॉर्म की उपयोगकर्ता सुविधाओं की तुलना
  • मोबाइल विकास ढांचे, जिनमें से कई क्रॉस-प्लेटफ़ॉर्म हैं।

संदर्भ

  1. "Design Guidelines: Glossary". java.sun.com. Retrieved 2011-10-19.
  2. "SDD Technology blog: Definition of cross platform". SDD Technology. Retrieved 2020-10-18.
  3. 3.0 3.1 "Platform Definition". The Linux Information Project. Retrieved 2014-03-27.
  4. "Cross Platform Mobile App Development". Groovy Web. Retrieved 2020-03-27.
  5. On the Net Marketshare website, which has around 89% market share as of March 2011
  6. "About Mono". mono-project.com. Retrieved 2015-12-17.
  7. "Apple announces Mac transition to Apple silicon". Apple Newsroom (in English). Retrieved 2020-12-08.
  8. Porting to x86-64 (AMD64, EM64T) – Apache OpenOffice Wiki. Wiki.services.openoffice.org (2012-06-22). Retrieved on 2013-07-17.
  9. Corti, Sascha P. (October 2011). "Browser and Feature Detection". MSDN Magazine. Retrieved 28 January 2014.
  10. 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.
  11. 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)
  12. "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)
  13. "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)
  14. Cribba. Quake III Arena, Giant Bombcast, February 15, 2013.
  15. The GUI Toolkit, Framework Page
  16. "Platform Independent FAQ". Archived from the original on 2008-08-16. Retrieved 2009-04-25.
  17. "Cross-Platform SDK Libraries for Recognition, Document, Medical, Imaging, and Multimedia". www.leadtools.com. Retrieved 2021-03-03.
  18. "12 benefits of Xamarin Cross-platform app development". HeadWorks. 15 Mar 2019.
  19. WxWidgets Description
  20. 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.




==