wpf - क्या यह सूची माइक्रोसॉफ्ट के वर्तमान अनुप्रयोग परिनियोजन विकल्पों की एक सही समझ है?




silverlight xbap (4)

मैं कई अनुप्रयोग तैनाती विकल्पों के आसपास अपना सिर प्राप्त करने की कोशिश कर रहा हूं जो कि माइक्रोसॉफ्ट वर्तमान में पेश करता है

कुछ शोध करने से दर्जनों भ्रामक शब्दों को मिला:

  • "WPF ऐप"
  • "क्लिक एक बार ऐप"
  • "WPF क्लिकऑन ऐप"
  • "एमएसआई ऐप"
  • "एक्सबीएपी ऐप"
  • "क्लिक करें एक साथ एक्सबीएपी ऐप तैनात"
  • "इंस्टॉल किए गए क्लिक एक बार ऐप"
  • "WPF वेब ऐप"
  • "एएसपी.नेट वेब ऐप"
  • "एएसपी.नेट एमवीसी वेब ऐप"
  • "सिल्वरलाइट ऐप"
  • "पूर्ण WPF ऐप"
  • "सिंक फ्रेमवर्क समर्थन के साथ क्लिक करें"

मैंने अपने निष्कर्षों को नीचे सात अलग दृष्टिकोणों में साफ कर दिया। प्रतिक्रिया की सराहना करेंगे:

  1. "एमएसआई के साथ तैनात WPF ऐप" (बहुत से इंस्टॉलेशन विकल्पों की अनुमति देता है)

    • लक्ष्य कंप्यूटर पर आवश्यक MSI रनटाइम
    • विकल्पों के साथ विज़ार्ड
    • प्रति-उपयोगकर्ता या प्रति-मशीन निर्दिष्ट कर सकते हैं
    • लक्ष्य कंप्यूटर पर फ़ाइलों और रजिस्ट्री को संशोधित कर सकते हैं, केवल प्रशासक द्वारा निर्धारित अभिगम अनुमति द्वारा सीमित
    • शॉर्टकट को डेस्कटॉप पर रख सकते हैं
    • सिस्टम फ़ाइलों की जगह, आदि लक्ष्य कंप्यूटर पर DLL नरक में शामिल करना आसान बनाता है
    • अपडेट करना एक बड़ा नकारात्मक है: उपलब्ध अपडेट का पता लगाने के लिए अतिरिक्त टूल / कस्टम प्रोग्रामिंग की आवश्यकता होती है, जिसमें इन्हें बनाया नहीं गया है
    • उपयोगकर्ता को आवेदन का उपयोग करने के लिए ऑनलाइन होना जरूरी नहीं है
  2. "क्लिक करें एक साथ WPF ऐप तैनात": (यदि आप स्वत: अद्यतन करना चाहते हैं लेकिन सैंडबॉक्स में चलाता है तो अच्छा)

    • दो क्लिक्स की आवश्यकता है (हाइपरलिंक पर क्लिक करें, हां क्लिक करें), कोई भी उपयोगकर्ता इनपुट नहीं है
    • केवल वर्तमान उपयोगकर्ता के लिए, कोई प्रति-मशीन इंस्टॉलेशन नहीं
    • डेस्कटॉप पर कोई शॉर्टकट नहीं है
    • सामान्य अनुप्रयोगों की तरह प्रोग्राम सूची में दिखाई देता है
    • अनुप्रयोग फाइलें हमेशा मेरी प्रतिलिपि में कॉपी की जाती हैं
    • आपके आवेदन के लिए एक शॉर्टकट प्रारंभ मेनू / आपकी कंपनी के नाम में डाल दिया जाएगा
    • ऑपरेटिंग सिस्टम से पृथक लक्ष्य कंप्यूटर को संशोधित नहीं किया जा सकता है
    • स्वचालित रूप से नए संस्करण का पता लगाता है और अपडेट करता है
    • एक वेबसर्वर (जहां ग्राहकों को पता लगाता है और उन्हें प्राप्त) पर डालकर उन्हें प्रकाशित किया जाता है
    • .NET 2.0 या बाद के संस्करण की आवश्यकता है
    • जावा वेब प्रारंभ के साथ तुलनीय
    • चार समस्याओं को हल करता है: (1) आसान तैनाती, (2) आसान अद्यतन, (3) लक्षित कंप्यूटर पर कम प्रभाव, (4) व्यवस्थापक अनुमतियों की कोई ज़रूरत नहीं।
    • माना जाता है "कम प्रभाव"
    • अगर दो उपयोगकर्ताओं के पास एक ही मशीन पर एक ही क्लिक एक अनुप्रयोग स्थापित होता है, तो वे एक-दूसरे को नहीं तोड़ेंगे
    • सुरक्षा के लिए सीएएस को रोजगार
    • उपयोगकर्ता को आवेदन का उपयोग करने के लिए ऑनलाइन होना जरूरी नहीं है
    • स्टैंडअलोन क्लिकऑन ऐप फ़ायरफ़ॉक्स और मैक पर फ़ायरफ़ॉक्स पर काम नहीं करते क्योंकि अब इसकी आवश्यकता है। NET रनटाइम
    • सिंगल-विंडो ऐप्स तक सीमित है क्योंकि वे ब्राउज़र में चलते हैं
    • क्लिकऑन मैनिफ़ेस्ट का निर्माण, सिल्वरलाइट इत्यादि की तुलना में बहुत आसान है, क्योंकि आईडीई आपके लिए इसे लगभग सभी करेगी; आपको बस फ़ाइलों को कहीं से होस्ट करना है (एक वेब URL हो सकता है, यह एक नेटवर्क UNC हो सकता है)
  3. "एक्सबीएपी ऐप": .xbap फ़ाइल, आईई और फ़ायरफ़ॉक्स की एक्ससीपी तैनाती तुरन्त एक वेब पेज की तरह दिखती है

    • एक्सबीएपी मॉडल का वास्तविक लक्ष्य पारंपरिक एचटीएमएल-और-जावास्क्रिप्ट वेबसाइट (या फ्लैश एप्लेट) के लिए एक WPF समतुल्य बनाना है
    • लक्ष्य कंप्यूटर केवल अपने वेब ब्राउज़र (आईई या फ़ायरफ़ॉक्स) में वेब पर बिना संस्थापन के अनुप्रयोग चलाता है
    • वे इंट्रानेट अनुप्रयोगों के लिए अच्छे हैं जहां आप वास्तव में आसान तैनाती चाहते हैं, पूर्ण। NET फ्रेमवर्क (के रूप में Silverlight के विपरीत) और एक ब्राउज़र के नेविगेशन मॉडल।
    • 99% WPF फीचर्स (के रूप में सीरियललाइट के उपसमुच्चय के WPF विशेषताओं के विपरीत)
    • स्वचालित रूप से क्लिकऑन के माध्यम से तैनात किया जा सकता है, लेकिन XCOPY अधिक सामान्य है
    • YourApp.xbap वास्तव में एक ClickOnce तैनाती प्रकट होता है
    • सैंडबॉक्स में चलाना
    • उपयोगकर्ता को आवेदन का उपयोग करने के लिए ऑनलाइन होना चाहिए
    • "विंडो-आधारित" अनुप्रयोगों के विरोध में ये "पृष्ठ-आधारित" अनुप्रयोग होने चाहिए
    • "एक एक्सबीएपी ब्रूज़र के अंदर चलने लगता है क्योंकि यह ब्राउज़र विंडो में इसकी सभी सामग्री प्रदर्शित करता है। यह एक्टिवक्स नियंत्रण (और सिल्वरलाइट) द्वारा उपयोग किए गए मॉडल से अलग है, जो कि ब्राउज़र प्रक्रिया के अंदर लोड किए जाते हैं।"
    • एक्सबीएपी एक "शीघ्र-मुक्त" अनुभव प्रदान करता है, जब तक कि .NET 3.5 स्थापित हो, यह ब्राउज़र में सिर्फ एक वेब पेज की तरह दिखाई देता है।
    • एक्सपीएपी को इंटरऑप के जरिए WinForm नियंत्रण का उपयोग करने की अनुमति नहीं है
    • खिड़कियों का उपयोग करने की अनुमति नहीं खींचें और ड्रॉप
    • सबसे उन्नत डब्ल्यूसीएफ सुविधाओं को अनुमति नहीं दी जाती है और एक्सबीएपी किसी भी सर्वर के साथ किसी अन्य सर्वर से संचार नहीं कर सकता है जहां एक्सबीएपी होस्ट किया गया है
    • "यदि आपके आवेदन के लिए पूर्ण विश्वास की आवश्यकता है, तो आपको एक स्टैंड-अलोन WPF ऐप का निर्माण करने और क्लिकऑन का इस्तेमाल करने पर विचार करना चाहिए" ( प्रो WPF सी # 2008 में )
    • चाल: आप एकाधिक एपरेम्स में एक एचटीएमएल पृष्ठ पर कई एक्सबैप अनुप्रयोग एम्बेड कर सकते हैं।
  4. "सिल्वरलाइट ऐप": क्लाइंट के ब्राउज़र में चलाता है और डाउनलोड करता है 4 एमबी सबनेट का उपयोग नेट फ्रेमवर्क, अर्थात 3 डी नहीं)

    • क्रॉस ब्राउज़र (एप्लिकेशन को ओपेरा और सफारी द्वारा भी इस्तेमाल किया जा सकता है)
    • आवेदन को अद्यतन करना ClickOnce या XBAP के साथ आसान है
    • सिंगल विंडो ऐप
    • आवेदन पाठ्यक्रम के सैंडबॉक्स में है
    • केवल async
  5. "एएपी.नेट एमवीसी विद JQuery / AJAX": आरएडी और टीडीडी के संदर्भ में WPF में विकास के बराबर एक नया विकास प्लेटफॉर्म

    • यह दृष्टिकोण WPF / Silverlight दृष्टिकोण के साथ विचार करने के लिए लायक है
  6. "एएसपी.नेट ऐप": व्यूस्टेट के साथ क्लासिक वेब एप्लिकेशन आदि संभवतः एएसपी.नेट एमवीसी के स्वीकार्यता के रूप में कम और कम इस्तेमाल होंगे

  7. "विनफॉर्म ऐप": क्लासिक खिड़कियां एप्लिकेशन, कम से कम WPF लाभ स्वीकृति के रूप में उपयोग किया जाएगा

मैं विशेष रूप से प्रतिक्रिया की सराहना करता हूं:

  • पुन: प्रयोज्य नियंत्रण कैसे होते हैं (उदाहरण के लिए यदि हम सिल्वरलाइट में विकसित होते हैं, तो क्या हम अपने कोड / नियंत्रणों को एक्सबीएपी में पुनः उपयोग कर सकते हैं?)
  • कभी-कभी ऑफ़लाइन होने वाले क्लाइंट के लिए सबसे अच्छा तरीका क्या है, कभी-कभी ऑनलाइन और WCF तक पहुंच की आवश्यकता है (शायद मुझे लगता है कि एक बार क्लिक करें।

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


परिनियोजन विकल्प क्लाइंट अनुप्रयोगों के लिए एमएस का समर्थन करता है

  • एमएसआई (कोई भी विंडोज ऐप)
  • Clickonce (केवल। नेट क्लाइंट ऐप्स के लिए)

Clickonce WPF विशिष्ट नहीं है

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

सिल्वरलाइट (ज्यादातर) स्रोत WPF के साथ संगत है आप एसएल नियंत्रणों को WPF नियंत्रण के रूप में पुनः कंपाइल कर सकते हैं।

गैर ब्राउज़र होस्ट किया गया क्लिकअनस संभवतः आपके लिए एक अच्छा फिट है


ऐपस्टार्ट अनुभव:

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

क्लिकऑन = केवल विंडोज़ वेबपेज से सक्रिय किया जा सकता है एक बार डाउनलोड की जाती है यह मूल (सर्वर) के बारे में जानकारी रखता है और स्वचालित रूप से अपडेट कर सकता है। ऐप प्रतिबंधित है एनएटी की ज़रूरत है

सिल्वरलाइट = विंडोज / मैक्स / लिनक्स (जल्द) और भावी मोबाइलों (योजनाबद्ध) पर चलाता है। वेबपृष्ठ है या HTML में एम्बेड किया जा सकता है कोड सर्वर पर है और कभी भी इंस्टॉल नहीं किया जाएगा। सिल्वरलिगथ-रनटाइम की आवश्यकता है WPF का सबसेट प्रदान करता है

एक्सबीएपी = चांदी के प्रकाश की तरह मात्र खिड़कियों के लिए। किसी को इसकी आवश्यकता नहीं होगी सिल्वरलाइट बेहतर है

प्रोग्रामिंग प्रौद्योगिकी:

सिल्वरलाइट = ग्राहक मास्किन पर चलाता है WPF का उपयोग करता है *

एएसपी .नेट = सर्वर मैस्चिन पर नेट पर चलती है, लेकिन क्लाइंट मस्किन पर जावास्क्रिप्ट / एचटीएमएल।

WinForms = पुरानी तकनीक

WCF = ब्राउज़र आधारित ऐप्स के लिए काम नहीं करेगा वितरित ऐप्स के लिए है एक क्लाइंट मैशिन में सभी दरवाजे खुल सकता है WCF का उपयोग करना - MSI की आवश्यकता है

WCF सर्वर के लिए एक अच्छा ढांचा प्रदान करता है इंटरफ़ेसिंग के लिए REST का उपयोग करते समय आपको कभी क्लाइंट पर WCF की आवश्यकता नहीं होगी। क्लाइंट को क्लिकऑन और एमएसआई इंस्टॉल किए गए ऐप्स में कनेक्ट / डिस्कनेक्ट किया जा सकता है आपको चांदी के प्रकाश और एएसपी में ऐपर्ट के लिए एक वेबपेज से कनेक्ट करना होगा।

XLML / wpf / xbap के लिए एक्सएएमएल का पुन: उपयोग किया जा सकता है Wpf / silverlight में मामूली परिवर्तन मुझे पता है के रूप में wpf / xbap में कोई परिवर्तन नहीं


मैं "केवल विंडोज़ के लिए सिल्वरलाइट" के रूप में XBAP को खारिज करने के लिए इतनी जल्दी नहीं होगा क्योंकि यह पूर्ण WPF सेट का उपयोग करता है, जब तक आप XBAPs पर लगाए गए आंशिक ट्रस्ट प्रतिबंधों के भीतर काम करते हैं, तब तक एक WPF ऐप और एक XBAP दोनों के लिए समान कोडबेस का उपयोग करना संभव है।

इसके अलावा, एनआईटी 3.5 के रूप में, डब्ल्यूसीएफ आंशिक ट्रस्ट के तहत एक्सबीएपी में काम करता है। आप एक पूर्ण विश्वास WPF ऐप के रूप में ज्यादा नहीं कर सकते, लेकिन यह अभी भी उपयोगी है।