2010-01-20 6 views
6

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

मैं वास्तव में वेब 2.0 और ajax के युग में ब्राउज़र में क्या संभव है की तरह है। दूसरी तरफ स्विंग फ्रंट-एंड बनाने के लिए इतना मुश्किल नहीं है, और आप आम तौर पर उपयोगकर्ता को एक और संगत प्रस्तुति पर भरोसा कर सकते हैं (यद्यपि वाईयूआई या jQuery जैसे अच्छे जावास्क्रिप्ट ढांचे का उपयोग करना ब्राउज़र को सामान्य करने की दिशा में लंबा रास्ता तय करता है)।

जाहिर है दोनों दृष्टिकोण उनके गुण और कमियां हैं। तो, मुझे क्या हल्के वजन (उदा। वेब-आधारित) जीयूआई का उपयोग करने के लिए क्या मानदंड/पैरामीटर/स्थितियों का नेतृत्व करना चाहिए? मुझे क्या मानदंड/पैरामीटर/परिस्थितियों में भारी (उदा। स्विंग-आधारित) जीयूआई का उपयोग करना चाहिए?

यह एक लौ युद्ध, केवल समुदाय की रचनात्मक/उद्देश्य राय में रुचि शुरू करने के लिए अपने इरादे नहीं है।

# संपादित करें 1 पहले कुछ प्रतिक्रियाओं के प्रकाश में, मैं स्पष्ट करने के लिए है कि मैं परवाह किए बिना अपने आवेदन को तैनात करने, जरूरी कुछ इंटरनेट सर्वर पर होस्ट नहीं चाहते हैं चाहते हैं। तो मुझे एक हल्के वजन वाले वेब-सर्वर आधारभूत संरचना ला ला जेटी/टॉमकैट या इसी तरह के साथ तैनात करना होगा।

+0

यह एक उत्कृष्ट सवाल है! मैं प्रतिक्रियाओं की प्रतीक्षा कर रहा हूं। –

+0

एक तीसरा कोण जावाएफएक्स है, क्योंकि यह आरआईए सेगमेंट को लक्षित करता है। –

उत्तर

2

यह आवेदन पर निर्भर करता है और इस अनिवार्य रूप से एक प्रयोज्य संचालित सवाल यह है कि (हालांकि डाटा संग्रहण और मंच आवश्यकताओं की तरह विचार कर रहे हैं)। पेशेवरों और विपक्ष के बारे में सोचो।

  • वितरण की आसानी
  • प्लेटफार्म रखरखाव एक हल्के वेब UI का

विपक्ष के स्वतंत्र

  • आसानी:

    एक हल्के वेब UI का

    पेशेवरों

    • कम पर्यावरण नियंत्रण
    • मार्कअप मानकों ब्राउज़रों के बीच भिन्न हो
    • एक वेब सर्वर और सब कुछ है कि के साथ एक निष्पादन योग्य यूआई

      • अधिक पर्यावरण नियंत्रण की

      पेशेवरों (चला जाता है की आवश्यकता होती है अर्थात: पूर्ण स्क्रीन अनुप्रयोगों, आदि)

    • जरूरी प्रसुप्ति के अधीन नहीं है और कटौती एक निष्पादन योग्य यूआई

      • धकेल अपडेट अधिक कठिन हो सकता की

      विपक्ष

    • स्थापना आवश्यक है
    • संभावित प्लेटफॉर्म आवश्यकताएं (ढांचे, पैकेज, आदि)
    • संभावित रूप से आवश्यक उन्नत नेटवर्किंग विषयों (वेब ​​सेवाओं, आदि) के ज्ञान का ज्ञान
  • +1

    लाइटवेट वेब यूआई के पेशेवर: सर्वर साइड डेटा स्टोरेज और सत्यापन। यह मनमाने ढंग से है। आपके लिए शायद यह एक समर्थक है, क्योंकि आपको अपने उपयोगकर्ताओं का विश्लेषण करने के लिए डेटा का भार मिलता है। उपयोगकर्ताओं के लिए, यह एक कॉन हो सकता है यदि वह डेटा व्यक्तिगत है। – zedoo

    +0

    अच्छा बिंदु zedoo। प्रो या कॉन के रूप में किसी भी श्रेणी में रखना मुश्किल है, लेकिन यह निश्चित रूप से एक विचार है। – Daniel

    +0

    आपने JXBrowser जैसे एम्बेडेड ब्राउज़र का उपयोग करने की संभावना को ध्यान में नहीं रखा, जो वेब UI के कुछ विपक्ष को दूर करेगा। –

    1

    एक छोटा सा कारक आप विचार कर सकते हैं कि उपयोगकर्ता (कम से कम यद्यपि) स्थापना के कुछ प्रकार के माध्यम से जाना होगा यदि आप एक स्विंग आवेदन वितरित है।

    इसके अलावा एक वेब अनुप्रयोग आप सही रूप में आपके आवेदन के उपयोग (Google Analytics या कुछ इसी तरह के माध्यम से) ट्रैक करने के लिए अनुमति देगा। सुनिश्चित नहीं है कि यह चिंता का विषय है लेकिन यह भविष्य में आपके लिए उपयोगी हो सकता है।

    1

    यदि यह एक क्लाइंट-सर्वर आवेदन मैं सामान्य रूप से आवेदन के लिए एक वेब दृश्यपटल के लिए जाना होता है।

    आप स्थापित JRE संस्करण की तरह चीजों के साथ अनगिनत समस्याओं, वितरण उन्नयन, आवेदन की अनुमति, गायब हो गया शॉर्टकट के अपने आप को बचाने के लिए होगा ...

    0

    यदि आप वहाँ आशा एप्लिकेशन तो वेब आधारित के बाद से बेहतर हो सकता है के लिए लगातार अद्यतन किया जा रहा है उपयोगकर्ता को क्लाइंट को अपडेट करना होगा या अपडेट वाले नए क्लाइंट को इंस्टॉल नहीं करना होगा। यदि आपको लगता है कि उपयोगकर्ता को इंटरनेट से कनेक्ट नहीं होने पर ऐप का उपयोग करने की क्षमता की आवश्यकता हो सकती है तो स्विंग बेहतर होगा।

    मेरे सिर के ऊपर से केवल दो चीजें।

    1

    आप इस तय करने के लिए नीचे आवेदन की आवश्यकताओं को तोड़ने की जरूरत है ...

    1. स्थापित उपयोगकर्ताओं पर्याप्त संस्करण जावा है? स्विंग जीयूआई चलाने के लिए इसे होने की आवश्यकता होगी।
    2. क्या आपके पास वेब सर्वर है?
    3. क्या आपको स्विंग जीयूआई या वेब इंटरफेस की पहुंच की लचीलापन की आवश्यकता है?
    4. जावा वेबस्टार्ट और विकल्प है, यदि ऐसा है, तो आप वेब के माध्यम से एक स्विंग जीयूआई वितरित कर सकते हैं।
    5. क्या आपका आवेदन व्यापक गणना या प्रसंस्करण करता है? यदि ऐसा है, तो क्लाइंट ऐप जवाब हो सकता है।

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

    0

    उपयोगकर्ताओं के बारे में सोचें और मामलों का उपयोग करें आपका प्रोजेक्ट।

    क्या उपयोगकर्ताओं को इंटरनेट से डिस्कनेक्ट होने पर इसकी पहुंच होने की उम्मीद है (उदाहरण के लिए, एक हवाई जहाज पर या कॉफी शॉप में इंटरनेट एक्सेस के साथ)? स्विंग का प्रयोग करें।

    आप उन (उदाहरण के लिए, दोनों काम पर और घर पर) अलग कंप्यूटरों से एक ही उपकरण का उपयोग कर सकेंगे करना चाहते हैं? एक वेब यूआई का प्रयोग करें।

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

    0

    एक त्वरित अनुमान मैं अक्सर अपने आप को/यदि आवेदन एक उच्च "लिखने" मांग है पूछने के लिए ग्राहकों की कोशिश करते हैं। अधिकतर पढ़ने-योग्य एप्लिकेशन के लिए एक पतली-क्लाइंट समाधान पूरी तरह उपयुक्त है। लेकिन यदि बहुत सी लेखन कार्यों की आवश्यकता है तो स्विंग डेस्कटॉप एप्लिकेशन में अधिक लचीलापन है।

    निजी तौर पर मैं हमेशा एक स्विंग डेस्कटॉप अनुप्रयोग prever। यह जावा वेबस्टार्ट का उपयोग करके आसानी से तैनात किया जा सकता है।

    0

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

    AJAX/वेब के साथ आपको वास्तव में केवल तीन ब्राउज़रों की तरह समर्थन करने की चिंता करनी होगी। जब आप वेब सर्वर पर उत्पाद को तैनात करते हैं तो इंस्टॉलेशन मैस/अपडेट केवल तभी महसूस किए जाते हैं।

    स्टैंड-साथ स्विंग ऐप की तरह, आप वास्तव में वास्तव में बड़ी गड़बड़ी से निपटने के लिए अज्ञात सिस्टम पर एप्लिकेशन इंस्टॉल कर रहे हैं। यह गड़बड़ इतनी खराब थी कि AJAX जैसी चीजें वास्तव में वेब ऐप्स को असली मूल ऐप की तरह व्यवहार करने/महसूस करने के लिए धक्का दे रही थीं।

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

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