क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर
अभिकलन में, क्रॉस- पटल सॉफ़्टवेयर (जिसे मल्टी- पटल सॉफ़्टवेयर, पटल-अज्ञेय सॉफ़्टवेयर या पटल-स्वतंत्र सॉफ़्टवेयर भी कहा जाता है) अभिकलित्र सॉफ़्टवेयर (यंत्रेतर सामग्री) है जिसे कई अभिकलन पटल में काम करने के लिए परिकलन किया गया है।[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, ईकॉमस्टेशन
जावा
जावा भाषा को आमतौर पर वीएम पर चलने के लिए संकलित किया जाता है जो जावा पटल का हिस्सा है। जावा वीएम (जेवीएम) सॉफ्टवेयर में लागू एक सीपीयू है, जो सभी जावा संकेतक चलाता है। यह समान संकेतक को जेवीएम को लागू करने वाले सभी प्रणाली पर चलने में सक्षम बनाता है। जावा सॉफ्टवेयर को हार्डवेयर आधारित जावा संसाधक द्वारा निष्पादित किया जा सकता है। इसका उपयोग ज्यादातर सन्निहित प्रणाली में किया जाता है।
जेवीएम में चल रहे जावा संकेतक की ओएस से संबंधित सेवाओं तक पहुंच है, जैसे डिस्क I/O और नेटवर्क एक्सेस, यदि उपयुक्त विशेषाधिकार दिए गए हैं। जेवीएम जावा अनुप्रयोग की ओर से प्रणाली कॉल करता है। यह उपयोगकर्ताओं को एसीएल के आधार पर उचित सुरक्षा स्तर तय करने देता है। उदाहरण के लिए, डिस्क और नेटवर्क एक्सेस आमतौर पर डेस्कटॉप अनुप्रयोग के लिए सक्षम होता है, लेकिन ब्राउज़र-आधारित एप्लेट के लिए नहीं। जावा नेटिव इंटरफेस (जेएनआई) का उपयोग पोर्टेबिलिटी के नुकसान के साथ ओएस-विशिष्ट कार्यों तक पहुंचने के लिए भी किया जा सकता है।
वर्तमान में, जावा मानक संस्करण सॉफ्टवेयर माइक्रोसॉफ्ट विंडोज, मैकओएस, कई यूनिक्स जैसे ओएस, और सन्निहित उपकरणों के लिए कई रीयल-टाइम संचालन तंत्र पर चल सकता है। मोबाइल अनुप्रयोग के लिए, ब्राउज़र प्लग इन का उपयोग विंडोज और मैक आधारित उपकरणों के लिए किया जाता है, और एंड्रॉइड में जावा के लिए अंतर्निहित समर्थन है। जावा के उपसमुच्चय भी हैं, जैसे कि जावा कार्ड या जावा पटल, माइक्रो संस्करण, जिसे संसाधन-विवश उपकरणों के लिए परिकलन किया गया है।
कार्यान्वयन
सॉफ़्टवेयर को क्रॉस- पटलमाना जाने के लिए, इसे एक से अधिक अभिकलित्र संरचना या ओएस पर कार्य करना चाहिए। ऐसे सॉफ़्टवेयर को विकसित करना एक समय लेने वाला कार्य हो सकता है क्योंकि अलग-अलग ओएस में अलग-अलग अनुप्रयोग कार्यरचना इंटरफेस (API) होते हैं। उदाहरण के लिए, लिनक्स Windows से भिन्न API का उपयोग करता है।
हो सकता है कि एक ओएस के लिए लिखा गया सॉफ़्टवेयर उन सभी संरचना पर स्वचालित रूप से काम न करे जो ओएस समर्थित करता है। एक उदाहरण OpenOffice.org है, जो 2006 में मूल रूप से AMD64 या Intel 64 संसाधक पर एक्स 86-64 मानकों को लागू करने पर नहीं चलता था, 2012 तक इसे "ज्यादातर" इन प्रणालियों में पोर्ट किया गया था।[8] सिर्फ इसलिए कि सॉफ्टवेयर एक लोकप्रिय कार्यरचना भाषा जैसे सी या सी ++ में लिखा गया है, इसका मतलब यह नहीं है कि यह उन सभी ओएस पर चलेगा जो उस भाषा का समर्थन करते हैं- या यहां तक कि एक ही ओएस के विभिन्न संस्करणों पर भी।
वेब अनुप्रयोग
वेब अनुप्रयोगों को आम तौर पर क्रॉस- पटलके रूप में वर्णित किया जाता है, क्योंकि आदर्श रूप से, वे किसी भी वेब ब्राउज़र से पहुंच योग्य होते हैं: ब्राउज़र पटलहै। वेब अनुप्रयोग आमतौर पर क्लाइंट-सर्वर मॉडल का उपयोग करते हैं, लेकिन जटिलता और कार्यक्षमता में व्यापक रूप से भिन्न होते हैं। अनुकूलता की आवश्यकता के साथ सुविधाओं की इच्छा को समेटना कठिन हो सकता है।
बेसिक वेब अनुप्रयोग स्टेटलेस सर्वर से सभी या अधिकतर प्रोसेसिंग करते हैं, और क्लाइंट वेब ब्राउजर को परिणाम देते हैं। अनुप्रयोग के साथ सभी उपयोगकर्ता इंटरैक्शन में डेटा अनुरोधों और सर्वर प्रतिक्रियाओं का सरल आदान-प्रदान होता है। वर्ल्ड वाइड वेब अनुप्रयोग डेवलपमेंट के शुरुआती चरणों में इस प्रकार का अनुप्रयोग आदर्श था। इस तरह के अनुप्रयोग एक साधारण लेनदेन मॉडल का पालन करते हैं, जो स्थिर वेब पेजों की सेवा के समान है। आज, वे अभी भी अपेक्षाकृत सामान्य हैं, खासकर जहां क्रॉस- पटलसंगतता और सादगी को उन्नत कार्यक्षमता की तुलना में अधिक महत्वपूर्ण माना जाता है।
उन्नत वेब अनुप्रयोगों के प्रमुख उदाहरणों में जीमेल का वेब इंटरफेस, ए9.कॉम, गूगल मैप्स वेबसाइट और माइक्रोसॉफ्ट की लाइव सर्च सर्विस (अब बिंग) शामिल हैं। ऐसे अनुप्रयोग नियमित रूप से केवल लोकप्रिय वेब ब्राउज़र के हाल के संस्करणों में पाई जाने वाली अतिरिक्त सुविधाओं पर निर्भर करते हैं। इन सुविधाओं में अजाक्स, जावास्क्रिप्ट, डायनेमिक एचटीएमएल, एसवीजी, और समृद्ध वेब अनुप्रयोगों के अन्य घटक शामिल हैं। पुराने संस्करणों में अक्सर इनकी कमी होती है।
परिकलन
संगतता और कार्यक्षमता के प्रतिस्पर्धी हितों के कारण, कई परिकलन रणनीतियाँ सामने आई हैं।
कई सॉफ्टवेयर प्रणाली एक स्तरित संरचना का उपयोग करते हैं जहां पटल-निर्भर संकेतक ऊपरी और सबसे निचली परतों तक ही सीमित होता है।
ससम्मान पद अवनति
ग्रेसफुल डिग्रेडेशन सभी उपयोगकर्ताओं और प्लेटफार्मों को समान या समान कार्यक्षमता प्रदान करने का प्रयास करता है, जबकि अधिक सीमित क्लाइंट ब्राउज़रों के लिए उस कार्यक्षमता को कम से कम सामान्य भाजक तक कम करता है। उदाहरण के लिए, एक उपयोगकर्ता जो जीमेल तक पहुँचने के लिए सीमित-सुविधा वाले ब्राउज़र का उपयोग करने का प्रयास कर रहा है, वह देख सकता है कि जीमेल कम कार्यक्षमता के साथ बुनियादी मोड में स्विच हो गया है, लेकिन अभी भी उपयोग में है।
एकाधिक संकेतकबेस
कुछ सॉफ्टवेयर अलग-अलग (हार्डवेयर और ओएस) पटल के लिए अलग-अलग संकेतकबेस में समान कार्यक्षमता के साथ बनाए रखा जाता है। इसके लिए संकेतक को बनाए रखने के लिए अधिक प्रयास की आवश्यकता होती है, लेकिन यह सार्थक हो सकता है जहां पटल-विशिष्ट संकेतक की मात्रा अधिक हो।
सिंगल संकेतकबेस
यह रणनीति एक संकेतकबेस होने पर निर्भर करती है जिसे कई पटल-विशिष्ट स्वरूपों में संकलित किया जा सकता है। एक तकनीक सशर्त संकलन है। इस तकनीक के साथ, सभी प्लेटफार्मों के लिए सामान्य संकेतक दोहराया नहीं जाता है। संकेतक के ब्लॉक जो केवल कुछ पटल के लिए प्रासंगिक होते हैं, उन्हें सशर्त बनाया जाता है, ताकि जरूरत पड़ने पर ही उनकी व्याख्या या संकलन किया जा सके। एक अन्य तकनीक कार्यक्षमता का पृथक्करण है, जो ब्राउज़र या ओएस द्वारा समर्थित कार्यक्षमता को अक्षम करता है, जबकि उपयोगकर्ता को अभी भी एक पूर्ण अनुप्रयोग प्रदान करता है। (यह भी देखें: चिंताओं का पृथक्करण।) इस तकनीक का उपयोग वेब विकास में किया जाता है जहां व्याख्या किए गए संकेतक (जैसा कि स्क्रिप्टिंग भाषाओं में) अलग-अलग ब्लॉकों को सशर्त रूप से निष्पादित करने के लिए चल रहे पटल को क्वेरी कर सकते हैं।[9]
तृतीय-पक्ष पुस्तकालय
तृतीय-पक्ष पुस्तकालय विक्रेता लॉक-इन की कीमत पर एकल, एकीकृत एपीआई के पीछे क्लाइंट भेदभाव की जटिलताओं को छिपाकर क्रॉस- पटलक्षमता को सरल बनाने का प्रयास करते हैं।
प्रतिक्रियात्मक वेब परिकलन
रिस्पॉन्सिव वेब परिकलन (आरडब्ल्यूडी) एक वेब परिकलन दृष्टिकोण है, जिसका उद्देश्य साइटों के दृश्य लेआउट को तैयार करना है ताकि मोबाइल से उपकरणों की एक विस्तृत श्रृंखला में एक इष्टतम देखने का अनुभव प्रदान किया जा सके- कम से कम आकार बदलने, पैन करने और स्क्रॉल करने के साथ आसान रीडिंग और नेविगेशन। डेस्कटॉप अभिकलित्र मॉनीटर के लिए फोन। इस तकनीक के साथ बहुत कम या कोई पटल-विशिष्ट संकेतक का उपयोग नहीं किया जाता है।
परिक्षण
क्रॉस- पटलअनुप्रयोगों को अधिक एकीकरण परीक्षण की आवश्यकता होती है। कुछ वेब ब्राउज़र एक ही मशीन पर विभिन्न संस्करणों की स्थापना को प्रतिबंधित करते हैं। कई प्लेटफार्मों को लक्षित करने के लिए कई दृष्टिकोणों का उपयोग किया जाता है, लेकिन उन सभी का परिणाम सॉफ्टवेयर में होता है जिसके लिए परीक्षण और रखरखाव के लिए पर्याप्त मैन्युअल प्रयास की आवश्यकता होती है।[10] पूर्ण वर्चुअलाइजेशन जैसी तकनीकों को कभी-कभी इस समस्या के समाधान के रूप में उपयोग किया जाता है।
पेज ऑब्जेक्ट मॉडल जैसे टूल क्रॉस- पटलपरीक्षणों को स्क्रिप्ट करने की अनुमति देते हैं ताकि एक टेस्ट केस में ऐप के कई संस्करण शामिल हों। यदि विभिन्न संस्करणों में समान उपयोगकर्ता इंटरफ़ेस हैं, तो सभी का परीक्षण एक परीक्षण मामले के साथ किया जा सकता है।
पारंपरिक अनुप्रयोग
वेब अनुप्रयोग तेजी से लोकप्रिय हो रहे हैं लेकिन कई अभिकलित्र उपयोगकर्ता अभी भी पारंपरिक अनुप्रयोग सॉफ़्टवेयर का उपयोग करते हैं जो क्लाइंट/वेब-सर्वर संरचना पर निर्भर नहीं करता है। पारंपरिक और वेब अनुप्रयोगों के बीच का अंतर हमेशा स्पष्ट नहीं होता है। वेब और पारंपरिक अनुप्रयोगों के लिए सुविधाएँ, स्थापना विधियाँ और संरचना अंतर को ओवरलैप और धुंधला करते हैं। फिर भी, यह सरलीकरण भेद एक सामान्य और उपयोगी सामान्यीकरण है।
बाइनरी सॉफ्टवेयर
पारंपरिक अनुप्रयोग सॉफ़्टवेयर को बाइनरी फ़ाइलों, विशेष रूप से निष्पादन योग्य फ़ाइलों के रूप में वितरित किया गया है। निष्पादन योग्य केवल उस पटलका समर्थन करते हैं जिसके लिए उन्हें बनाया गया था - जिसका अर्थ है कि एक एकल क्रॉस- पटलनिष्पादन योग्य संकेतक के साथ बहुत फूला हुआ हो सकता है जो किसी विशेष पटलपर कभी निष्पादित नहीं होता है। इसके बजाय, आम तौर पर निष्पादन योग्य का चयन होता है, प्रत्येक एक मंच के लिए बनाया जाता है।
सॉफ़्टवेयर के लिए जो बाइनरी निष्पादन योग्य के रूप में वितरित किया जाता है, जैसे कि सी या सी ++ में लिखा गया है, प्रत्येक पटलके लिए एक सॉफ़्टवेयर निर्माण होना चाहिए, एक टूल समुच्चय का उपयोग करके जो अनुवाद करता है-ट्रांसकंपाइल-एक एकल संकेतकबेस को कई बाइनरी निष्पादन योग्य बनाता है। उदाहरण के लिए, फ़ायरफ़ॉक्स, एक ओपन-सोर्स वेब ब्राउज़र, विंडोज, मैकओएस (पॉवरपीसी और एक्स 86 दोनों के माध्यम से जिसे ऐप्पल इंक एक यूनिवर्सल बाइनरी कहता है), लिनक्स और बीएसडी पर कई अभिकलित्र संरचना पर उपलब्ध है। चार पटल (इस मामले में, विंडोज, मैकओएस, लिनक्स और बीएसडी) अलग निष्पादन योग्य वितरण हैं, हालांकि वे बड़े पैमाने पर एक ही स्रोत संकेतक से आते हैं। दुर्लभ मामलों में, कई प्लेटफार्मों के लिए बनाए गए निष्पादन योग्य संकेतक को एक एकल निष्पादन योग्य फ़ाइल में जोड़ा जाता है जिसे वसा बाइनरी कहा जाता है।
विभिन्न पटल के लिए कार्यशील निष्पादन योग्य बनाने के लिए विभिन्न टूल समुच्चय का उपयोग पर्याप्त नहीं हो सकता है। इस मामले में, प्रोग्रामर्स को सोर्स संकेतक को नए पटल पर पोर्ट करना होगा। उदाहरण के लिए, फ़ायरफ़ॉक्स जैसे अनुप्रयोग, जो पहले से ही एक्स 86 परिवार पर विंडोज़ पर चलता है, को एक्स 86 (और संभावित रूप से अन्य संरचना) पर भी लिनक्स पर चलाने के लिए संशोधित और पुन: बनाया जा सकता है। संकेतक के कई संस्करणों को अलग संकेतकबेस के रूप में संग्रहीत किया जा सकता है, या एक संकेतकबेस में विलय किया जा सकता है।
पोर्टिंग का एक विकल्प क्रॉस- पटलवर्चुअलाइजेशन है, जहां एक पटल के लिए संकलित अनुप्रयोग स्रोत संकेतक या बायनेरिज़ के संशोधन के बिना दूसरे पर चल सकते हैं। उदाहरण के तौर पर, ऐप्पल का रो समुच्चया, जो इंटेल-आधारित मैकिंटोश अभिकलित्रों में बनाया गया है, मैक की पिछली पीढ़ी के लिए संकलित अनुप्रयोगों को चलाता है जो पावरपीसी सीपीयू का इस्तेमाल करते थे। एक अन्य उदाहरण IBM 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 Games, Micrओएसoft, और Valve Corporation सभी के पास ऐसी तकनीक है जो Xbox 360 और PlayStation 3 गेमर्स को पीसी गेमर्स के साथ खेलने की अनुमति देती है, जिससे उपभोक्ताओं को किस पटल का उपयोग करना है। पीसी और कंसोल गेम के बीच इस स्तर की अन्तरक्रियाशीलता की अनुमति देने वाला पहला गेम क्वैक 3 था।[13] क्रॉस- पटलऑनलाइन प्ले की सुविधा वाले गेम में रॉकेट लीग, फ़ाइनल फ़ैंटेसी XIV: ए रियलम रीबॉर्न, स्ट्रीट फाइटर वी, किलर इंस्टिंक्ट (2013 वीडियो गेम), पैरागॉन (वीडियो गेम) और फैबल फॉर्च्यून, और माइनक्राफ्ट शामिल हैं। 10, VR संस्करण, Minecraft - Pocket Edition और Xbox One।
कार्यरचना
क्रॉस- पटल कार्यरचना एक से अधिक पटलपर काम करने के लिए जानबूझकर सॉफ़्टवेयर लिखने का अभ्यास है।
दृष्टिकोण
क्रॉस- पटलअनुप्रयोग लिखने के विभिन्न तरीके हैं। एक तरीका अलग-अलग स्रोत ट्री में एक ही सॉफ़्टवेयर के कई संस्करण बनाना है- दूसरे शब्दों में, किसी अनुप्रयोग के Micrओएसoft Windows संस्करण में स्रोत संकेतक फ़ाइलों का एक समुच्चय और एप्प्ल Macintओएसh संस्करण दूसरा हो सकता है, जबकि एक मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर * निक्स प्रणाली में एक तिहाई हो सकता है। हालांकि यह सीधा है, केवल एक पटल के लिए विकसित होने की तुलना में बड़ी टीम को भुगतान करने या उत्पादों को अधिक धीरे-धीरे जारी करने में अधिक खर्च हो सकता है। इसके परिणामस्वरूप और अधिक बग्स को ट्रैक किया जा सकता है और उन्हें ठीक किया जा सकता है।
एक अन्य तरीका सॉफ्टवेयर का उपयोग करना है जो प्लेटफार्मों के बीच के अंतर को छुपाता है। यह अमूर्त परत पटल से अनुप्रयोग को इंसुलेट करती है। ऐसे अनुप्रयोग पटल अज्ञेयवादी हैं। जेवीएम पर चलने वाले अनुप्रयोग इस तरह से बनाए जाते हैं।
कुछ अनुप्रयोग अंतिम अनुप्रयोग बनाने के लिए क्रॉस- पटल कार्यरचना के विभिन्न तरीकों को मिलाते हैं। एक उदाहरण फ़ायरफ़ॉक्स वेब ब्राउज़र है, जो कुछ निचले स्तर के घटकों के निर्माण के लिए अमूर्तता का उपयोग करता है, पटल-विशिष्ट सुविधाओं (जैसे जीयूआई) को लागू करने के लिए अलग स्रोत उपट्री के साथ, और सॉफ़्टवेयर पोर्टेबिलिटी को आसान बनाने के लिए एक से अधिक स्क्रिप्टिंग भाषा का कार्यान्वयन . फ़ायरफ़ॉक्स क्लासिक नेटस्केप-शैली ब्राउज़र प्लगइन्स के अलावा, ब्राउज़र को विस्तारित करने के लिए XUL, कैस्केडिंग स्टाइल शीट्स और जावास्क्रिप्ट को लागू करता है। अधिकांश ब्राउज़र स्वयं XUL, CSS और जावास्क्रिप्ट में लिखा गया है।
टूलकिट और परिवेश
कई उपकरण हैं[14][15] क्रॉस- पटल कार्यरचना की प्रक्रिया में सहायता के लिए उपलब्ध:
- 8 वीं (भाषा): एक विकास भाषा जो जूस को अपनी जीयूआई परत के रूप में उपयोग करती है। यह वर्तमान में एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स और रास्पबेरी पाई का समर्थन करता है।
- अनंत अभिकलन: एक मोबाइल अनुप्रयोग पटल जो सभी भारतीय भाषाओं में काम करता है, जिसमें उनके कीबोर्ड भी शामिल हैं, और सभी ओएस में ऐप वॉलेट और मूल प्रदर्शन का भी समर्थन करता है।
- AppearIQ: एक ढांचा जो उद्यम परिवेश में ऐप विकास और परिनियोजन के वर्कफ़्लो का समर्थन करता है। मूल रूप से विकसित कंटेनर एक एपीआई से एचटीएमएल 5 संकेतक के माध्यम से मोबाइल उपकरणों या टैबलेट की हार्डवेयर सुविधाओं को प्रस्तुत करते हैं और इस प्रकार विभिन्न प्लेटफार्मों पर चलने वाले मोबाइल ऐप के विकास की सुविधा प्रदान करते हैं।
- बोडेन (सॉफ्टवेयर): C++ में लिखा गया UI प्राधारिक।
- काहिरा (ग्राफिक्स): एक मुफ्त सॉफ्टवेयर लाइब्रेरी जिसका उपयोग वेक्टर ग्राफिक्स-आधारित, उपकरण-स्वतंत्र एपीआई प्रदान करने के लिए किया जाता है। यह कई अलग-अलग बैकएंड में 2-आयामी ड्राइंग के लिए प्राइमेटिव प्रदान करने के लिए परिकलन किया गया है। काहिरा सी में लिखा गया है और कई कार्यरचना भाषाओं के लिए बाध्यकारी है।
- Cocओएस2d: 2D और सरल 3D क्रॉस- पटलगेम और अनुप्रयोग विकसित करने के लिए एक ओपन-सोर्स टूलकिट और गेम इंजन।
- संकेतकनेम वन: जावा और कोटलिन डेवलपर्स के लिए एक ओपन-सोर्स राइट वन्स रन एनीवेयर (WORA) प्राधारिक।
- डेल्फी ( कार्यरचना भाषा): एक आईडीई जो विकास के लिए पास्कल-आधारित भाषा का उपयोग करता है। यह एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स को सपोर्ट करता है।
- Ecere SDK: एक GUI और 2D/3D ग्राफिक्स टूलकिट और IDE, जो EC ( कार्यरचना भाषा) में लिखा गया है और C और Python जैसी अतिरिक्त भाषाओं के समर्थन के साथ है। यह Emscripten या Binaryen (WebAssembly) के माध्यम से लिनक्स, FreeBSD, Windows, Android, मैकओएसऔर वेब को सपोर्ट करता है।
- ग्रहण आईडीई: एक खुला स्रोत विकास परिवेश। जावा में एक विन्यास योग्य वास्तुकला के साथ लागू किया गया जो सॉफ्टवेयर विकास के लिए कई उपकरणों का समर्थन करता है। ऐड-ऑन जावा और सी++ सहित कई भाषाओं के लिए उपलब्ध हैं।
- FLTK: एक ओपन-सोर्स टूलकिट, लेकिन अधिक हल्का क्योंकि यह खुद को GUI तक सीमित रखता है।
- स्पंदन (सॉफ्टवेयर): Google द्वारा विकसित Android और iओएस के लिए एक क्रॉस- पटलUI प्राधारिक।
- fpGUI: एक ओपन-सोर्स विजेट टूलकिट जो पूरी तरह से ऑब्जेक्ट पास्कल में लागू किया गया है। यह वर्तमान में लिनक्स, विंडोज और कुछ विंडोज सीई का समर्थन करता है।
- जीनएक्सस: क्रॉस- पटलअनुप्रयोग निर्माण और परिनियोजन के लिए एक विंडोज़ रैपिड सॉफ़्टवेयर डेवलपमेंट सॉल्यूशन जो ज्ञान प्रतिनिधित्व और सी शार्प ( कार्यरचना भाषा) का समर्थन करता है | एंड्रॉइड और ब्लैकबेरी स्मार्ट उपकरण सहित सी #, कोबोल, जावा ( कार्यरचना भाषा), ऑब्जेक्टिव-सी के लिए एप्पल इंक. मोबाइल उपकरण, आईबीएम आरपीजी, रूबी ( कार्यरचना भाषा), विजुअल बेसिक और विजुअल फॉक्सप्रो।
- GLBasic: एक बेसिक बोली और कंपाइलर जो C++ संकेतक जेनरेट करता है। इसमें कई प्लेटफार्मों के लिए क्रॉस कंपाइलर शामिल हैं और कई पटल (विंडोज, मैक, लिनक्स, एंड्रॉइड, आईओएस और कुछ विदेशी हैंडहेल्ड) का समर्थन करते हैं।
- गोडोट (गेम इंजन): एक एसडीके जो गोडोट इंजन का उपयोग करता है।
- GTK+: X11 और Micrओएसoft Windows के साथ यूनिक्स जैसी प्रणालियों के लिए एक ओपन-सोर्स विजेट टूलकिट।
- Haxe: एक ओपन-सोर्स भाषा।
- जूस: C++ में लिखा गया एक अनुप्रयोग प्राधारिक, संकेतक में बिना किसी बदलाव के, कई प्रणाली ्स (Micrओएसoft Windows, PओएसIX, macओएस) पर नेटिव सॉफ्टवेयर लिखने के लिए इस्तेमाल किया जाता है।
- किवी (प्राधारिक): एक ओपन-सोर्स क्रॉस-पटल यूआई प्राधारिक जो पायथन ( कार्यरचना भाषा) में लिखा गया है। यह एंड्रॉइड (संचालन तंत्र), आईओएस, लिनक्स, मैकओएस, माइक्रोसॉफ्ट विंडोज और रास्पबेरी पाई को सपोर्ट करता है।
- लीडटूल: विंडोज, आईओएस, मैकओएस, एंड्रॉइड, लिनक्स और वेब अनुप्रयोग में मान्यता, दस्तावेज़, चिकित्सा, इमेजिंग और मल्टीमीडिया तकनीकों को एकीकृत करने के लिए क्रॉस- पटलएसडीके लाइब्रेरी।[16]
- LiveCode: हाइपरटॉक से प्रेरित एक व्यावसायिक क्रॉस- पटलरैपिड अनुप्रयोग डेवलपमेंट भाषा।
- लाजर (आईडीई): फ्रीपास्कल कंपाइलर के लिए एक कार्यरचना परिवेश। यह स्व-स्थायी ग्राफिकल और कंसोल अनुप्रयोगों के निर्माण का समर्थन करता है और लिनक्स, MacओएसX, iओएस, Android, WinCE, Windows और WEB पर चलता है।
- मैक्स (सॉफ़्टवेयर)|मैक्स/एमएसपी: एक विज़ुअल कार्यरचना भाषा जो पटल-स्वतंत्र संकेतक को पटल-विशिष्ट रनटाइम परिवेश के साथ मैकओएसऔर Windows A क्रॉस- पटलAndroid रनटाइम के लिए अनुप्रयोगों में समाहित करती है। यह अनमॉडिफाइड एंड्रॉइड ऐप्स को आईओएस और मैकओएस पर मूल रूप से चलाने की अनुमति देता है
- मेंडिक्स: एक क्लाउड-आधारित लो-संकेतक अनुप्रयोग डेवलपमेंट पटल।
- मोनोक्रॉस: एक ओपन-सोर्स मॉडल-व्यू-कंट्रोलर परिकलन पैटर्न जहां मॉडल और कंट्रोलर क्रॉस- पटलहैं लेकिन दृश्य पटल-विशिष्ट है।[17]
- मोनो (सॉफ्टवेयर): माइक्रोसॉफ्ट .नेट का एक ओपन-सोर्स क्रॉस-पटल संस्करण (अनुप्रयोग और कार्यरचना भाषाओं के लिए एक ढांचा)
- Mओएसync: C++ परिवार में मोबाइल पटलऐप विकास के लिए एक ओपन-सोर्स SDK।
- मोज़िला अनुप्रयोग प्राधारिक: मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक ओपन-सोर्स पटल।
- एंड्रॉइड और आईओएस विकास के लिए एक क्रॉस-पटल जावास्क्रिप्ट / टाइपस्क्रिप्ट प्राधारिक।
- ओपनजीएल: एक 3डी ग्राफिक्स लाइब्रेरी।
- पिक्सेल गेम मेकर एमवी: विंडोज़ और निन्टेंडो स्विच गेम विकसित करने के लिए विंडोज़ के लिए एक मालिकाना 2डी गेम डेवलपमेंट सॉफ्टवेयर।
- PureBasic: macओएस, Windows और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मालिकाना भाषा और IDE।
- ReNative: रिएक्ट नेटिव के साथ मल्टी- पटलप्रोजेक्ट बनाने के लिए यूनिवर्सल डेवलपमेंट SDK. नवीनतम iओएस, TVओएस, Android, Android TV, Web, Tizen TV, Tizen Watch, LG webओएस, macओएस/ओएसX, Windows, Kaiओएस, Firefox ओएस और Firefox TV पटल शामिल हैं।
- क्यूटी (टूलकिट): यूनिक्स जैसी प्रणालियों के लिए एक्स11, माइक्रोसॉफ्ट विंडोज, मैकओएस और अन्य प्रणालियों के लिए एक एप्लीकेशन प्राधारिक और विजेट टूलकिट - मालिकाना और ओपन-सोर्स लाइसेंस दोनों के तहत उपलब्ध है।
- सरल और तेज़ मल्टीमीडिया लाइब्रेरी: एक मल्टीमीडिया C++ अनुप्रयोग कार्यरचना इंटरफ़ेस जो ग्राफिक्स, इनपुट, ऑडियो आदि के लिए निम्न और उच्च स्तर की पहुंच प्रदान करता है।
- सिंपल डायरेक्टमीडिया लेयर: सी में लिखी गई एक ओपन-सोर्स मल्टीमीडिया लाइब्रेरी जो विभिन्न पटल के ग्राफिक्स, साउंड और इनपुट अनुप्रयोग कार्यरचना इंटरफेस पर एक एब्स्ट्रैक्शन बनाती है। यह लिनक्स, विंडोज और मैकओएस सहित ओएस पर चलता है और इसका उद्देश्य गेम और मल्टीमीडिया अनुप्रयोग है।
- स्मार्टफेस: जावास्क्रिप्ट संकेतक एडिटर के साथ WYSIWYG परिकलन एडिटर का उपयोग करके Android और iओएस के लिए मोबाइल अनुप्रयोग बनाने के लिए एक देशी ऐप डेवलपमेंट टूल।
- टीसीएल / टीके
- अल्टीमेट++: एक सी++ रैपिड अनुप्रयोग डेवलपमेंट प्राधारिक जो प्रोग्रामर की उत्पादकता पर केंद्रित है। इसमें पुस्तकालयों का एक समुच्चय (जीयूआई, एसक्यूएल, आदि..), और एक एकीकृत विकास परिवेश शामिल है। यह विंडोज और यूनिक्स जैसे ओएस-एस को सपोर्ट करता है।
- यूनिटी (गेम इंजन): एक और क्रॉस-पटल एसडीके जो यूनिटी इंजन का उपयोग करता है।
- यूनो पटल: विंडोज, मैकओएस, आईओएस, एंड्रॉइड, वेबअसेंबली और लिनक्स सी # का उपयोग कर रहे हैं।
- अवास्तविक इंजन: एक क्रॉस- पटलएसडीके जो अवास्तविक इंजन का उपयोग करता है।
- वी-प्ले इंजन: वी-प्ले लोकप्रिय क्यूटी ढांचे पर आधारित एक क्रॉस-पटल विकास एसडीके है। V-Play ऐप्स और गेम Qt Creator के भीतर बनाए जाते हैं।
- वेवमेकर: उत्तरदायी वेब और हाइब्रिड मोबाइल (एंड्रॉइड और आईओएस) अनुप्रयोग बनाने के लिए एक कम-संकेतक विकास उपकरण।
- विनडेव: विंडोज, लिनक्स, नेट और जावा, और वेब ब्राउज़र के लिए एक एकीकृत विकास पर्यावरण। व्यापार और औद्योगिक अनुप्रयोगों के लिए अनुकूलित।
- wxwidgets: एक ओपन-सोर्स विजेट टूलकिट जो एक एप्लीकेशन प्राधारिक भी है।[18] यह X11, Micrओएसoft Windows और मैकओएसके साथ यूनिक्स जैसे प्रणाली पर चलता है।
- Xojo: एक RAD IDE जो डेस्कटॉप, वेब और iओएस ऐप बनाने के लिए ऑब्जेक्ट-ओरिएंटेड कार्यरचना भाषा का उपयोग करता है। Xojo macओएस, Windows, लिनक्स और रास्पबेरी पाई के लिए देशी, संकलित डेस्कटॉप ऐप बनाती है। यह संकलित वेब ऐप बनाता है जिसे स्टैंडअलोन सर्वर के रूप में या CGI के माध्यम से चलाया जा सकता है। और इसने हाल ही में देशी iओएस ऐप बनाने की क्षमता जोड़ी है।
चुनौतियाँ
क्रॉस- पटलसॉफ़्टवेयर विकसित करते समय कई चुनौतियाँ हैं।
- क्रॉस- पटलअनुप्रयोगों का परीक्षण करना काफी अधिक जटिल हो सकता है, क्योंकि विभिन्न पटलथोड़े भिन्न व्यवहार या सूक्ष्म बग प्रदर्शित कर सकते हैं। इस समस्या ने कुछ डेवलपर्स को क्रॉस- पटलविकास को "एक बार लिखें, हर जगह डीबग करें", सन माइक्रोप्रणाली ्स पर एक टेक "एक बार लिखें, कहीं भी चलाएं" मार्केटिंग नारा के रूप में उपहास करने के लिए प्रेरित किया है।
- डेवलपर्स अक्सर सुविधाओं के सबसे कम सामान्य भाजक का उपयोग करने के लिए प्रतिबंधित होते हैं जो सभी प्लेटफार्मों पर उपलब्ध होते हैं। यह अनुप्रयोग के प्रदर्शन में बाधा डाल सकता है या डेवलपर्स को प्रत्येक पटल की सबसे उन्नत सुविधाओं का उपयोग करने से रोक सकता है।
- अलग-अलग पटल में अक्सर अलग-अलग यूजर इंटरफेस कन्वेंशन होते हैं, जो क्रॉस-पटल अनुप्रयोग हमेशा समायोजित नहीं होते हैं। उदाहरण के लिए, मैकओएसऔर GNOME के लिए विकसित किए गए अनुप्रयोग को विंडो या डायलॉग के दाईं ओर सबसे महत्वपूर्ण बटन रखना चाहिए, जबकि Micrओएसoft Windows और KDE में विपरीत परंपरा है। हालांकि इनमें से कई अंतर सूक्ष्म हैं, एक क्रॉस- पटलअनुप्रयोग जो इन सम्मेलनों के अनुरूप नहीं है, उपयोगकर्ता के लिए भद्दा या विदेशी लग सकता है। तेजी से काम करते समय, इस तरह के विरोधी सम्मेलनों के परिणामस्वरूप डेटा हानि भी हो सकती है, जैसे एक संवाद बॉक्स में यह पुष्टि करना कि परिवर्तनों को सहेजना या त्यागना है या नहीं।
- स्क्रिप्टिंग भाषाओं और वीएम बाइटसंकेतक को हर बार उपयोग किए जाने पर मूल निष्पादन योग्य संकेतक में अनुवादित किया जाना चाहिए, एक प्रदर्शन जुर्माना लगाया जाता है। जस्ट-इन-टाइम संकलन जैसी तकनीकों का उपयोग करके इस दंड को कम किया जा सकता है, लेकिन कुछ कम्प्यूटेशनल ओवरहेड अपरिहार्य हो सकते हैं।
- विभिन्न प्लेटफार्मों को मूल संपुष्टि प्रारूपों जैसे आरपीएम और एमएसआई के उपयोग की आवश्यकता होती है। मल्टी- पटलइंस्टॉलर जैसे कि InstallAnywhere इस आवश्यकता को पूरा करता है।
- क्रॉस- पटलनिष्पादन परिवेशों को क्रॉस- पटलसुरक्षा खामियों का सामना करना पड़ सकता है, जिससे क्रॉस- पटलमैलवेयर के लिए एक उपजाऊ परिवेश बन सकता है।[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.
==