2009-06-03 17 views

उत्तर

200

यह एक बेहद व्यापक सवाल है। मेरी कंपनी ने हाल ही में दो प्रौद्योगिकियों के बीच मतभेदों को रेखांकित करते हुए एक श्वेतपत्र लिखा है, और यह लगभग 70 पृष्ठ हैं। दुर्भाग्य से, यह अभी तक प्रकाशित नहीं हुआ है, या मैं आपको लिंक दूंगा।

संपादित करें: के रूप में वादा किया था, यहाँ श्वेतपत्र के लिए लिंक Codeplex पर है:

http://wpfslguidance.codeplex.com/

हालांकि, मैं संक्षेप में प्रस्तुत करने की कोशिश करेंगे।

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

  2. WPF के भीतर, सभी दृश्यमान प्रतिपादन तत्व विजुअल बेस क्लास से प्राप्त होते हैं। सिल्वरलाइट के भीतर, वे नहीं करते; इसके बजाय, वे नियंत्रण से निकलते हैं। हालांकि, दोनों प्रौद्योगिकियां, अंततः पदानुक्रम पर निर्भरता ऑब्जेक्ट क्लास से प्राप्त होती हैं।

  3. डब्ल्यूपीएफ, वर्तमान में, जहाजों या सिल्वरलाइट की तुलना में अधिक उपयोगकर्ता नियंत्रण उपलब्ध है; हालांकि इस अंतर को सिल्वरलाइट टूलकिट और सिल्वरलाइट 3 की आगामी रिलीज के माध्यम से कम किया जा रहा है।

  4. डब्ल्यूपीएफ 3 प्रकार की रूटेड घटनाओं (प्रत्यक्ष, बुलबुले और सुरंग) का समर्थन करता है। सिल्वरलाइट केवल प्रत्यक्ष और बुलबुले का समर्थन करता है।

  5. कुछ डेटा-बाइंडिंग मतभेद हैं जो सिल्वरलाइट के अगले संस्करण के साथ कुछ हद तक कम हो जाएंगे। वर्तमान में, सिल्वरलाइट बाध्यकारी मोड, OneWayToSource, या Explict UpdateSourceTriggers का समर्थन नहीं करता है। इसके अलावा, अगर कोई भी सेट नहीं है, तो Silverlight OneWay डेटाबेस को डिफ़ॉल्ट करता है, जबकि WPF निर्भरता गुण द्वारा निर्दिष्ट डिफ़ॉल्ट मोड का उपयोग करता है।

  6. सिल्वरटाइट मल्टीबाइंडिंग का समर्थन नहीं करता है।

  7. सिल्वरलाइट XmlDataProvider का समर्थन करता है लेकिन ऑब्जेक्टडेटाप्रोवाइडर नहीं। डब्ल्यूपीएफ दोनों का समर्थन करता है।

  8. सिल्वरलाइट केवल एसिंक्रोनस नेटवर्क कॉल कर सकता है। डब्ल्यूपीएफ के पास नेट नेट नेटवर्किंग स्टैक तक पहुंच है और किसी भी प्रकार की कॉल कर सकती है। इसके अलावा, वर्तमान में, सिल्वरलाइट एसओएपी का समर्थन करता है, लेकिन एसओएपी गलती अपवादों को मूल रूप से संभाल नहीं सकता है (यह सिल्वरलाइट 3 में बदल सकता है)।

  9. क्रिप्टोग्राफ़ी में बहुत अंतर हैं (सिल्वरलाइट में नामस्थान में 20 कक्षाएं हैं, जबकि डब्ल्यूपीएफ के पास 107 तक पहुंच है)। असल में, सिल्वरलाइट केवल 4 हैशिंग एल्गोरिदम और एईएस एन्क्रिप्शन प्रोटोकॉल का समर्थन करता है।

  10. सिल्वरलाइट करता है अभी तक नहीं समर्थन: कमांडिंग मान्यकरण, छपाई, एक्सपीएस दस्तावेज, भाषण, 3 डी, Freezable वस्तुओं, या Interop Windows डेस्कटॉप के साथ; जो सभी डब्ल्यूपीएफ में उपलब्ध हैं।

  11. सिल्वरलाइट ब्राउज़र इंटरऑप का समर्थन करता है, टाइमलाइन मार्कर और डीप ज़ूम समेत अधिक मीडिया स्ट्रीमिंग विकल्प। डब्ल्यूपीएफ अभी तक इन सुविधाओं का समर्थन नहीं करता है।

यह किसी भी तरह से पूरा नहीं है क्योंकि मैं बुलेट पॉइंट्स में 70-पेज दस्तावेज़ को कम करने की कोशिश कर रहा था।

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

+0

बहुत अच्छी प्रतिक्रिया, धन्यवाद। लेकिन मुझे नहीं लगता कि चांदी की रोशनी कभी गलती का समर्थन करेगी। कारण यह है कि ब्राउजर इसे आपके प्लगइन (यानी चांदी की रोशनी) भेजने से पहले HTTP संदेश को रोकते हैं। अगर HTTP संदेश में कोई है त्रुटि कोड (उदाहरण के लिए 500), संदेश प्लगइन में स्थानांतरित नहीं किया गया है और ब्राउज़र द्वारा त्याग दिया गया है। लेकिन एसओएपी वी 1.2 विनिर्देशन http://www.w3.org/TR/2007/REC-soap12-part0-20070427/ 4.1.2 अनुभाग के अंत में संक्षेप में कहते हैं कि यदि webservice एक SOAP गलती फेंक देता है, तो HTTP प्रतिक्रिया के शीर्षलेख को एक त्रुटि 500 ​​"आंतरिक सर्वर त्रुटि" वापस करनी होगी। –

+1

दरअसल, ऐसा लगता है कि सिल्वरलाइट 3 एसओएपी अपवादों को लपेट देगा। Http://msdn.microsoft.com/en-us/library/dd470096(VS.96).aspx पर बीटा दस्तावेज़ देखें। – SergioL

+0

मेरा मानना ​​है कि नंबर 6 पुराना है - क्या सिल्वरलाइट अब मल्टीबाइंडिंग का समर्थन नहीं करता है? – JoeCool

9

WPF .NET Framework में विंडोज अनुप्रयोग विकसित करने के लिए एक विंडोज डेस्कटॉप तकनीक है।

सिल्वरलाइट एक वेब तकनीक है, जो विंडोज और मैक (फ्लैश के समान रूप में) दोनों पर ब्राउज़र प्लगइन द्वारा पूरी तरह से समर्थित है। लिनक्स (चंद्रमा) पर सिल्वरलाइट चलाने के लिए एक प्लगइन भी है।

जबकि डब्ल्यूपीएफ और सिल्वरलाइट (यूजर इंटरफेस घटकों और एक्सएएमएल के लिए समर्थन के मामले में) द्वारा प्रदान की गई कार्यक्षमता के बीच समानताएं हैं, सिल्वरलाइट एक बहुत छोटा ढांचा है, जिसमें डब्ल्यूपीएफ कार्यक्षमता का सबसेट होता है। सिल्वरलाइट के नए संस्करणों में वास्तव में WPF में कुछ कार्यक्षमता नहीं मिली है, इसलिए यह अब एक सच्चे सबसेट नहीं है।

+2

असल में है, सिल्वरलाइट WPF में मौजूद नहीं WPF टूलकिट माध्यम से उपलब्ध हैं सुविधाओं, और WPF में शामिल किया जाएगा 4 –

+0

दुर्भाग्य से यह DeepZoom तरह लग रहा है की गई WPF 4.0 से 'काट' है, इसलिए यह एक सिल्वरलाइट सुविधा अभी भी गायब है :-( http://blogs.msdn.com/jaimer/archive/2009/05/27/wpf-4-and-net-framework-4-beta-1-list-of -फेचर-totrack.aspx – Conceptdev

3

डब्ल्यूपीएफ की चीजें हैं जो सिल्वरलाइट नहीं करती है: डायरेक्टएक्स पर आधारित पूर्ण 3 डी इंजन, विंडोज 7 टास्कबार थंबनेल और सिस्टम रजिस्ट्री उपलब्धता जैसे विंडोज एकीकरण के साथ-साथ ओरेकल डेटाबेस समर्थन सहित पूर्ण .NET Framework तक पहुंच। इसके अलावा, एसएल एक सुरक्षित सैंडबॉक्स में चलता है जो पूरे फाइल सिस्टम जैसी चीजों तक पहुंच को रोकता है जहां डब्ल्यूपीएफ ऐप्स पूर्ण सिस्टम एक्सेस के साथ पूर्ण विश्वास चला सकते हैं।

जैसा ऊपर बताया गया है, एसएल ने विजुअलस्टेट मैनेजर जैसी कुछ तकनीकों का नेतृत्व किया जो माइक्रोसॉफ्ट समर्थित WPF टूलकिट के माध्यम से दूसरी बार डब्ल्यूपीएफ में बना रहे हैं।

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

1

आप कह सकते हैं कि यह [बहुत] फ्लेक्स और एडोब एयर के बीच अंतर के समान है, लेकिन यह कुछ हद तक भ्रामक है।

डब्ल्यूपीएफ प्रौद्योगिकियों के सेट (एपीआई के माध्यम से खुलासा) को संदर्भित करता है कि .NET Framework 3.0 और उपरोक्त उपयोगकर्ताओं को स्क्रीन पर आकर्षित करने के लिए उपयोग किया जाता है।

कई WPF एपीआई सिल्वरलाइट ऐप्स के लिए उपलब्ध हैं।

निश्चित रूप से डब्ल्यूपीएफ के अलावा कई अन्य एपीआई हैं जो सिल्वरलाइट के तहत उपलब्ध हैं क्योंकि एसएल ऐप्स को स्क्रीन पर सिर्फ आकर्षित करने के लिए बहुत कुछ करने की आवश्यकता होगी।

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