2009-04-13 13 views
12

मुझे इस संभावना में रूचि है कि जीडब्ल्यूटी मेरी पूरी प्रस्तुति परत के आधार के रूप में काम कर सकता है।क्या Google वेब टूलकिट (जीडब्ल्यूटी) को पूर्ण-उभरते जावा वेब ढांचे के रूप में उपयोग करना समझ में आता है?

मुझे यह जानने में दिलचस्पी होगी कि किसी ने सफलतापूर्वक या असफल तरीके से प्रयास किया है - और मुझे इसे करने से मुझे राजी या अप्रचलित कर सकता है।

उत्तर

7

मैंने एक साल पहले जीडब्ल्यूटी के साथ काम किया था। समय यह एक महान विचार की तरह लग रहा था, चेतावनियां की संख्या के साथ:

  • मैं था, "पकड़ लिया" एपीआई के कुछ हिस्सों, कि शायद इस तथ्य से संबंधित थे के साथ समस्याओं है कि आप के रूप में यदि आप कोडिंग कर रहे हैं जावा में फिर से जब आप वास्तव में एक अलग संकलित वातावरण के लिए लिख रहे हैं जो जावा की तरह काम करता है, तो आप कुछ गलत धारणाएं करते हैं (इस मामले में, नेस्टेड मूल्यों को सामने के अंत में पास करना)। मुझे लगता है कि gwt संकलन के लिए 32-बिट जेवीएम का उपयोग करने के लिए मेरी चींटी स्क्रिप्ट को फिर से लिखना था।
  • मैंने उपस्थिति को ट्विक करने की कोशिश करने में थोडा समय बिताया - हमने कभी भी एक पूर्ण परियोजना को तैनात नहीं किया है, इसलिए मुझे यकीन नहीं है कि पेशेवर स्तर पर जाने के लिए यह कितना काम करेगा, लेकिन ऐसा लगता है (तर्कसंगत) एक स्विंग इंटरफ़ेस tweaking करने के लिए तुलनीय हो सकता है। शायद एचटीएमएल की तुलना में थोड़ा अधिक अनावश्यक, दृष्टि से।
  • क्योंकि अंतिम उत्पाद में AJAX आपके द्वारा इतना छिपा हुआ है, इसलिए मुझे कुछ चिंताएं थीं कि प्रदर्शन खराब होने पर मैं क्या कर सकता हूं।

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

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

+0

मेरी चिंता यह थी कि दृश्य इंटरफ़ेस उत्पन्न करने के लिए जावा कोड लिखना इतना सहज नहीं था। ऐसा लगता है कि आप वास्तव में उस समस्या को बहुत ज्यादा नहीं मानते थे। अजाक्स को बदलने के बारे में नहीं सोचा था - जो मैं कहूंगा उससे परेशान होना बहुत मुश्किल हो सकता है। मुझे आश्चर्य है कि जब आपने इसका इस्तेमाल किया था तो जीडब्ल्यूटी कितनी अलग है। – karl

+0

यह सुनिश्चित नहीं है कि आप यह क्यों कहते हैं - "मेरी भावना यह है कि यदि आप अत्यधिक मांग वाली ग्राफिकल आवश्यकताओं के साथ एक उच्च लोड पेशेवर साइट बना रहे हैं तो जीडब्ल्यूटी शायद एक अच्छा विकल्प नहीं है, अन्यथा ठीक है" - ऐसा इसलिए है क्योंकि जीडब्ल्यूटी "भारी" है ब्राउज़र - प्रदर्शन के अनुसार? – karl

+0

अपनी चेतावनियों की गंभीरता को देखते हुए, मुझे आश्चर्य है कि आप मुझसे बात नहीं कर रहे हैं। लेकिन ऐसा लगता है जैसे आपको लगता है कि इन चिंताओं से अधिक है। । । क्या? मुझे यहां कई सकारात्मक नहीं दिख रहे हैं :) – karl

1

जीडब्ल्यूटी अपेक्षाकृत नया है। आपके कोड बेस बढ़ने के साथ संकलन प्रक्रिया थोड़ी धीमी हो जाती है। जब हमने इसके साथ काम किया, तो हमें लेआउट और अधिक परिष्कृत विगेट्स के प्रतिपादन के साथ कई समस्याएं मिलीं, और एम्यूलेटर वास्तविक सर्वर से पूरी तरह अलग था। इसके अलावा, हमें i18n के साथ दाएं से बाएं भाषाओं के लिए परेशानी थी ...

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

+0

क्या आपका मतलब जावा सामान्य है? पूरी टीम के पास वर्षों का अनुभव है ... – abyx

+0

मुझे यह सुनकर आश्चर्य हुआ। जावा प्रौद्योगिकियों के साथ आप कितने अनुभवी हैं? – karl

+0

हां, मेरा मतलब सामान्य रूप से जावा था। मुझे यकीन नहीं था कि क्या आपकी परेशानी चीजों को करने के जावा तरीके से अपरिचितता का परिणाम थी। – karl

1

हमने इसे एक बहुत बड़ी परियोजना के लिए किया है, और जब तक आप इसकी सीमाओं, शक्तियों और कमजोरियों को जानते हैं, यह बहुत अच्छा काम करता है। मजेदार पर्याप्त प्रस्तुति हमारी परेशानियों में से कम से कम थी, क्योंकि हमने सीएसएस का उपयोग करते हुए बस किसी अन्य HTML पृष्ठ की तरह इसे स्किन किया था। परियोजना लाइव हो गई, और निर्दोष रूप से भाग गया इसलिए मुझे कोई शिकायत नहीं है।

नुकसान मैं इसके साथ पाया तुम यहाँ पा सकते हैं:

Biggest GWT Pitfalls?

2

आपने कहा कि GWT प्रस्तुतिकरण परत संभाल होगा। क्या आप जावा में भी व्यवसाय परत कर रहे हैं? यदि ऐसा है, तो मैं आपको IT Mill Toolkit की ओर इंगित करना चाहता हूं, यह वास्तव में ऐसा करता है: यह एक टूलकिट है जो जीयूटी घटकों को प्रस्तुत करने के लिए जीडब्ल्यूटी का उपयोग करता है, जिससे आप जावा में अपने अनुप्रयोगों को पूरी तरह से कर सकते हैं। मुझे लगता है कि यह शब्द सिक्का करने की कोशिश कर रहा है "सर्वर संचालित आरआईए" है।

मैं एक PHP पृष्ठभूमि से आया हूं, लेकिन तुरंत टूलकिट की तरह आया।लेकिन शायद यह बेहतर है कि मैं और कुछ नहीं कहूंगा और आपको अपने फैसले करने देता हूं।

अस्वीकरण: मैं आईटी मिल में काम करता हूं, हालांकि यह मेरी राय के लिए अप्रासंगिक है।

+0

मुझे लगता है कि आपको रोज़ाना उत्पाद के साथ काम करने की अनुमति नहीं है ... –

+0

शायद यह नहीं कि पैसा खर्च होता है ... पोस्ट सीडब्ल्यू है हालांकि, इससे कोई फर्क नहीं पड़ता कि लोग क्या सोचते हैं :) –

+0

बिल: टूलकिट बीयर और ओपन सोर्स के रूप में मुफ़्त है। ओह, और मैं प्रतिष्ठा, सीडब्ल्यू या नहीं के बारे में चिंतित नहीं हूँ। मैं सिर्फ प्रतिक्रियाओं को परेशान था। मेरा मतलब है, अगर मैं इसे 'गुप्त' रखता, तो मैं वास्तव में अपनी कंपनी द्वारा भुगतान करता हूं, क्या यह बेहतर होगा? अगर शायद किसी ने देखा होगा कि मैंने क्या छोड़ा होगा, तो मुझे लगता है कि मैंने जो कुछ छोड़ा है, मुझे लगता है। –

1

हम GWT में किया पूरे प्रस्तुति परत के साथ एक बड़ा मानव संसाधन पोर्टल आवेदन विकसित किया है। बैकएंड वसंत है। यह सब बहुत अच्छी तरह से काम करता है और यूआई उपयोगकर्ताओं द्वारा बहुत अच्छी तरह से प्राप्त किया गया है। बहुत महत्वपूर्ण बात यह है कि हमारे लिए नई कार्यक्षमता जोड़ना और एप्लिकेशन को बनाए रखना आसान है। मुझे लगता है कि जावास्क्रिप्ट पुस्तकालयों का उपयोग करके तुलनात्मक और रखरखाव करने के लिए कुछ कठिन होगा।

आपको किसी प्रकार के क्लाइंट साइड फ्रेमवर्क की आवश्यकता है या आप एक लिखना समाप्त कर देंगे (जैसा हमने किया था!): हमारा ऐप GWT Portlets (फ्री और ओपन सोर्स) पर बनाया गया है।

हम अलग-अलग तैनाती के लिए ऐप को स्किन करने के लिए HTML टुकड़े का उपयोग करते हैं और प्रत्येक "पृष्ठ" का लेआउट किसी XML फ़ाइल में संग्रहीत होता है।

-1

अपने स्वयं में जीडब्ल्यूटी एक यूआई एन्हांसमेंट लाइब्रेरी है, ढांचा नहीं। यदि आप इसे Google App Engine के साथ उपयोग करते हैं तो आपके पास मूलभूत ढांचा है। (यह एक अलग कहानी है, और जब मैंने इसे देखा, तो मैंने फैसला किया कि इसे हमारे वास्तुकला में शामिल न करें)।

यह एक महान पुस्तकालय है, हमने इसके साथ कुछ शानदार चीजें की हैं। चूंकि यह एक पुस्तकालय है, लेकिन यह उतना ही अच्छा है जितना आपकी वास्तुकला इसे होने की अनुमति देता है।

जहां तक ​​एएनटी 64 बिट कंपाइलर के साथ कोई समस्या नहीं है।

< जावा FailOnError = "true" कांटा = "true" classname = "com.google.gwt.dev.Compiler" dir = "$ {dir.GWTCompile}" > < - dir.GWTCompile युक्त निर्देशिका है GWT - > <classpath> classpath </classpath > < jvmarg value = "- $ {gwt.maxMem}"/> < आर्ग value = "@ {gwt.baseModule}"/> < आर्ग मूल्य = "DEBUG"/> < तर्क मूल्य = "- सख्त"/> </जावा >

जहाँ तक तैयार किए गए कोड के रूप में, यह सब वहाँ अपने युद्ध में है अगर आप इसे माध्यम से देखने के लिए चाहते हैं। (यह भी ओपन सोर्स है, इसलिए आप इसे देख सकते हैं।)

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

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

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