क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर: Difference between revisions

From Vigyanwiki
(text)
No edit summary
 
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{short description|Computer software implemented on multiple computing platforms}}
{{short description|Computer software implemented on multiple computing platforms}}
{{Redirect|Cross-platform|the railway station interchange|cross-platform interchange|the video game term|Cross-platform play}}
{{Redirect|क्रॉस प्लेटफार्म|रेलवे स्टेशन इंटरचेंज|क्रॉस-प्लेटफ़ॉर्म इंटरचेंज|वीडियो गेम की शर्तें|क्रॉस प्लेटफॉर्म प्ले}}
{{Redirect|Multi-platform|the mode of storytelling in television|multi-platform television}}
{{Redirect|मल्टी-प्लेटफॉर्म|टेलीविजन में कहानी सुनाने का तरीका|मल्टी-प्लेटफ़ॉर्म टेलीविज़न}}
अभिकलन में, '''क्रॉस- पटल सॉफ़्टवेयर''' (जिसे मल्टी- पटल सॉफ़्टवेयर, पटल-अज्ञेय सॉफ़्टवेयर या पटल-स्वतंत्र सॉफ़्टवेयर भी कहा जाता है) अभिकलित्र सॉफ़्टवेयर (यंत्रेतर सामग्री) है जिसे कई अभिकलन पटल में काम करने के लिए परिकलन किया गया है।<ref name="Sun-Web-00">{{cite web|url=http://java.sun.com/products/jlf/ed1/dg/higq.htm|title=Design Guidelines: Glossary|access-date=2011-10-19|publisher=java.sun.com}}</ref> कुछ क्रॉस- पटल सॉफ़्टवेयर के लिए प्रत्येक पटल के लिए एक अलग निर्माण की आवश्यकता होती है, लेकिन कुछ को विशेष तैयारी के बिना किसी भी पटल पर सीधे चलाया जा सकता है, व्याख्या की गई भाषा में लिखा जा रहा है या सुवाह्य बाइटकोड में संकलित किया जा सकता है जिसके लिए दुभाषिए या  कार्यावधि संपुष्टि सामान्य या सभी समर्थित पटल के घटक मानक हैं। <ref name="pcmag_cross_platform">{{cite web|title=SDD Technology blog: Definition of cross platform|url=https://www.sdd-technology.com/news/definition-of-cross-platform|access-date=2020-10-18|publisher=SDD Technology}}</ref>
अभिकलन में, '''क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर''' (जिसे मल्टी- प्लेटफ़ॉर्म सॉफ़्टवेयर, प्लेटफ़ॉर्म-अज्ञेय सॉफ़्टवेयर या प्लेटफ़ॉर्म-स्वतंत्र सॉफ़्टवेयर भी कहा जाता है) अभिकलित्र सॉफ़्टवेयर (यंत्रेतर सामग्री) है जिसे कई अभिकलन प्लेटफ़ॉर्म में काम करने के लिए परिकलन किया गया है।<ref name="Sun-Web-00">{{cite web|url=http://java.sun.com/products/jlf/ed1/dg/higq.htm|title=Design Guidelines: Glossary|access-date=2011-10-19|publisher=java.sun.com}}</ref> कुछ क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर के लिए प्रत्येक प्लेटफ़ॉर्म के लिए एक अलग निर्माण की आवश्यकता होती है, लेकिन कुछ को विशेष तैयारी के बिना किसी भी प्लेटफ़ॉर्म पर सीधे चलाया जा सकता है, व्याख्या की गई भाषा में लिखा जा रहा है या सुवाह्य बाइटसंकेतक में संकलित किया जा सकता है जिसके लिए दुभाषिए या  कार्यावधि संपुष्टि सामान्य या सभी समर्थित प्लेटफ़ॉर्म के घटक मानक हैं। <ref name="pcmag_cross_platform">{{cite web|title=SDD Technology blog: Definition of cross platform|url=https://www.sdd-technology.com/news/definition-of-cross-platform|access-date=2020-10-18|publisher=SDD Technology}}</ref>


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


==पटल ==
==प्लेटफ़ॉर्म ==
{{Main|Computing platform}}
{{Main|कम्प्यूटिंग प्लेटफॉर्म}}
पटल उस प्रकार के संसाधक (सीपीयू) या अन्य हार्डवेयर को संदर्भित कर सकता है जिस पर एक ऑपरेटिंग सिस्टम (OS) या अनुप्रयोग चलता है, OS का प्रकार, या दोनों का संयोजन।<ref name="The Linux Information Project">{{cite web|url=http://www.linfo.org/platform.html|title=Platform Definition|access-date=2014-03-27|publisher=The Linux Information Project}}</ref> एक सामान्य पटल का एक उदाहरण x86 आर्किटेक्चर पर चलने वाला माइक्रोसॉफ्ट विंडोज ओएस है। अन्य प्रसिद्ध डेस्कटॉप पटल लिनक्स/यूनिक्स और मैकोज़ हैं - ये दोनों स्वयं क्रॉस- पटलहैं।<ref name="The Linux Information Project" />हालांकि, स्मार्टफोन जैसे कई डिवाइस हैं जो पटल भी हैं। अनुप्रयोग को किसी विशेष पटलकी सुविधाओं पर निर्भर करने के लिए लिखा जा सकता है - या तो हार्डवेयर, ओएस, या वर्चुअल मशीन (वीएम) जिस पर वह चलता है। उदाहरण के लिए, जावा पटल एक सामान्य वीएम पटल है जो कई ओएस और हार्डवेयर प्रकारों पर चलता है।<ref name="Cross Platform Mobile App Development">{{cite web|url=https://www.groovyweb.co/service/cross-platform-mobile-app-development|title=Cross Platform Mobile App Development|access-date=2020-03-27|publisher=Groovy Web}}</ref>  
प्लेटफ़ॉर्म उस प्रकार के संसाधक (सीपीयू) या अन्य हार्डवेयर (यंत्रसामग्री) को संदर्भित कर सकता है जिस पर एक संचालन तंत्र (ओएस) या अनुप्रयोग चलता है, ओएस का प्रकार, या दोनों का संयोजन है।<ref name="The Linux Information Project">{{cite web|url=http://www.linfo.org/platform.html|title=Platform Definition|access-date=2014-03-27|publisher=The Linux Information Project}}</ref> सामान्य प्लेटफ़ॉर्म का एक उदाहरण एक्स 86 संरचना पर चलने वाला माइक्रोसॉफ्ट विंडोज ओएस है। अन्य प्रसिद्ध डेस्कटॉप प्लेटफ़ॉर्म लिनक्स / यूनिक्स और मैकओएस हैं - ये दोनों स्वयं क्रॉस- प्लेटफ़ॉर्म हैं।<ref name="The Linux Information Project" />हालांकि, स्मार्टफोन जैसे कई उपकरण हैं जो प्लेटफ़ॉर्म भी हैं। अनुप्रयोग को किसी विशेष प्लेटफ़ॉर्म की सुविधाओं पर निर्भर करने के लिए लिखा जा सकता है - या तो हार्डवेयर, ओएस, या कल्पित मशीन (वीएम) जिस पर वह चलता है। उदाहरण के लिए, जावा प्लेटफ़ॉर्म एक सामान्य वीएम प्लेटफ़ॉर्म है जो कई ओएस और हार्डवेयर प्रकारों पर चलता है।<ref name="Cross Platform Mobile App Development">{{cite web|url=https://www.groovyweb.co/service/cross-platform-mobile-app-development|title=Cross Platform Mobile App Development|access-date=2020-03-27|publisher=Groovy Web}}</ref>  


===हार्डवेयर===
===हार्डवेयर (यंत्रसामग्री)===
एक हार्डवेयर पटल एक निर्देश सेट आर्किटेक्चर को संदर्भित कर सकता है। उदाहरण के लिए: x86 आर्किटेक्चर और इसके वेरिएंट जैसे IA-32 और x86-64। ये मशीनें अक्सर माइक्रोसॉफ्ट विंडोज का एक संस्करण चलाती हैं,<ref name="Net Marketshare">[http://www.netmarketshare.com/os-market-share.aspx?qprid=9 On the Net Marketshare website], which has around 89% market share as of March 2011</ref>हालांकि वे लिनक्स, ओपनबीएसडी, नेटबीएसडी, मैकओएस और फ्रीबीएसडी सहित अन्य ओएस चला सकती हैं।
हार्डवेयर प्लेटफ़ॉर्म एक निर्देश समुच्चय संरचना को संदर्भित करता है। उदाहरण के लिए: एक्स 86 संरचना और इसके भिन्नरूप जैसे आई ए -32 और एक्स86-64 है। ये मशीनें अक्सर माइक्रोसॉफ्ट विंडोज का एक संस्करण चलाती हैं,<ref name="Net Marketshare">[http://www.netmarketshare.com/os-market-share.aspx?qprid=9 On the Net Marketshare website], which has around 89% market share as of March 2011</ref>हालांकि वे लिनक्स, ओपनबीएसडी, नेटबीएसडी, मैकओएस और फ्रीबीएसडी सहित अन्य ओएस चला सकती हैं।


32-बिट एआरएम आर्किटेक्चर (और नया 64-बिट संस्करण) स्मार्टफोन और टैबलेट अभिकलित्र पर आम है, जो एंड्रॉइड, आईओएस और अन्य मोबाइल ऑपरेटिंग सिस्टम चलाते हैं।
32-बिट एआरएम संरचना (और नया 64-बिट संस्करण) स्मार्टफोन और टैबलेट अभिकलित्र पर आम है, जो एंड्रॉइड, आईओएस और अन्य मोबाइल संचालन तंत्र चलाते हैं।


===सॉफ़्टवेयर===
===सॉफ़्टवेयर (यंत्रेतर सामग्री)===
एक सॉफ्टवेयर पटल या तो एक ओएस या प्रोग्रामिंग वातावरण हो सकता है, हालांकि आमतौर पर यह दोनों का संयोजन होता है। एक अपवाद जावा है, जो जावा बाइटकोड को निष्पादित करने के लिए ओएस-स्वतंत्र वीएम का उपयोग करता है। सॉफ्टवेयर पटल के उदाहरण हैं:
सॉफ्टवेयर प्लेटफ़ॉर्म या तो एक ओएस या कार्यरचना परिवेश हो सकता है, हालांकि सामान्यतः यह दोनों का संयोजन होता है। एक अपवाद जावा है, जो जावा बाइटसंकेतक को निष्पादित करने के लिए ओएस-स्वतंत्र वीएम का उपयोग करता है। सॉफ्टवेयर प्लेटफ़ॉर्म के उदाहरण हैं:


*ब्लैकबेरी 10
*ब्लैकबेरी 10
* स्मार्टफोन और टैबलेट अभिकलित्र (x86, एआरएम) के लिए एंड्रॉइड (ऑपरेटिंग सिस्टम)
* स्मार्टफोन और टैबलेट अभिकलित्र (एक्स 86, एआरएम) के लिए एंड्रॉइड (संचालन तंत्र)
* आईओएस (एआरएम)
* आईओएस (एआरएम)
* माइक्रोसॉफ्ट विंडोज (x86, एआरएम)
* माइक्रोसॉफ्ट विंडोज (एक्स 86, एआरएम)
** माइक्रोसॉफ्ट का कॉमन लैंग्वेज इंफ्रास्ट्रक्चर (सीएलआई), जिसे .NET फ्रेमवर्क के नाम से भी जाना जाता है
** माइक्रोसॉफ्ट का सामान्य भाषा अवसंरचना (सीएलआई), जिसे नेट प्राधारिक के नाम से भी जाना जाता है
** क्रॉस- पटलसंस्करण मोनो (सॉफ़्टवेयर) (पहले नोवेल द्वारा और अब ज़ामरीन द्वारा)<ref name="Mono_by_Xamarin">{{cite web|url=http://www.mono-project.com/docs/about-mono/|title=About Mono|access-date=2015-12-17|publisher=mono-project.com}}</ref>)
** क्रॉस- प्लेटफ़ॉर्म संस्करण मोनो (सॉफ़्टवेयर) (पहले नोवेल द्वारा और अब ज़ामरीन द्वारा)<ref name="Mono_by_Xamarin">{{cite web|url=http://www.mono-project.com/docs/about-mono/|title=About Mono|access-date=2015-12-17|publisher=mono-project.com}}</ref>)
* जावा (प्रोग्रामिंग भाषा)
* जावा ( कार्यरचना भाषा)
* वेब ब्राउज़र - कमोबेश एक-दूसरे के साथ संगत, जावास्क्रिप्ट वेब-ऐप्स चला रहे हैं
* वेब ब्राउज़र - कमोबेश एक-दूसरे के साथ संगत, जावा आलेख वेब-ऐप्स चला रहे हैं
* लिनक्स (x86, PowerPC, ARM, और अन्य आर्किटेक्चर)
* लिनक्स (एक्स 86, पावर पीसी, एआरएम, और अन्य संरचना)
* मैकोज़ (x86, पावरपीसी (10.5 और नीचे पर), और एआरएम<ref>{{Cite web|title=Apple announces Mac transition to Apple silicon|url=https://www.apple.com/newsroom/2020/06/apple-announces-mac-transition-to-apple-silicon/|access-date=2020-12-08|website=Apple Newsroom|language=en-US}}</ref> (Apple सिलिकॉन या 11.0 और उससे अधिक पर))
* मैकओएस (एक्स 86, पावरपीसी (10.5 और नीचे पर), और एआरएम<ref>{{Cite web|title=Apple announces Mac transition to Apple silicon|url=https://www.apple.com/newsroom/2020/06/apple-announces-mac-transition-to-apple-silicon/|access-date=2020-12-08|website=Apple Newsroom|language=en-US}}</ref> (एप्प्ल सिलिकॉन या 11.0 और उससे अधिक पर)
* मेंडिक्स
* मेंडिक्स
* सोलारिस (ऑपरेटिंग सिस्टम) (SPARC, x86)
* सोलारिस (संचालन तंत्र) (स्पार्क, एक्स 86)
* सिम्बियनओएस
* सिम्बियनओएस
* स्पार्क
* स्पार्क
* प्लेस्टेशन 4 (x86), प्लेस्टेशन 3 (पावरपीसी) और प्लेस्टेशन वीटा (एआरएम)
* प्लेस्टेशन 4 (एक्स 86), प्लेस्टेशन 3 (पावरपीसी) और प्लेस्टेशन वीटा (एआरएम)
* यूनिक्स
* यूनिक्स
* एक्सबॉक्स
* एक्सबॉक्स


;मामूली/ऐतिहासिक
;मामूली/ऐतिहासिक
* AmigaOS (m68k), AmigaOS 4 (PowerPC), AROS (x86, PowerPC, m68k), MorphOS (PowerPC)
* अमीगाओएस (एम68के), अमीगाओएस 4 (पावरपीसी), ARओएस (एक्स 86, पावरपीसी, एम68के), मॉर्फओएस (पावरपीसी)
* अटारी टीओएस, मिंट
* अटारी टीओएस, मिंट
* बीएसडी (कई पटल; नेटबीएसडीनेट देखें,{{Clarify|reason=|date=July 2018}} उदाहरण के लिए)
* बीएसडी (कई प्लेटफ़ॉर्म, नेटबीएसडीनेट देखें,{{Clarify|reason=|date=July 2018}} उदाहरण के लिए)
* x86 पर डॉस-टाइप सिस्टम: MS-DOS, PC DOS, DR-DOS, FreeDOS
* एक्स 86 पर डॉस-टाइप प्रणाली : एमएस-डीओएस, पीसी डीओएस, डीआर-डीओएस, फ्री डीओएस
* ओएस/2, ईकॉमस्टेशन
* ओएस/2, ईकॉमस्टेशन


==== जावा <स्पैन क्लास= एंकर आईडी= जावा पटल> ====
==== जावा ====
{{Main|Java (software platform)}}
{{Main|जावा (सॉफ्टवेयर प्लेटफॉर्म)}}
जावा भाषा को आमतौर पर वीएम पर चलने के लिए संकलित किया जाता है जो जावा पटल का हिस्सा है। जावा वीएम (जेवीएम) सॉफ्टवेयर में लागू एक सीपीयू है, जो सभी जावा कोड चलाता है। यह समान कोड को JVM को लागू करने वाले सभी सिस्टम पर चलने में सक्षम बनाता है। जावा सॉफ्टवेयर को हार्डवेयर आधारित जावा संसाधक द्वारा निष्पादित किया जा सकता है। इसका उपयोग ज्यादातर एम्बेडेड सिस्टम में किया जाता है।
जावा भाषा को सामान्यतः वीएम पर चलने के लिए संकलित किया जाता है जो जावा प्लेटफ़ॉर्म का हिस्सा है। जावा वीएम (जेवीएम) सॉफ्टवेयर में लागू एक सीपीयू है, जो सभी जावा संकेतक चलाता है। यह समान संकेतक को जेवीएम को लागू करने वाले सभी प्रणाली पर चलने में सक्षम बनाता है। जावा सॉफ्टवेयर को हार्डवेयर आधारित जावा संसाधक द्वारा निष्पादित किया जा सकता है। इसका उपयोग ज्यादातर सन्निहित प्रणाली में किया जाता है।


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


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


== कार्यान्वयन==
== कार्यान्वयन==
सॉफ़्टवेयर को क्रॉस- पटलमाना जाने के लिए, इसे एक से अधिक अभिकलित्र आर्किटेक्चर या OS पर कार्य करना चाहिए। ऐसे सॉफ़्टवेयर को विकसित करना एक समय लेने वाला कार्य हो सकता है क्योंकि अलग-अलग OS में अलग-अलग अनुप्रयोग प्रोग्रामिंग इंटरफेस (API) होते हैं। उदाहरण के लिए, लिनक्स Windows से भिन्न API का उपयोग करता है।
सॉफ़्टवेयर को क्रॉस- प्लेटफ़ॉर्म माना जाने के लिए, इसे एक से अधिक अभिकलित्र संरचना या ओएस पर कार्य करना चाहिए। ऐसे सॉफ़्टवेयर को विकसित करना एक समय लेने वाला कार्य हो सकता है क्योंकि अलग-अलग ओएस में अलग-अलग अनुप्रयोग कार्यरचना अंतरापृष्ठ (एपीआई) होते हैं। उदाहरण के लिए, लिनक्स विंडोज से भिन्न एपीआई का उपयोग करता है।


हो सकता है कि एक OS के लिए लिखा गया सॉफ़्टवेयर उन सभी आर्किटेक्चर पर स्वचालित रूप से काम न करे जो OS समर्थित करता है। एक उदाहरण OpenOffice.org है, जो 2006 में मूल रूप से AMD64 या Intel 64 संसाधक पर x86-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> सिर्फ इसलिए कि सॉफ्टवेयर एक लोकप्रिय प्रोग्रामिंग भाषा जैसे सी या सी ++ में लिखा गया है, इसका मतलब यह नहीं है कि यह उन सभी ओएस पर चलेगा जो उस भाषा का समर्थन करते हैं- या यहां तक ​​कि एक ही ओएस के विभिन्न संस्करणों पर भी।
हो सकता है कि एक ओएस के लिए लिखा गया सॉफ़्टवेयर उन सभी संरचना पर स्वचालित रूप से काम न करे जो ओएस समर्थित करता है। एक उदाहरण ओपेनआफिस.ओआरजी (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> सिर्फ इसलिए कि सॉफ्टवेयर एक लोकप्रिय कार्यरचना भाषा जैसे सी या सी ++ में लिखा गया है, इसका मतलब यह नहीं है कि यह उन सभी ओएस पर चलेगा जो उस भाषा का समर्थन करते हैं- या यहां तक ​​कि एक ही ओएस के विभिन्न संस्करणों पर भी करते हैं।


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


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


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


==== परिकलन ====
==== परिकलन ====
संगतता और कार्यक्षमता के प्रतिस्पर्धी हितों के कारण, कई  परिकलन रणनीतियाँ सामने आई हैं।
संगतता और कार्यक्षमता के प्रतिस्पर्धी हितों के कारण, कई  परिकलन रणनीतियाँ सामने आई हैं।


कई सॉफ्टवेयर सिस्टम एक स्तरित आर्किटेक्चर का उपयोग करते हैं जहां पटल-निर्भर कोड ऊपरी और सबसे निचली परतों तक ही सीमित होता है।
कई सॉफ्टवेयर प्रणाली एक स्तरित संरचना का उपयोग करते हैं जहां प्लेटफ़ॉर्म-निर्भर संकेतक ऊपरी और सबसे निचली परतों तक ही सीमित होता है।


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


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


===== सिंगल कोडबेस =====
===== ऐकल कोडबेस =====
यह रणनीति एक कोडबेस होने पर निर्भर करती है जिसे कई पटल-विशिष्ट स्वरूपों में संकलित किया जा सकता है। एक तकनीक सशर्त संकलन है। इस तकनीक के साथ, सभी प्लेटफार्मों के लिए सामान्य कोड दोहराया नहीं जाता है। कोड के ब्लॉक जो केवल कुछ पटल के लिए प्रासंगिक होते हैं, उन्हें सशर्त बनाया जाता है, ताकि जरूरत पड़ने पर ही उनकी व्याख्या या संकलन किया जा सके। एक अन्य तकनीक कार्यक्षमता का पृथक्करण है, जो ब्राउज़र या ओएस द्वारा समर्थित कार्यक्षमता को अक्षम करता है, जबकि उपयोगकर्ता को अभी भी एक पूर्ण अनुप्रयोग प्रदान करता है। (यह भी देखें: चिंताओं का पृथक्करण।) इस तकनीक का उपयोग वेब विकास में किया जाता है जहां व्याख्या किए गए कोड (जैसा कि स्क्रिप्टिंग भाषाओं में) अलग-अलग ब्लॉकों को सशर्त रूप से निष्पादित करने के लिए चल रहे पटल को क्वेरी कर सकते हैं।<ref>{{cite journal|last=Corti|first=Sascha P.|title=Browser and Feature Detection|journal=MSDN Magazine|date=October 2011|url=http://msdn.microsoft.com/en-us/magazine/hh475813.aspx|access-date=28 January 2014}}</ref>
यह रणनीति एक कोडबेस होने पर निर्भर करती है जिसे कई प्लेटफ़ॉर्म-विशिष्ट स्वरूपों में संकलित किया जा सकता है। एक तकनीक सशर्त संकलन है। इस तकनीक के साथ, सभी प्लेटफार्मों के लिए सामान्य संकेतक दोहराया नहीं जाता है। संकेतक के ब्लॉक जो केवल कुछ प्लेटफ़ॉर्म के लिए प्रासंगिक होते हैं, उन्हें सशर्त बनाया जाता है, ताकि जरूरत पड़ने पर ही उनकी व्याख्या या संकलन किया जा सके। एक अन्य तकनीक कार्यक्षमता का पृथक्करण है, जो ब्राउज़र या ओएस द्वारा समर्थित कार्यक्षमता को अक्षम करता है, जबकि उपयोगकर्ता को अभी भी एक पूर्ण अनुप्रयोग प्रदान करता है। (यह भी देखें: चिंताओं का पृथक्करण।) इस तकनीक का उपयोग वेब विकास में किया जाता है जहां व्याख्या किए गए संकेतक (जैसा कि लिपिन्यास भाषाओं में) अलग-अलग विभाग को सशर्त रूप से निष्पादित करने के लिए चल रहे प्लेटफ़ॉर्म को परिप्रश्न कर सकते हैं।<ref>{{cite journal|last=Corti|first=Sascha P.|title=Browser and Feature Detection|journal=MSDN Magazine|date=October 2011|url=http://msdn.microsoft.com/en-us/magazine/hh475813.aspx|access-date=28 January 2014}}</ref>
===== तृतीय-पक्ष पुस्तकालय =====
===== तृतीय-पक्ष लाइब्रेरी =====
तृतीय-पक्ष पुस्तकालय विक्रेता लॉक-इन की कीमत पर एकल, एकीकृत एपीआई के पीछे क्लाइंट भेदभाव की जटिलताओं को छिपाकर क्रॉस- पटलक्षमता को सरल बनाने का प्रयास करते हैं।
तृतीय-पक्ष लाइब्रेरी विक्रेता अभिबंधन की कीमत पर एकल, एकीकृत एपीआई के पीछे उपभोगता भेदभाव की जटिलताओं को छिपाकर क्रॉस- प्लेटफ़ॉर्म क्षमता को सरल बनाने का प्रयास करते हैं।


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


==== परिक्षण====
==== परिक्षण====
क्रॉस- पटलअनुप्रयोगों को अधिक एकीकरण परीक्षण की आवश्यकता होती है। कुछ वेब ब्राउज़र एक ही मशीन पर विभिन्न संस्करणों की स्थापना को प्रतिबंधित करते हैं। कई प्लेटफार्मों को लक्षित करने के लिए कई दृष्टिकोणों का उपयोग किया जाता है, लेकिन उन सभी का परिणाम सॉफ्टवेयर में होता है जिसके लिए परीक्षण और रखरखाव के लिए पर्याप्त मैन्युअल प्रयास की आवश्यकता होती है।<ref>{{Cite journal|last=Choudhary|first=S.R.|date=2014|title=Cross-platform testing and maintenance of web and mobile applications.|journal=Companion Proceedings of the 36th International Conference on Software Engineering - ICSE Companion 2014|pages=642–645|doi=10.1145/2591062.2591097|isbn=9781450327688|s2cid=1903037}}</ref> पूर्ण वर्चुअलाइजेशन जैसी तकनीकों को कभी-कभी इस समस्या के समाधान के रूप में उपयोग किया जाता है।
क्रॉस- प्लेटफ़ॉर्मअनुप्रयोगों को अधिक एकीकरण परीक्षण की आवश्यकता होती है। कुछ वेब ब्राउज़र एक ही मशीन पर विभिन्न संस्करणों की स्थापना को प्रतिबंधित करते हैं। कई प्लेटफार्मों को लक्षित करने के लिए कई दृष्टिकोणों का उपयोग किया जाता है, लेकिन उन सभी का परिणाम सॉफ्टवेयर में होता है जिसके लिए परीक्षण और रखरखाव के लिए पर्याप्त मैन्युअल प्रयास की आवश्यकता होती है।<ref>{{Cite journal|last=Choudhary|first=S.R.|date=2014|title=Cross-platform testing and maintenance of web and mobile applications.|journal=Companion Proceedings of the 36th International Conference on Software Engineering - ICSE Companion 2014|pages=642–645|doi=10.1145/2591062.2591097|isbn=9781450327688|s2cid=1903037}}</ref> पूर्ण आभासीकरण जैसी तकनीकों को कभी-कभी इस समस्या के समाधान के रूप में उपयोग किया जाता है।


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


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


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


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


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


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


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


* लिब्रे ऑफिस ऑफिस सुइट माइक्रोसॉफ्ट विंडोज, मैकओएस, कई लिनक्स वितरण, फ्रीबीएसडी, नेटबीएसडी, ओपनबीएसडी, एंड्रॉइड, आईओएस, आईपैडओएस, क्रोम ओएस, वेब-आधारित कोलाबोरा ऑनलाइन और कई अन्य के लिए बनाया गया है।<ref>{{Cite news|last=Mehrotra|first=Pranob|date=2020-12-01|title=Collabora Office suite gets a new layout for Android tablets and Chromebooks|work=XDA-Developers|url=https://www.xda-developers.com/collabora-office-suite-gets-layout-android-tablets-chromebooks/|url-status=live|access-date=2021-01-15|quote=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.}}</ref><ref name=":1">{{Cite news|last=|first=|date=2020-12-15|title=Collabora Office on iOS and Android Just got Better!|work=Adfinis|url=https://adfinis.com/en/blog/collabora-office-on-ios-and-android-just-got-better/|url-status=live|access-date=2021-01-15|quote=...touch optimized interfaces: one for tablets and one for phone screens. ...(iOS, iPadOS, Chromebooks, Android).}}</ref> इनमें से कई IA-32, x86-64, ARM (ARMel, ARMhf, ARM64), MIPS, MIPSel, PowerPC, ppc64el, और S390x सहित संसाधक आर्किटेक्चर के साथ कई हार्डवेयर पटल पर समर्थित हैं।{{Cite news|date=2021-03-26|title=Nextcloud Ubuntu Appliance adds Collabora Online to Raspberry Pi image|work=MuyLinux|url=https://www.muylinux.com/2021/03/26/nextcloud-ubuntu-appliance-collabora-online-raspberry-pi/|url-status=live|access-date=2021-03-30|quote=the first viable self-hosted web office solution for the popular Raspberry Pi 4 platform}}</ref>
* लिब्रे ऑफिस ऑफिस सुइट माइक्रोसॉफ्ट विंडोज, मैकओएस, कई लिनक्स वितरण, फ्रीबीएसडी, नेटबीएसडी, ओपनबीएसडी, एंड्रॉइड, आईओएस, आईपैडओएस, क्रोम ओएस, वेब-आधारित कोलाबोरा ऑनलाइन और कई अन्य के लिए बनाया गया है।<ref>{{Cite news|last=Mehrotra|first=Pranob|date=2020-12-01|title=Collabora Office suite gets a new layout for Android tablets and Chromebooks|work=XDA-Developers|url=https://www.xda-developers.com/collabora-office-suite-gets-layout-android-tablets-chromebooks/|url-status=live|access-date=2021-01-15|quote=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.}}</ref><ref name=":1">{{Cite news|last=|first=|date=2020-12-15|title=Collabora Office on iOS and Android Just got Better!|work=Adfinis|url=https://adfinis.com/en/blog/collabora-office-on-ios-and-android-just-got-better/|url-status=live|access-date=2021-01-15|quote=...touch optimized interfaces: one for tablets and one for phone screens. ...(iOS, iPadOS, Chromebooks, Android).}}</ref> इनमें से कई प्रोसेसर आर्किटेक्चर सहित कई हार्डवेयर प्लेटफार्मों पर समर्थित हैं [[IA-32]], [[x86-64]], [[ARM architecture|ARM]] (ARMel, ARMhf, ARM64), [[MIPS architecture processors|MIPS]], [[Mipsel|MIPSel]], [[PowerPC]], [[Ppc64|ppc64le]], and S390x[9]<ref>{{Cite news|date=2021-03-26|title=Nextcloud Ubuntu Appliance adds Collabora Online to Raspberry Pi image|work=MuyLinux|url=https://www.muylinux.com/2021/03/26/nextcloud-ubuntu-appliance-collabora-online-raspberry-pi/|url-status=live|access-date=2021-03-30|quote=the first viable self-hosted web office solution for the popular Raspberry Pi 4 platform}}</ref>


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


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


कुछ लोकप्रिय क्रॉस- पटलस्क्रिप्टिंग भाषाएँ हैं:


* बैश - एक यूनिक्स शेल आमतौर पर लिनक्स और अन्य आधुनिक यूनिक्स जैसी प्रणालियों के साथ-साथ विंडोज पर सिग्विन पॉज़िक्स संगतता परत के माध्यम से चलता है।
 
* पर्ल - पहली बार 1987 में जारी किया गया। सीजीआई प्रोग्रामिंग, छोटे सिस्टम प्रशासन कार्यों और बहुत कुछ के लिए उपयोग किया जाता है।
 
* PHP - ज्यादातर वेब अनुप्रयोगों के लिए उपयोग किया जाता है।
 
* पायथन - एक भाषा जो कार्यावधि दक्षता के बजाय तेजी से अनुप्रयोग विकास और लेखन में आसानी पर केंद्रित है।
 
* रूबी - एक वस्तु-उन्मुख भाषा जिसका उद्देश्य पढ़ने में आसान होना है। रूबी ऑन रेल्स के माध्यम से वेब पर भी इस्तेमाल किया जा सकता है।
 
* टीसीएल - एक गतिशील प्रोग्रामिंग भाषा, वेब और डेस्कटॉप अनुप्रयोगों, नेटवर्किंग, प्रशासन, परीक्षण और कई अन्य सहित उपयोगों की एक विस्तृत श्रृंखला के लिए उपयुक्त है।
 
 
==== आलेख और व्याख्या की गई भाषाएं ====
आलेख को क्रॉस- प्लेटफ़ॉर्म माना जा सकता है यदि उसका दुभाषिया कई प्लेटफार्मों पर उपलब्ध है और आलेख केवल भाषा में निर्मित सुविधाओं का उपयोग करती है। उदाहरण के लिए, यूनिक्स जैसी प्रणाली के लिए पायथन में लिखी गई एक आलेख संभवतः विंडोज़ पर बहुत कम या बिना किसी संशोधन के चलेगी, क्योंकि पायथन भी विंडोज़ पर चलता है, वास्तव में कई कार्यान्वयन हैं (उदाहरण के लिए .नेट प्राधारिक के लिए आयरनपीथन)। वही कई  मुक्त स्रोत लिपिन्यास भाषाओं के लिए जाता है।
 
युग्मक निष्पादन योग्य  साक्ष्यों के विपरीत, एक ही आलेख का उपयोग उन सभी अभिकलित्रों पर किया जा सकता है जिनके पास आलेख की व्याख्या करने के लिए सॉफ़्टवेयर है। ऐसा इसलिए है क्योंकि आलेख आम तौर पर प्रलेखी साक्ष्य में सादे पाठ में संग्रहीत होती है। कुछ मामूली मुद्दे हो सकते हैं, जैसे कि नई पंक्ति संप्रतीक का प्रतिनिधित्व।
 
कुछ लोकप्रिय क्रॉस- प्लेटफ़ॉर्म लिपिन्यास भाषाएँ हैं:
 
* बैश - यूनिक्स शेल सामान्यतः लिनक्स और अन्य आधुनिक यूनिक्स जैसी प्रणालियों के साथ-साथ विंडोज पर सिग्विन पॉज़िक्स संगतता परत के माध्यम से चलता है।
* पर्ल - पहली बार 1987 में जारी किया गया। सीजीआई कार्यरचना, छोटे प्रणाली  प्रशासन कार्यों और बहुत कुछ के लिए उपयोग किया जाता है।
* पीएचपी - ज्यादातर वेब अनुप्रयोगों के लिए उपयोग किया जाता है।
* पायथन - एक भाषा जो कार्यावधि दक्षता के बजाय तेजी से अनुप्रयोग विकास और लेखन में आसानी पर केंद्रित है।
* रूबी - वस्तु-उन्मुख भाषा जिसका उद्देश्य पढ़ने में आसान होना है। रूबी ऑन रेल्स के माध्यम से वेब पर भी इस्तेमाल किया जा सकता है।
* टीसीएल - गतिशील कार्यरचना भाषा, वेब और डेस्कटॉप अनुप्रयोगों, नेटवर्किंग, प्रशासन, परीक्षण और कई अन्य सहित उपयोगों की एक विस्तृत श्रृंखला के लिए उपयुक्त है।


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


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


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


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


==== क्रॉस- पटलप्ले ====
==== क्रॉस- प्लेटफ़ॉर्म प्ले ====
{{Main|Cross-platform play|List of video games that support cross-platform play}}
{{Main|क्रॉस प्लेटफॉर्म प्ले|क्रॉस-प्लेटफ़ॉर्म प्ले का समर्थन करने वाले वीडियो गेम की सूची}}
कई डेवलपर्स ने विभिन्न प्लेटफार्मों का उपयोग करते हुए ऑनलाइन गेम खेलने के तरीके लागू किए हैं। Psyonix, Epic Games, Microsoft, और Valve Corporation सभी के पास ऐसी तकनीक है जो 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>
कई डेवलपर्स ने विभिन्न प्लेटफार्मों का उपयोग करते हुए ऑनलाइन गेम खेलने के तरीके लागू किए हैं। साइकोनिक्स, एपिक गेम्स, माइक्रोसॉफ्ट, और वाल्व सभी के पास ऐसी तकनीक है जो एक्सबॉक्स 360 और प्लेस्टेशन 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 संस्करण, Minecraft - Pocket Edition और Xbox One।


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


=== दृष्टिकोण <span class= एंकर id= क्रॉस-प्लेटफ़ॉर्म प्रोग्रामिंग के लिए दृष्टिकोण ></span> ===
=== दृष्टिकोण <span class= एंकर id= क्रॉस-प्लेटफ़ॉर्म प्रोग्रामिंग के लिए दृष्टिकोण ></span> ===
क्रॉस- पटलअनुप्रयोग लिखने के विभिन्न तरीके हैं। एक तरीका अलग-अलग स्रोत ट्री में एक ही सॉफ़्टवेयर के कई संस्करण बनाना है- दूसरे शब्दों में, किसी अनुप्रयोग के Microsoft Windows संस्करण में स्रोत कोड फ़ाइलों का एक सेट और Apple Macintosh संस्करण दूसरा हो सकता है, जबकि एक मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर * निक्स सिस्टम में एक तिहाई हो सकता है। हालांकि यह सीधा है, केवल एक पटल के लिए विकसित होने की तुलना में बड़ी टीम को भुगतान करने या उत्पादों को अधिक धीरे-धीरे जारी करने में अधिक खर्च हो सकता है। इसके परिणामस्वरूप और अधिक बग्स को ट्रैक किया जा सकता है और उन्हें ठीक किया जा सकता है।
क्रॉस- प्लेटफ़ॉर्मअनुप्रयोग लिखने के विभिन्न तरीके हैं। एक तरीका अलग-अलग स्रोत ट्री में एक ही सॉफ़्टवेयर के कई संस्करण बनाना है- दूसरे शब्दों में, किसी अनुप्रयोग के माइक्रोसॉफ्ट विंडोज संस्करण में स्रोत कोड फ़ाइलों का एक सेट और दूसरा मैकिंटोश संस्करण हो सकता है, जबकि एफओएसएस * निक्स प्रणाली में एक तिहाई हो सकता है। हालांकि यह सीधा है, केवल एक प्लेटफ़ॉर्म के लिए विकसित होने की तुलना में बड़ी समूह को भुगतान करने या उत्पादों को अधिक धीरे-धीरे जारी करने में अधिक खर्च हो सकता है। इसके परिणामस्वरूप और अधिक बग्स को ट्रैक किया जा सकता है और उन्हें ठीक किया जा सकता है।


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


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


=== टूलकिट और परिवेश===
=== उपकरणकिट और परिवेश===
कई उपकरण हैं<ref name="TheGUIToolkit">[https://web.archive.org/web/20091026132520/http://geocities.com/SiliconValley/Vista/7184/guitool.html The GUI Toolkit, Framework Page]</ref><ref name="PlatformIndependentFAQ">{{Cite web |url=http://www.zeta.org.au/~rosko/pigui.htm |title=Platform Independent FAQ |access-date=2009-04-25 |archive-url=https://web.archive.org/web/20080816180726/http://www.zeta.org.au/~rosko/pigui.htm |archive-date=2008-08-16 |url-status=dead }}</ref> क्रॉस- पटलप्रोग्रामिंग की प्रक्रिया में सहायता के लिए उपलब्ध:
कई उपकरण हैं<ref name="TheGUIToolkit">[https://web.archive.org/web/20091026132520/http://geocities.com/SiliconValley/Vista/7184/guitool.html The GUI Toolkit, Framework Page]</ref><ref name="PlatformIndependentFAQ">{{Cite web |url=http://www.zeta.org.au/~rosko/pigui.htm |title=Platform Independent FAQ |access-date=2009-04-25 |archive-url=https://web.archive.org/web/20080816180726/http://www.zeta.org.au/~rosko/pigui.htm |archive-date=2008-08-16 |url-status=dead }}</ref> क्रॉस- प्लेटफ़ॉर्म कार्यरचना की प्रक्रिया में सहायता के लिए उपलब्ध:


* 8 वीं (भाषा): एक विकास भाषा जो जूस को अपनी जीयूआई परत के रूप में उपयोग करती है। यह वर्तमान में एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स और रास्पबेरी पाई का समर्थन करता है।
* 8 वीं (भाषा): एक विकास भाषा जो जूस को अपनी जीयूआई परत के रूप में उपयोग करती है। यह वर्तमान में एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स और रास्पबेरी पाई का समर्थन करता है।
* अनंत अभिकलन: एक मोबाइल अनुप्रयोग पटल जो सभी भारतीय भाषाओं में काम करता है, जिसमें उनके कीबोर्ड भी शामिल हैं, और सभी ओएस में ऐप वॉलेट और मूल प्रदर्शन का भी समर्थन करता है।
* अनंत अभिकलन: एक मोबाइल अनुप्रयोग प्लेटफ़ॉर्म जो सभी भारतीय भाषाओं में काम करता है, जिसमें उनके कुंजीपटल भी शामिल हैं, और सभी ओएस में ऐप वॉलेट और मूल प्रदर्शन का भी समर्थन करता है।
* AppearIQ: एक ढांचा जो उद्यम वातावरण में ऐप विकास और परिनियोजन के वर्कफ़्लो का समर्थन करता है। मूल रूप से विकसित कंटेनर एक एपीआई से एचटीएमएल 5 कोड के माध्यम से मोबाइल उपकरणों या टैबलेट की हार्डवेयर सुविधाओं को प्रस्तुत करते हैं और इस प्रकार विभिन्न प्लेटफार्मों पर चलने वाले मोबाइल ऐप के विकास की सुविधा प्रदान करते हैं।
* अप्पेअरआईक्यू: एक ढांचा जो उद्यम परिवेश में ऐप विकास और परिनियोजन के कार्य प्रगति का समर्थन करता है। मूल रूप से विकसित कंटेनर एक एपीआई से एचटीएमएल 5 संकेतक के माध्यम से मोबाइल उपकरणों या टैबलेट की हार्डवेयर सुविधाओं को प्रस्तुत करते हैं और इस प्रकार विभिन्न प्लेटफार्मों पर चलने वाले मोबाइल ऐप के विकास की सुविधा प्रदान करते हैं।
* बोडेन (सॉफ्टवेयर): C++ में लिखा गया UI फ्रेमवर्क।
* बोडेन (सॉफ्टवेयर):सी++ में लिखा गया यूआई प्राधारिक।
* काहिरा (ग्राफिक्स): एक मुफ्त सॉफ्टवेयर लाइब्रेरी जिसका उपयोग वेक्टर ग्राफिक्स-आधारित, डिवाइस-स्वतंत्र एपीआई प्रदान करने के लिए किया जाता है। यह कई अलग-अलग बैकएंड में 2-आयामी ड्राइंग के लिए प्राइमेटिव प्रदान करने के लिए  परिकलन किया गया है। काहिरा सी में लिखा गया है और कई प्रोग्रामिंग भाषाओं के लिए बाध्यकारी है।
* काहिरा (ग्राफिक्स): एक मुफ्त सॉफ्टवेयर लाइब्रेरी जिसका उपयोग सदिश आलेखिकी-आधारित, उपकरण-स्वतंत्र एपीआई प्रदान करने के लिए किया जाता है। यह कई अलग-अलग पश्‍च सिरा में 2-आयामी चित्रकारी के लिए आदिम प्रदान करने के लिए  परिकलन किया गया है। काहिरा सी में लिखा गया है और कई कार्यरचना भाषाओं के लिए बाध्यकारी है।
* Cocos2d: 2D और सरल 3D क्रॉस- पटलगेम और अनुप्रयोग विकसित करने के लिए एक ओपन-सोर्स टूलकिट और गेम इंजन।
* कोकोस 2डी: 2डी और सरल 3डी क्रॉस- प्लेटफ़ॉर्म गेम और अनुप्रयोग विकसित करने के लिए एक मुक्त स्रोत  उपकरणकिट और गेम इंजन।
* कोडनेम वन: जावा और कोटलिन डेवलपर्स के लिए एक ओपन-सोर्स राइट वन्स रन एनीवेयर (WORA) फ्रेमवर्क।
* संकेतकनेम वन: जावा और कोटलिन डेवलपर्स के लिए एक मुक्त स्रोत राइट वन्स रन एनीवेयर (डब्ल्यूओआरए) प्राधारिक।
* डेल्फी (प्रोग्रामिंग भाषा): एक आईडीई जो विकास के लिए पास्कल-आधारित भाषा का उपयोग करता है। यह एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स को सपोर्ट करता है।
* डेल्फी (कार्यरचना भाषा): एक आईडीई जो विकास के लिए पास्कल-आधारित भाषा का उपयोग करता है। यह एंड्रॉइड, आईओएस, विंडोज, मैकओएस, लिनक्स को सपोर्ट करता है।
* Ecere SDK: एक GUI और 2D/3D ग्राफिक्स टूलकिट और IDE, जो EC (प्रोग्रामिंग भाषा) में लिखा गया है और C और Python जैसी अतिरिक्त भाषाओं के समर्थन के साथ है। यह Emscripten या Binaryen (WebAssembly) के माध्यम से लिनक्स, FreeBSD, Windows, Android, मैकओएसऔर वेब को सपोर्ट करता है।
* ईसेरे एसडीके: एक जीयूआई और 2डी/3डी ग्राफिक्स उपकरणकिट और आईडीई, जो ईसी ( कार्यरचना भाषा) में लिखा गया है और सी औरपायथन जैसी अतिरिक्त भाषाओं के समर्थन के साथ है। यह एम्स आलेखेन या बाइनरीन (वेबअसेंबली) के माध्यम से लिनक्स, फ्रीबीएसडी, विंडोज, एंड्रॉयड, मैकओएसऔर वेब को सपोर्ट करता है।
* ग्रहण आईडीई: एक खुला स्रोत विकास वातावरण। जावा में एक विन्यास योग्य वास्तुकला के साथ लागू किया गया जो सॉफ्टवेयर विकास के लिए कई उपकरणों का समर्थन करता है। ऐड-ऑन जावा और सी++ सहित कई भाषाओं के लिए उपलब्ध हैं।
* ग्रहण आईडीई: एक खुला स्रोत विकास परिवेश। जावा में एक विन्यास योग्य वास्तुकला के साथ लागू किया गया जो सॉफ्टवेयर विकास के लिए कई उपकरणों का समर्थन करता है। ऐड-ऑन जावा और सी++ सहित कई भाषाओं के लिए उपलब्ध हैं।
* FLTK: एक ओपन-सोर्स टूलकिट, लेकिन अधिक हल्का क्योंकि यह खुद को GUI तक सीमित रखता है।
* एफएलटीके: एक मुक्त स्रोत  उपकरणकिट, लेकिन अधिक हल्का क्योंकि यह खुद को जीयूआई तक सीमित रखता है।
* स्पंदन (सॉफ्टवेयर): Google द्वारा विकसित Android और iOS के लिए एक क्रॉस- पटलUI फ्रेमवर्क।
* स्पंदन (सॉफ्टवेयर): गूगल द्वारा विकसित एंड्रॉयड और आईओएस के लिए एक क्रॉस- प्लेटफ़ॉर्म यूआई प्राधारिक।
* fpGUI: एक ओपन-सोर्स विजेट टूलकिट जो पूरी तरह से ऑब्जेक्ट पास्कल में लागू किया गया है। यह वर्तमान में लिनक्स, विंडोज और कुछ विंडोज सीई का समर्थन करता है।
* एफपीजीयूआई: एक मुक्त स्रोत विजेट उपकरणकिट जो पूरी तरह से ऑब्जेक्ट पास्कल में लागू किया गया है। यह वर्तमान में लिनक्स, विंडोज और कुछ विंडोज सीई का समर्थन करता है।
* जीनएक्सस: क्रॉस- पटलअनुप्रयोग निर्माण और परिनियोजन के लिए एक विंडोज़ रैपिड सॉफ़्टवेयर डेवलपमेंट सॉल्यूशन जो ज्ञान प्रतिनिधित्व और सी शार्प (प्रोग्रामिंग भाषा) का समर्थन करता है | एंड्रॉइड और ब्लैकबेरी स्मार्ट डिवाइस सहित सी #, कोबोल, जावा (प्रोग्रामिंग भाषा), ऑब्जेक्टिव-सी के लिए एप्पल इंक. मोबाइल डिवाइस, आईबीएम आरपीजी, रूबी (प्रोग्रामिंग भाषा), विजुअल बेसिक और विजुअल फॉक्सप्रो।
* जीनएक्सस: क्रॉस- प्लेटफ़ॉर्म अनुप्रयोग निर्माण और परिनियोजन के लिए एक विंडोज़ त्वरित सॉफ़्टवेयर विकास विलयन जो ज्ञान प्रतिनिधित्व और सी शार्प ( कार्यरचना भाषा) का समर्थन करता है | एंड्रॉइड और ब्लैकबेरी स्मार्ट उपकरण सहित सी #, कोबोल, जावा ( कार्यरचना भाषा), ऑब्जेक्टिव-सी के लिए एप्पल इंक. मोबाइल उपकरण, आईबीएम आरपीजी, रूबी ( कार्यरचना भाषा), विजुअल बेसिक और विजुअल फॉक्सप्रो।
* GLBasic: एक बेसिक बोली और कंपाइलर जो C++ कोड जेनरेट करता है। इसमें कई प्लेटफार्मों के लिए क्रॉस कंपाइलर शामिल हैं और कई पटल (विंडोज, मैक, लिनक्स, एंड्रॉइड, आईओएस और कुछ विदेशी हैंडहेल्ड) का समर्थन करते हैं।
* जीएलबेसिक: एक बेसिक बोली और संकलनकर्ता जोसी++ संकेतक जेनरेट करता है। इसमें कई प्लेटफार्मों के लिए क्रॉस संकलनकर्ता शामिल हैं और कई प्लेटफ़ॉर्म (विंडोज, मैक, लिनक्स, एंड्रॉइड, आईओएस और कुछ विदेशी हैंडहेल्ड) का समर्थन करते हैं।
* गोडोट (गेम इंजन): एक एसडीके जो गोडोट इंजन का उपयोग करता है।
* गोडोट (गेम इंजन): एक एसडीके जो गोडोट इंजन का उपयोग करता है।
* GTK+: X11 और Microsoft Windows के साथ यूनिक्स जैसी प्रणालियों के लिए एक ओपन-सोर्स विजेट टूलकिट।
* जीटीके+: एक्स11 और माइक्रोसॉफ्ट विंडोज के साथ यूनिक्स जैसी प्रणालियों के लिए एक मुक्त स्रोत विजेट उपकरणकिट।
* Haxe: एक ओपन-सोर्स भाषा।
* Haएक्सe: एक मुक्त स्रोत भाषा।
* जूस: C++ में लिखा गया एक अनुप्रयोग फ्रेमवर्क, कोड में बिना किसी बदलाव के, कई सिस्टम्स (Microsoft Windows, POSIX, macOS) पर नेटिव सॉफ्टवेयर लिखने के लिए इस्तेमाल किया जाता है।
* जूस:सी++ में लिखा गया एक अनुप्रयोग प्राधारिक, संकेतक में बिना किसी बदलाव के, कई प्रणाली (माइक्रोसॉफ्ट विंडोज, PओएसIएक्स,मैकओएस) पर नेटिव सॉफ्टवेयर लिखने के लिए इस्तेमाल किया जाता है।
* किवी (फ्रेमवर्क): एक ओपन-सोर्स क्रॉस-पटल यूआई फ्रेमवर्क जो पायथन (प्रोग्रामिंग भाषा) में लिखा गया है। यह एंड्रॉइड (ऑपरेटिंग सिस्टम), आईओएस, लिनक्स, मैकओएस, माइक्रोसॉफ्ट विंडोज और रास्पबेरी पाई को सपोर्ट करता है।
* किवी (प्राधारिक): एक मुक्त स्रोत क्रॉस-प्लेटफ़ॉर्म यूआई प्राधारिक जो पायथन ( कार्यरचना भाषा) में लिखा गया है। यह एंड्रॉइड (संचालन तंत्र), आईओएस, लिनक्स, मैकओएस, माइक्रोसॉफ्ट विंडोज और रास्पबेरी पाई को सपोर्ट करता है।
* लीडटूल: विंडोज, आईओएस, मैकओएस, एंड्रॉइड, लिनक्स और वेब अनुप्रयोग में मान्यता, दस्तावेज़, चिकित्सा, इमेजिंग और मल्टीमीडिया तकनीकों को एकीकृत करने के लिए क्रॉस- पटलएसडीके लाइब्रेरी।<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>
* LiveCode: हाइपरटॉक से प्रेरित एक व्यावसायिक क्रॉस- पटलरैपिड अनुप्रयोग डेवलपमेंट भाषा।
* लाइवकोड: हाइपरटॉक से प्रेरित एक व्यावसायिक क्रॉस- प्लेटफ़ॉर्म त्वरित अनुप्रयोग विकास भाषा।
* लाजर (आईडीई): फ्रीपास्कल कंपाइलर के लिए एक प्रोग्रामिंग वातावरण। यह स्व-स्थायी ग्राफिकल और कंसोल अनुप्रयोगों के निर्माण का समर्थन करता है और लिनक्स, MacOSX, iOS, Android, WinCE, Windows और WEB पर चलता है।
* लाजर (आईडीई): फ्रीपास्कल संकलनकर्ता के लिए एक कार्यरचना परिवेश। यह स्व-स्थायी ग्राफिकल और कंसोल अनुप्रयोगों के निर्माण का समर्थन करता है और लिनक्स,मैकओएसएक्स,आईओएस, एंड्रॉयड, विनसी, विंडोज और वेब पर चलता है।
* मैक्स (सॉफ़्टवेयर)|मैक्स/एमएसपी: एक विज़ुअल प्रोग्रामिंग भाषा जो पटल-स्वतंत्र कोड को पटल-विशिष्ट रनटाइम वातावरण के साथ मैकओएसऔर Windows A क्रॉस- पटलAndroid रनटाइम के लिए अनुप्रयोगों में समाहित करती है। यह अनमॉडिफाइड एंड्रॉइड ऐप्स को आईओएस और मैकओएस पर मूल रूप से चलाने की अनुमति देता है
* मैक्स (सॉफ़्टवेयर)|मैक्स/एमएसपी: एक आभासी कार्यरचना भाषा जो प्लेटफ़ॉर्म-स्वतंत्र संकेतक को प्लेटफ़ॉर्म-विशिष्ट कार्यावधि परिवेश के साथ मैकओएसऔर विंडोज एक्रॉस- प्लेटफ़ॉर्म एंड्रॉयड कार्यावधि के लिए अनुप्रयोगों में समाहित करती है। यह अपरिवर्तित एंड्रॉइड ऐप्स को आईओएस और मैकओएस पर मूल रूप से चलाने की अनुमति देता है
* मेंडिक्स: एक क्लाउड-आधारित लो-कोड अनुप्रयोग डेवलपमेंट पटल।
* मेंडिक्स: क्लाउड-आधारित लो-संकेतक अनुप्रयोग विकास प्लेटफ़ॉर्म।
* मोनोक्रॉस: एक ओपन-सोर्स मॉडल-व्यू-कंट्रोलर परिकलन पैटर्न जहां मॉडल और कंट्रोलर क्रॉस- पटलहैं लेकिन दृश्य पटल-विशिष्ट है।<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>
* मोनोक्रॉस: मुक्त स्रोत मॉडल-व्यू-कंट्रोलर परिकलन प्रतिमान जहां मॉडल और कंट्रोलर क्रॉस- प्लेटफ़ॉर्म हैं लेकिन दृश्य प्लेटफ़ॉर्म-विशिष्ट है।<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>
* मोनो (सॉफ्टवेयर): माइक्रोसॉफ्ट .NET का एक ओपन-सोर्स क्रॉस-पटल संस्करण (अनुप्रयोग और प्रोग्रामिंग भाषाओं के लिए एक ढांचा)
* मोनो (सॉफ्टवेयर): माइक्रोसॉफ्ट.नेट का मुक्त स्रोत क्रॉस-प्लेटफ़ॉर्म संस्करण (अनुप्रयोग और कार्यरचना भाषाओं के लिए एक ढांचा)
* MoSync: C++ परिवार में मोबाइल  पटलऐप विकास के लिए एक ओपन-सोर्स SDK।
* मौसिन्स:सी++ परिवार में मोबाइल  प्लेटफ़ॉर्मऐप विकास के लिए एक मुक्त स्रोत एसडीके।
* मोज़िला अनुप्रयोग फ्रेमवर्क: मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक ओपन-सोर्स पटल।
* मोज़िला अनुप्रयोग प्राधारिक: मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मुक्त स्रोत प्लेटफ़ॉर्म।
* एंड्रॉइड और आईओएस विकास के लिए एक क्रॉस-पटल जावास्क्रिप्ट / टाइपस्क्रिप्ट फ्रेमवर्क।
* एंड्रॉइड और आईओएस विकास के लिए एक क्रॉस-प्लेटफ़ॉर्म जावा आलेख / टाइप आलेख प्राधारिक।
* ओपनजीएल: एक 3डी ग्राफिक्स लाइब्रेरी।
* ओपनजीएल: एक 3डी ग्राफिक्स लाइब्रेरी।
* पिक्सेल गेम मेकर एमवी: विंडोज़ और निन्टेंडो स्विच गेम विकसित करने के लिए विंडोज़ के लिए एक मालिकाना 2डी गेम डेवलपमेंट सॉफ्टवेयर।
* पिक्सेल गेम मेकर एमवी: विंडोज़ और निन्टेंडो स्विच गेम विकसित करने के लिए विंडोज़ के लिए एक मालिकाना 2डी गेम विकास सॉफ्टवेयर।
* PureBasic: macOS, Windows और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मालिकाना भाषा और IDE।
* प्योरबेसिक:मैकओएस, विंडोज और लिनक्स अनुप्रयोगों के निर्माण के लिए एक मालिकाना भाषा और आईडीई।
* [https://renative.org ReNative]: रिएक्ट नेटिव के साथ मल्टी- पटलप्रोजेक्ट बनाने के लिए यूनिवर्सल डेवलपमेंट SDK. नवीनतम iOS, TVOS, Android, Android TV, Web, Tizen TV, Tizen Watch, LG webOS, macOS/OSX, Windows, KaiOS, Firefox OS और Firefox TV पटल शामिल हैं।
* [https://renative.org ReNative]: रिएक्ट नेटिव के साथ मल्टी- प्लेटफ़ॉर्मप्रोजेक्ट बनाने के लिए सार्वभौमिक  विकास एसडीके. नवीनतमआईओएस, टीवीओएस, एंड्रॉयड, एंड्रॉयड टीवी, वेब, टिज़ेनटीवी, टिज़ेनवाच, एलजी वेबओएस,मैकओएस/ओएसएक्स, विंडोज, केएआईओएस, फ़ायरफ़ॉक्स और फ़ायरफ़ॉक्स टीवी प्लेटफ़ॉर्म शामिल हैं।
* क्यूटी (टूलकिट): यूनिक्स जैसी प्रणालियों के लिए एक्स11, माइक्रोसॉफ्ट विंडोज, मैकओएस और अन्य प्रणालियों के लिए एक एप्लीकेशन फ्रेमवर्क और विजेट टूलकिट - मालिकाना और ओपन-सोर्स लाइसेंस दोनों के तहत उपलब्ध है।
* क्यूटी (उपकरणकिट): यूनिक्स जैसी प्रणालियों के लिए एक्स11, माइक्रोसॉफ्ट विंडोज, मैकओएस और अन्य प्रणालियों के लिए एक अनुप्रयोग प्राधारिक और विजेट उपकरण किट - मालिकाना और मुक्त स्रोत अनुज्ञापन दोनों के तहत उपलब्ध है।
* सरल और तेज़ मल्टीमीडिया लाइब्रेरी: एक मल्टीमीडिया C++ अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस जो ग्राफिक्स, इनपुट, ऑडियो आदि के लिए निम्न और उच्च स्तर की पहुंच प्रदान करता है।
* सरल और तेज़ मल् समूहीडिया लाइब्रेरी: एक मल् समूहीडियासी++ अनुप्रयोग कार्यरचना इंटरफ़ेस जो ग्राफिक्स, इनपुट, ऑडियो आदि के लिए निम्न और उच्च स्तर की पहुंच प्रदान करता है।
* सिंपल डायरेक्टमीडिया लेयर: सी में लिखी गई एक ओपन-सोर्स मल्टीमीडिया लाइब्रेरी जो विभिन्न पटल के ग्राफिक्स, साउंड और इनपुट अनुप्रयोग प्रोग्रामिंग इंटरफेस पर एक एब्स्ट्रैक्शन बनाती है। यह लिनक्स, विंडोज और मैकओएस सहित ओएस पर चलता है और इसका उद्देश्य गेम और मल्टीमीडिया अनुप्रयोग है।
* सिंपल डायरेक्टमीडिया लेयर: सी में लिखी गई एक मुक्त स्रोत मल् समूहीडिया लाइब्रेरी जो विभिन्न प्लेटफ़ॉर्म के ग्राफिक्स, साउंड और इनपुट अनुप्रयोग कार्यरचना अंतरापृष्ठ पर एक एब्स्ट्रैक्शन बनाती है। यह लिनक्स, विंडोज और मैकओएस सहित ओएस पर चलता है और इसका उद्देश्य गेम और मल् समूहीडिया अनुप्रयोग है।
* स्मार्टफेस: जावास्क्रिप्ट कोड एडिटर के साथ WYSIWYG  परिकलन एडिटर का उपयोग करके Android और iOS के लिए मोबाइल अनुप्रयोग बनाने के लिए एक देशी ऐप डेवलपमेंट टूल।
* स्मार्टफेस: जावा आलेख संकेतक संपादक के साथ डब्ल्यूवाईएसआईडब्ल्यूवाईजी परिकलन संपादक का उपयोग करके एंड्रॉयड औरआईओएस के लिए मोबाइल अनुप्रयोग बनाने के लिए एक देशी ऐप विकास  उपकरण।
* टीसीएल / टीके
* टीसीएल / टीके
* अल्टीमेट++: एक सी++ रैपिड अनुप्रयोग डेवलपमेंट फ्रेमवर्क जो प्रोग्रामर की उत्पादकता पर केंद्रित है। इसमें पुस्तकालयों का एक सेट (जीयूआई, एसक्यूएल, आदि..), और एक एकीकृत विकास वातावरण शामिल है। यह विंडोज और यूनिक्स जैसे ओएस-एस को सपोर्ट करता है।
* अल् समूहेट++: एक सी++ त्वरित अनुप्रयोग विकास प्राधारिक जो प्रोग्रामर की उत्पादकता पर केंद्रित है। इसमें लाइब्रेरीों का एक समुच्चय (जीयूआई, एसक्यूएल, आदि..), और एक एकीकृत विकास परिवेश शामिल है। यह विंडोज और यूनिक्स जैसे ओएस-एस को सपोर्ट करता है।
* यूनिटी (गेम इंजन): एक और क्रॉस-पटल एसडीके जो यूनिटी इंजन का उपयोग करता है।
* यूनिटी (गेम इंजन): एक और क्रॉस-प्लेटफ़ॉर्म एसडीके जो यूनिटी इंजन का उपयोग करता है।
* यूनो पटल: विंडोज, मैकओएस, आईओएस, एंड्रॉइड, वेबअसेंबली और लिनक्स सी # का उपयोग कर रहे हैं।
* यूनो प्लेटफ़ॉर्म: विंडोज, मैकओएस, आईओएस, एंड्रॉइड, वेबअसेंबली और लिनक्स सी # का उपयोग कर रहे हैं।
* अवास्तविक इंजन: एक क्रॉस- पटलएसडीके जो अवास्तविक इंजन का उपयोग करता है।
* अवास्तविक इंजन: एक क्रॉस- प्लेटफ़ॉर्मएसडीके जो अवास्तविक इंजन का उपयोग करता है।
* वी-प्ले इंजन: वी-प्ले लोकप्रिय क्यूटी ढांचे पर आधारित एक क्रॉस-पटल विकास एसडीके है। V-Play ऐप्स और गेम Qt ​​Creator के भीतर बनाए जाते हैं।
* वी-प्ले इंजन: वी-प्ले लोकप्रिय क्यूटी ढांचे पर आधारित एक क्रॉस-प्लेटफ़ॉर्म विकास एसडीके है। वी प्ले ऐप्स और गेम क्यूटी क्रिएटर के भीतर बनाए जाते हैं।
* वेवमेकर: उत्तरदायी वेब और हाइब्रिड मोबाइल (एंड्रॉइड और आईओएस) अनुप्रयोग बनाने के लिए एक कम-कोड विकास उपकरण।
* वेवमेकर: उत्तरदायी वेब और हाइब्रिड मोबाइल (एंड्रॉइड और आईओएस) अनुप्रयोग बनाने के लिए एक कम-संकेतक विकास उपकरण।
* विनडेव: विंडोज, लिनक्स, नेट और जावा, और वेब ब्राउज़र के लिए एक एकीकृत विकास पर्यावरण। व्यापार और औद्योगिक अनुप्रयोगों के लिए अनुकूलित।
* विनडेव: विंडोज, लिनक्स, नेट और जावा, और वेब ब्राउज़र के लिए एक एकीकृत विकास पर्यावरण। व्यापार और औद्योगिक अनुप्रयोगों के लिए अनुकूलित।
* wxwidgets: एक ओपन-सोर्स विजेट टूलकिट जो एक एप्लीकेशन फ्रेमवर्क भी है।<ref name="wxwidgets">[http://wxwidgets.org/ WxWidgets Description]</ref> यह X11, Microsoft Windows और मैकओएसके साथ यूनिक्स जैसे सिस्टम पर चलता है।
* डब्ल्यूएक्सविजेट्स: एक मुक्त स्रोत विजेट उपकरणकिट जो एक अनुप्रयोग प्राधारिक भी है।<ref name="wxwidgets">[http://wxwidgets.org/ WxWidgets Description]</ref> यह एक्स11, माइक्रोसॉफ्ट विंडोज और मैकओएसके साथ यूनिक्स जैसे प्रणाली  पर चलता है।
* Xojo: एक RAD IDE जो डेस्कटॉप, वेब और iOS ऐप बनाने के लिए ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा का उपयोग करता है। Xojo macOS, Windows, लिनक्स और रास्पबेरी पाई के लिए देशी, संकलित डेस्कटॉप ऐप बनाती है। यह संकलित वेब ऐप बनाता है जिसे स्टैंडअलोन सर्वर के रूप में या CGI के माध्यम से चलाया जा सकता है। और इसने हाल ही में देशी iOS ऐप बनाने की क्षमता जोड़ी है।
* एक्सojo: एकआर एडी आईडीई जो डेस्कटॉप, वेब औरआईओएस ऐप बनाने के लिए लक्ष्योन्मुखी कार्यरचना भाषा का उपयोग करता है। एक्सोजो मैकओएस, विंडोज, लिनक्स और रास्पबेरी पाई के लिए देशी, संकलित डेस्कटॉप ऐप बनाती है। यह संकलित वेब ऐप बनाता है जिसे स्टैंडअलोन सर्वर के रूप में यासीजीI के माध्यम से चलाया जा सकता है। और इसने हाल ही में देशीआईओएस ऐप बनाने की क्षमता जोड़ी है।


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


* क्रॉस- पटलअनुप्रयोगों का परीक्षण करना काफी अधिक जटिल हो सकता है, क्योंकि विभिन्न पटलथोड़े भिन्न व्यवहार या सूक्ष्म बग प्रदर्शित कर सकते हैं। इस समस्या ने कुछ डेवलपर्स को क्रॉस- पटलविकास को "एक बार लिखें, हर जगह डीबग करें", सन माइक्रोसिस्टम्स पर एक टेक "एक बार लिखें, कहीं भी चलाएं" मार्केटिंग नारा के रूप में उपहास करने के लिए प्रेरित किया है।
* क्रॉस- प्लेटफ़ॉर्म अनुप्रयोगों का परीक्षण करना काफी अधिक जटिल हो सकता है, क्योंकि विभिन्न प्लेटफ़ॉर्म थोड़े भिन्न व्यवहार या सूक्ष्म बग प्रदर्शित कर सकते हैं। इस समस्या ने कुछ डेवलपर्स को क्रॉस- प्लेटफ़ॉर्म                                        विकास को "एक बार लिखें, हर जगह डीबग करें", सन सूक्ष्म प्रणाली पर एक टेक "एक बार लिखें, कहीं भी चलाएं" विपणन नारा के रूप में उपहास करने के लिए प्रेरित किया है।
* डेवलपर्स अक्सर सुविधाओं के सबसे कम सामान्य भाजक का उपयोग करने के लिए प्रतिबंधित होते हैं जो सभी प्लेटफार्मों पर उपलब्ध होते हैं। यह अनुप्रयोग के प्रदर्शन में बाधा डाल सकता है या डेवलपर्स को प्रत्येक पटल की सबसे उन्नत सुविधाओं का उपयोग करने से रोक सकता है।
* डेवलपर्स अक्सर सुविधाओं के सबसे कम सामान्य भाजक का उपयोग करने के लिए प्रतिबंधित होते हैं जो सभी प्लेटफार्मों पर उपलब्ध होते हैं। यह अनुप्रयोग के प्रदर्शन में बाधा डाल सकता है या डेवलपर्स को प्रत्येक प्लेटफ़ॉर्म की सबसे उन्नत सुविधाओं का उपयोग करने से रोक सकता है।
* अलग-अलग पटल में अक्सर अलग-अलग यूजर इंटरफेस कन्वेंशन होते हैं, जो क्रॉस-पटल अनुप्रयोग हमेशा समायोजित नहीं होते हैं। उदाहरण के लिए, मैकओएसऔर GNOME के ​​लिए विकसित किए गए अनुप्रयोग को विंडो या डायलॉग के दाईं ओर सबसे महत्वपूर्ण बटन रखना चाहिए, जबकि Microsoft Windows और KDE में विपरीत परंपरा है। हालांकि इनमें से कई अंतर सूक्ष्म हैं, एक क्रॉस- पटलअनुप्रयोग जो इन सम्मेलनों के अनुरूप नहीं है, उपयोगकर्ता के लिए भद्दा या विदेशी लग सकता है। तेजी से काम करते समय, इस तरह के विरोधी सम्मेलनों के परिणामस्वरूप डेटा हानि भी हो सकती है, जैसे एक संवाद बॉक्स में यह पुष्टि करना कि परिवर्तनों को सहेजना या त्यागना है या नहीं।
* अलग-अलग प्लेटफ़ॉर्म में अक्सर अलग-अलग उपभोक्ता अंतरापृष्ठ अधिवेशन होते हैं, जो क्रॉस-प्लेटफ़ॉर्म अनुप्रयोग हमेशा समायोजित नहीं होते हैं। उदाहरण के लिए, मैकओएसऔर जीएनओएमई के ​​लिए विकसित किए गए अनुप्रयोग को विंडो या डायलॉग के दाईं ओर सबसे महत्वपूर्ण बटन रखना चाहिए, जबकि माइक्रोसॉफ्ट विंडोज और केडीई में विपरीत परंपरा है। हालांकि इनमें से कई अंतर सूक्ष्म हैं, एक क्रॉस- प्लेटफ़ॉर्म अनुप्रयोग जो इन सम्मेलनों के अनुरूप नहीं है, उपयोगकर्ता के लिए भद्दा या विदेशी लग सकता है। तेजी से काम करते समय, इस तरह के विरोधी सम्मेलनों के परिणामस्वरूप आँकड़े हानि भी हो सकती है, जैसे एक संवाद बॉक्स में यह पुष्टि करना कि परिवर्तनों को सहेजना या त्यागना है या नहीं।
* स्क्रिप्टिंग भाषाओं और वीएम बाइटकोड को हर बार उपयोग किए जाने पर मूल निष्पादन योग्य कोड में अनुवादित किया जाना चाहिए, एक प्रदर्शन जुर्माना लगाया जाता है। जस्ट-इन-टाइम संकलन जैसी तकनीकों का उपयोग करके इस दंड को कम किया जा सकता है; लेकिन कुछ कम्प्यूटेशनल ओवरहेड अपरिहार्य हो सकते हैं।
* लिपिन्यास भाषाओं और वीएम बाइटसंकेतक को हर बार उपयोग किए जाने पर मूल निष्पादन योग्य संकेतक में अनुवादित किया जाना चाहिए, एक प्रदर्शन जुर्माना लगाया जाता है। जस्ट-इन-टाइम संकलन जैसी तकनीकों का उपयोग करके इस दंड को कम किया जा सकता है, लेकिन कुछ संगणनात्मक ऊपरी अपरिहार्य हो सकते हैं।
* विभिन्न प्लेटफार्मों को मूल संपुष्टि प्रारूपों जैसे आरपीएम और एमएसआई के उपयोग की आवश्यकता होती है। मल्टी- पटलइंस्टॉलर जैसे कि InstallAnywhere इस आवश्यकता को पूरा करता है।
* विभिन्न प्लेटफार्मों को मूल संपुष्टि प्रारूपों जैसे आरपीएम और एमएसआई के उपयोग की आवश्यकता होती है। मल्टी- प्लेटफ़ॉर्म संस्थापक जैसे कि इनस्टॉल एनीवेयर इस आवश्यकता को पूरा करता है।
* क्रॉस- पटलनिष्पादन परिवेशों को क्रॉस- पटलसुरक्षा खामियों का सामना करना पड़ सकता है, जिससे क्रॉस- पटलमैलवेयर के लिए एक उपजाऊ वातावरण बन सकता है।<ref>{{Cite web|url=https://www.theverge.com/2020/1/14/21065122/microsoft-windows-7-end-of-support-lifecycle-millions-pcs|title=Microsoft bids farewell to Windows 7 and the millions of PCs that still run it|last=Warren|first=Tom|date=2020-01-14|website=The Verge|language=en|access-date=2020-02-06}}</ref>
* क्रॉस- प्लेटफ़ॉर्म निष्पादन परिवेशों को क्रॉस- प्लेटफ़ॉर्म सुरक्षा खामियों का सामना करना पड़ सकता है, जिससे क्रॉस- प्लेटफ़ॉर्म मैलवेयर के लिए एक उपजाऊ परिवेश बन सकता है।<ref>{{Cite web|url=https://www.theverge.com/2020/1/14/21065122/microsoft-windows-7-end-of-support-lifecycle-millions-pcs|title=Microsoft bids farewell to Windows 7 and the millions of PCs that still run it|last=Warren|first=Tom|date=2020-01-14|website=The Verge|language=en|access-date=2020-02-06}}</ref>
==यह भी देखें==
==यह भी देखें==
* क्रॉस- पटलप्ले
* क्रॉस- प्लेटफ़ॉर्म प्ले
* हार्डवेयर-अज्ञेयवादी
* हार्डवेयर-अज्ञेयवादी
*सॉफ्टवेयर पोर्टेबिलिटी
*सॉफ्टवेयर सुवाह्यता
* क्रॉस- पटलप्ले का समर्थन करने वाले वीडियो गेम की सूची
* क्रॉस- प्लेटफ़ॉर्म प्ले का समर्थन करने वाले वीडियो गेम की सूची
* विजेट टूलकिट की सूची
* विजेट उपकरणकिट की सूची
* हार्डवेयर वर्चुअलाइजेशन
* हार्डवेयर आभासीकरण
* जावा (सॉफ्टवेयर पटल)
* जावा (सॉफ्टवेयर प्लेटफ़ॉर्म)
*भाषा बंधन
*भाषा बंधन
* ट्रांसकंपाइलर
* ट्रांसकंपाइलर
* बाइनरी-कोड संगतता
* युग्मक-संकेतक संगतता
* ज़ामरीन
* ज़ामरीन
* मैसेजिंग पटल की उपयोगकर्ता सुविधाओं की तुलना
* संदेश प्रेषण प्लेटफ़ॉर्म की उपयोगकर्ता सुविधाओं की तुलना
* मोबाइल विकास ढांचे, जिनमें से कई क्रॉस-पटल हैं।
* मोबाइल विकास ढांचे, जिनमें से कई क्रॉस-प्लेटफ़ॉर्म हैं।


==संदर्भ==
==संदर्भ==
{{Reflist}}
{{Reflist}}


{{DEFAULTSORT:Cross-Platform}}[[Category:क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर| ]]
{{DEFAULTSORT:Cross-Platform}}
[[Category: कंप्यूटिंग प्लेटफॉर्म]]
 
[[Category: इंटरऑपरेबिलिटी]]
 




==
==


 
[[Category:Articles with hatnote templates targeting a nonexistent page|Cross-Platform]]
[[Category: Machine Translated Page]]
[[Category:Articles with invalid date parameter in template|Cross-Platform]]
[[Category:Created On 06/09/2022]]
[[Category:Articles with short description|Cross-Platform]]
[[Category:CS1 English-language sources (en)|Cross-Platform]]
[[Category:CS1 maint|Cross-Platform]]
[[Category:Created On 06/09/2022|Cross-Platform]]
[[Category:Lua-based templates|Cross-Platform]]
[[Category:Machine Translated Page|Cross-Platform]]
[[Category:Missing redirects|Cross-Platform]]
[[Category:Pages with script errors|Cross-Platform]]
[[Category:Short description with empty Wikidata description|Cross-Platform]]
[[Category:Templates Vigyan Ready|Cross-Platform]]
[[Category:Templates that add a tracking category|Cross-Platform]]
[[Category:Templates that generate short descriptions|Cross-Platform]]
[[Category:Templates using TemplateData|Cross-Platform]]
[[Category:Wikipedia articles needing clarification from July 2018|Cross-Platform]]
[[Category:इंटरऑपरेबिलिटी|Cross-Platform]]
[[Category:कंप्यूटिंग प्लेटफॉर्म|Cross-Platform]]
[[Category:क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर| ]]

Latest revision as of 15:30, 25 August 2023

अभिकलन में, क्रॉस- प्लेटफ़ॉर्म सॉफ़्टवेयर (जिसे मल्टी- प्लेटफ़ॉर्म सॉफ़्टवेयर, प्लेटफ़ॉर्म-अज्ञेय सॉफ़्टवेयर या प्लेटफ़ॉर्म-स्वतंत्र सॉफ़्टवेयर भी कहा जाता है) अभिकलित्र सॉफ़्टवेयर (यंत्रेतर सामग्री) है जिसे कई अभिकलन प्लेटफ़ॉर्म में काम करने के लिए परिकलन किया गया है।[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.




==