2008-11-03 19 views
6

एक प्रोग्रामर वेब दुनिया में फंस गया से ...डेस्कटॉप सॉफ्टवेयर विकास विकल्पों

सबसे आम डेस्कटॉप विकास "चौखटे" वर्तमान में डेस्कटॉप अनुप्रयोग विकास के लिए इस्तेमाल किया जा रहा है?

  1. क्या विंडोज और ओएस एक्स दोनों के लिए डेस्कटॉप सॉफ्टवेयर लिखना यथार्थवादी है?

  2. क्या यह एक ऐसे बेस कोड का उपयोग करने के लिए यथार्थवादी है जो किसी आंशिक वेब यूआई के साथ-साथ डेस्कटॉप यूआई के लिए व्यवसाय/डेटा परतों को लिखने के लिए यथार्थवादी है?

उत्तर

3
  1. हां। आप जावा, पायथन/रूबी इत्यादि का उपयोग क्रॉस प्लेटफॉर्म यूआई फ्रेमवर्क, एआईआर इत्यादि के साथ कर सकते हैं।

  2. हां यह यथार्थवादी है। इसे क्लाइंट/सर्वर मॉडल पर बनाएं और अधिकांश कोड डेस्कटॉप या वेब यूआई मॉडल में फिट होंगे।

यदि आप नेट जड़ नीचे चला गया है, तो आप Silverlight वेब अनुप्रयोग, बैकएंड और यहां तक ​​कि मोनो के लिए .NET सर्वर कोड के लिए आप सक्षम करने के लिए इस्तेमाल कर सकते हैं ओएस एक्स

यदि आप के लिए विकसित करने के लिए जावा रूट ले लिया, जावा ब्राउज़र के भीतर चलाता है, जावाफैक्स जल्द ही आ रहा है जो ब्राउज़र के लिए एक छोटा फ्लैश-जैसा संस्करण है। यह सिर्फ सभी ओएस के बारे में चलता है और बैकएंड को ठीक से संभाल सकता है।

फ्लेक्स/एआईआर ओएस एक्स, विंडोज और लिनक्स के लिए डेस्कटॉप और वेब-आधारित ऐप्स विकसित करने का एक शानदार तरीका प्रदान करता है, लेकिन आपको बैक एंड के लिए एक और भाषा की आवश्यकता होगी। .NET, जावा, PHP इत्यादि सभी बैकएंड के रूप में ठीक काम करते हैं।

संपादित
MrJeepster के अनुरोध पर, यहाँ एक आकाशवाणी दृश्यपटल और .NET बैकएंड इंटरफ़ेस पर विवरण हैं:

आप दो तरह से एक .NET बैकएंड को एयर इंटरफेस कर सकते हैं: DIY रास्ता और दूरस्थ मार्ग।

DIY तरीके में आपके स्वयं के (संभवतः एक्सएमएल) डेटा स्वरूपों को परिभाषित करना और निम्न सर्वर HTTP अनुरोध ऑब्जेक्ट्स का उपयोग करना HTTP सर्वर के साथ संवाद करने के लिए, या यहां तक ​​कि निम्न स्तर सॉकेट कक्षाओं को किसी अन्य सर्वर के साथ संवाद करने में शामिल करना होगा।

दूरस्थ तरीका सभी को एक साथ आसान के रूप में अच्छा लोगों को मुफ्त दूरस्थ संकुल के चयन में लिखा है है:

http://www.adobe.com/devnet/flashremoting/articles/intro_flremoting_net.html
http://www.themidnightcoders.com/flashorb/gettingStarted.htm
http://www.fluorinefx.com/

दूरस्थ क्लाइंट और सर्वर के बीच वस्तुओं को साझा करने में शामिल है। तो आप एआईआर क्लाइंट पर कुछ ऑब्जेक्ट बनाते हैं, रीमोटिंग फ्रेमवर्क को सीरियलाइज करने के लिए प्राप्त करें, इसे सर्वर पर स्थानांतरित करें और इसे .NET ऑब्जेक्ट में deserialise करें। सर्वर तब प्रक्रिया करता है और इसे उसी मार्ग के माध्यम से फिर से भेजता है, या एक नई वस्तु भेजता है।

+0

क्या आप कुछ और विवरण दे सकते हैं कि एआईआर बैक एंड के रूप में नेट भाषा के साथ कैसे काम करेगा? –

1

क्यूटी (या तो सी ++ या अजगर पर) मैक के बीच पूरी तरह से पोर्टेबल है/जीत/लिनक्स। इसमें QtWebKit भी शामिल है, इसलिए आपके ऐप में वास्तविक, आधुनिक ब्राउज़र एम्बेड करना आसान है।

1
  1. यदि आप क्रॉस प्लेटफॉर्म की तलाश में हैं तो मैं क्यूटी का सुझाव दे सकता हूं। हमने इसे कुछ साल पहले यहां इस्तेमाल किया था। यह लाइसेंस प्रति डेवलपर और मूल्यवान है हालांकि (कम से कम यह तब था)।

  2. निश्चित रूप से, आप वेब सेवाओं का उपयोग कर सकते हैं।

2

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

1

.NET और mono के साथ जाकर एक सभ्य विकल्प है।

+0

जावा – willcodejavaforfood

+0

True @willcodejavaforfood की तुलना में नहीं। जब आप जावा प्रोगोज़ पा सकते हैं जो लगभग मुफ्त में कोड करने के इच्छुक हैं, तो बस इसे ठीक करें और कुत्ते के भोजन में फेंक दें। ;) – kenny

0

हमने जावा का उपयोग करके कई बहु-स्तरीय, क्रॉस-प्लेटफ़ॉर्म ऐप्स बनाए हैं। डेस्कटॉप पर स्विंग ने वास्तव में हमारे लिए काम किया।

0

हम जावा (स्विंग) का उपयोग करके स्वयं एक छोटा क्रॉस प्लेटफ़ॉर्म ऐप बना रहे हैं और यह वास्तव में अच्छा है। कम से कम अब तक। : डी

0

मै मैक ओएस एक्स और विंडोज दोनों के लिए विभिन्न प्रकार के डेस्कटॉप एप्लिकेशन बनाने के लिए रीयलबेसिक का उपयोग करता हूं। यह काफी अच्छी तरह से काम करता है।

हालांकि यह डेस्कटॉप/वेब यूआई के साथ साझा करने के लिए अलग परत बनाने के लिए खुद को उधार नहीं देता है।

संबंधित मुद्दे