मुझे सिल्वरलाइट / सिल्वरलाइट आउट-ऑफ-ब्राउज़र / wpf के बीच निर्णय लेने में सहायता की आवश्यकता है


10

मैं फिर से लिखने के प्रोजेक्ट के शुरुआती प्लानिंग चरण में हूँ और मैं सिल्वरलाइट / सिल्वरलाइट ऑब / wpf के बीच निर्णय ले रहा हूँ। अंत में टीएल; डीआर।

यह एक LOB ऐप है जो लीड / कस्टमर्स / अपॉइंटमेंट कैलेंडर संभालता है। बहुत जटिल नहीं है। मैं स्वतंत्र रूप से इन विकल्पों पर कहीं और शोध कर रहा हूं, लेकिन मुझे लगा कि मैं आसपास पूछूंगा। कुछ प्रारंभिक प्रारंभिक आवश्यकताएं / दूरदर्शिता समस्याएं हैं:

मुझे कमांडलाइन आर्ग्स (सिप फोन) के साथ सिस्टम पर एक एक्सई को कॉल करने में सक्षम होना चाहिए।

SL को एक समस्या बनाता है

उपयोगकर्ताबेस वितरित किया गया है और मैं उस ट्रैफ़िक को सीमित करना चाहता हूं जो जितना संभव हो उतना तार पर जाता है और कुछ बुरा संगीन मुद्दों से बचता है

मैं इसे WPF का उपयोग करते हुए एक समस्या के रूप में देख सकता हूं

सॉफ़्टवेयर परिनियोजन / अद्यतन करने के लिए मृत सरल होना चाहिए । कुछ उपयोगकर्ता अत्यधिक गैर-तकनीकी होते हैं (देखें: पहली बार कंप्यूटर पर 70 वर्ष पुराना है)

यह एक बड़ी समस्या नहीं है अब हम जिस ClickOnce ऐप की जगह ले रहे हैं, और उसका उन मशीनों पर नियंत्रण है, जिन पर इसका इस्तेमाल होता है। हालाँकि, यह उपयोगकर्ताओं के लिए सरल है अगर उन्हें क्लिकोन "इंस्टॉल" बटन पर क्लिक करने की आवश्यकता नहीं है। मुझे नहीं पता कि यह सिल्वरलाइट OOB के साथ कैसे संभाला जाता है।

कंपनी 12 महीनों में एक कठिन विस्तार की योजना बना रही है, इसलिए हार्डवेयर की तैनाती तेज / आसान होनी चाहिए। यह विचार एक नए स्थान पर इंटरनेट कनेक्शन प्राप्त करने, कुछ कंप्यूटरों में प्लग करने और समर्पित आईटी लोगों या सर्वर सेटअप की आवश्यकता के बिना काम करने में सक्षम है।

SL अपील करता है

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

SL अपील करता है

कई 'संस्करण' बनाना खिड़की से बाहर है। मुझे नहीं पता कि यह सिल्वरलाइट + सिल्वरलाइट ओब संस्करण बनाए रखने की तरह है (यदि कोई समस्या है)

WPF को एक बेहतर विकल्प बना सकते हैं।

TL; DR: मेरे सहूलियत बिंदु से, एक सिल्वरलाइट ऐप 90% उपयोगकर्ताओं के लिए सबसे अच्छा अर्थ है - अन्य 10% इसका उपयोग नहीं कर सकते क्योंकि उन्हें एक exe चलाने की आवश्यकता है। सिल्वरलाइट OOB एक खुशमिजाज मिडलग्राउंड हो सकता है, लेकिन मैं इस समय नहीं जानता कि इसके लिए निष्पादन मॉडल क्या है (क्या अभी भी सर्वर-साइड कोड की अवधारणा है? यदि हां, तो यह संभवतः आदर्श होगा) और मैं नहीं जानते हैं कि इसके लिए तैनाती / अद्यतन कैसे काम करता है।


आप पहले स्थान पर ClickOnce एप्लिकेशन को क्यों बदलना चाहते हैं? ClickOnce के पास स्वचालित रूप से एप्लिकेशन के स्टार्टअप पर उपलब्ध अपडेट को जांचने और डाउनलोड करने का विकल्प है। मैंने ऐसा किया है कि replayer.codeplex.com
Marcel

जवाबों:


6

अच्छी तरह से - दिलचस्प समस्या। आप यह उल्लेख करना भूल गए कि आपके पास SL4 के रूप में एक सिल्वरलाइट पूर्ण ट्रस्ट एप्लिकेशन हो सकता है, इसलिए यदि आप WPF के बारे में सोच रहे हैं तो आप इसके बजाय उस पर विचार करना चाह सकते हैं। इसे स्थापित करने (ClickOnce) की आवश्यकता होगी, लेकिन आप इससे दूर जा रहे हैं।

मैंने अभी तक OOB के साथ कुछ भी नहीं किया है, लेकिन मुझे पूरा यकीन है कि एक ही बाइनरी का उपयोग ब्रॉसर और ब्राउज़र के बाहर दोनों में किया जा सकता है क्योंकि यह एक अलग बिल्ड लक्ष्य के बजाय एक प्रोजेक्ट सेटिंग है।

"ब्राउज़र से रनिंग एप्लिकेशन को सक्षम करें"

सिल्वरलाइट प्रोजेक्ट के सिल्वरलाइट टैब पर।

इसलिए वहां कोई अलग रखरखाव मुद्दा नहीं होगा।

आप सिल्वरलाइट ऐप को होस्ट करने वाले वेब एप्लिकेशन में उचित मात्रा में कोड बना सकते हैं और डब्ल्यूसीएफ आरआईए सेवाओं का उपयोग करके संवाद कर सकते हैं - फिर आपको इसके 1.0 संस्करण प्राप्त करने के लिए .NET 4 और SL 4 के साथ जाना होगा। .NET 3.5 और SL 4 केवल WCF RIA सेवाओं के बीटा का समर्थन करता है। इससे a) डाउनलोड का आकार कम हो जाएगा और b) कोड की मात्रा जो क्लाइंट पर निष्पादित करने की आवश्यकता होगी, लेकिन नेटवर्क ट्रैफ़िक में वृद्धि होगी।

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

"एप्लिकेशन लाइब्रेरी कैशिंग का उपयोग करके XAP आकार कम करें"

विकल्प।

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


1
+1: आपके इनपुट @ क्रिस के लिए धन्यवाद। मैं बस चाहता हूं कि मैं आपको IRL जानता था ताकि मैं आपके दिमाग को चुन सकूं।
स्टीवन एवर्स

2

आपका विश्लेषण बहुत अच्छा है।

केवल एक चीज जो मैं उल्लेख करूंगा वह यह है कि सिल्वरलाइट एप्लिकेशन में आप सभी ढांचे उपलब्ध नहीं हैं। वह प्रतिबंध MAY आपकी पसंद को WPF की ओर झुकाता है, लेकिन आपको यह देखना होगा कि यह प्रतिबंध आपके आवेदन की आवश्यकताओं पर लागू होता है या नहीं।


यह ऐप ज्यादातर एक क्रूड ऐप है, जिसमें एसआईपी फोन के माध्यम से कॉल करने की आवश्यकता के अपवाद के माध्यम से यह exe + args है, इसलिए मुझे नहीं लगता कि मैं लापता ढांचे के किसी भी हिस्से को याद करूंगा।
स्टीवन एवर्स

2

बस कुछ त्वरित बातें:

परिनियोजन और "सर्वर-साइड कोड": एक सिल्वरलाइट ऐप एक क्लाइंट-साइड ऐप, सादा और सरल है। मात्र तथ्य यह है कि यह ब्राउज़र के माध्यम से दिया जाता है आप को भ्रमित मत करो - जब आप एक इन-ब्राउज़र SL ऐप चलाते हैं, तो आप उस ऐप के लिए असेंबलियों को ज़िप किए गए पैकेज में डाउनलोड कर रहे हैं, उन्हें निकाल रहे हैं, और प्लगइन का उपयोग करके चला रहे हैं। अपने आप में सिल्वरलाइट में "सर्वर-साइड कोड" की कोई धारणा नहीं है - यदि आप रिमोट सर्वर पर कोड चलाना चाहते हैं, तो WFF सेवा लिखें।

एप को अपडेट करना: यह ओओबी एप्स के लिए एक सामान्य परिदृश्य है और एसएल में बिल्ट-इन सपोर्ट है। CheckAndDownloadUpdateAsync के लिए Google आसपास।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.