मैं StackExchange में नया हूं, लेकिन मुझे लगा कि आप मेरी मदद कर पाएंगे।
हम एक नया जावा एंटरप्राइज एप्लिकेशन तैयार कर रहे हैं, जो एक विरासत JSP समाधान की जगह ले रहा है। कई कई परिवर्तनों के कारण, यूआई और व्यापार तर्क के कुछ हिस्सों को पूरी तरह से पुनर्निर्मित और पुन: लागू किया जाएगा।
हमारा पहला विचार JSF था, क्योंकि यह जावा EE में मानक है। पहले तो मुझे अच्छा आभास हुआ। लेकिन अब मैं एक कार्यात्मक प्रोटोटाइप को लागू करने की कोशिश कर रहा हूं, और इसका उपयोग करने के बारे में कुछ गंभीर चिंताएं हैं।
सबसे पहले, यह सबसे खराब, सबसे अधिक अमान्य अमान्य छद्म-HTML / CSS / JS मिश्रण है जो मैंने कभी देखा है। यह वेब-विकास में मेरे द्वारा सीखे गए हर एक नियम का उल्लंघन करता है। इसके अलावा यह एक साथ फेंकता है, जो कभी भी बहुत कसकर नहीं होना चाहिए: सर्वर के साथ लेआउट, डिज़ाइन, तर्क और संचार। मैं यह नहीं देख पा रहा हूं कि मैं इस आउटपुट को आराम से कैसे बढ़ा पाऊंगा, चाहे सीएसएस के साथ स्टाइल करना हो, यूआई कैंडी (जैसे कंफर्टेबल हॉट-की, ड्रैग-एंड-ड्रॉप विजेट) या जो भी हो।
दूसरे, यह रास्ता बहुत जटिल है। इसकी जटिलता बकाया है। यदि आप मुझसे पूछते हैं, तो यह मूल वेब तकनीकों का एक खराब अमूर्त हिस्सा है, जो अंत में अपंग और बेकार है। मुझे क्या लाभ है? कोई नहीं, अगर आप इसके बारे में सोचते हैं। सैकड़ों घटक? मुझे दस-हजारों HTML / CSS स्निपेट्स, दस-हजारों जावास्क्रिप्ट स्निपेट्स और हजारों jQuery प्लग-इन दिखाई दे रहे हैं। यह वास्तव में कई समस्याओं का हल करता है - अगर हम JSF का उपयोग नहीं करते तो हमारे पास नहीं होता। या फ्रंट-कंट्रोलर पैटर्न बिल्कुल।
और अंत में, मुझे लगता है कि हमें 2 वर्षों में शुरू करना होगा। मैं यह नहीं देखता कि मैं अपने पहले जीयूआई मॉक-अप को कैसे लागू कर सकता हूं (इसके अलावा, हमारी टीम में कोई जेएसएफ विशेषज्ञ नहीं है)। शायद हम इसे किसी तरह एक साथ हैक कर सकते थे। और तब और भी होगा। मुझे यकीन है कि हम अपना हैक हैक कर सकते हैं। लेकिन कुछ बिंदु पर, हम अटक जाएगा। सेवा स्तरीय के ऊपर सब कुछ के कारण JSF का नियंत्रण है। और हमें शुरू करना होगा।
मेरा सुझाव JAX-RS का उपयोग करके REST एपि को लागू करना होगा। फिर क्लाइंट साइड MVC के साथ एक HTML5 / जावास्क्रिप्ट क्लाइंट बनाएं। (या MVC का कुछ स्वाद ..) वैसे; हमें वैसे भी REST एपीआई की आवश्यकता होगी, क्योंकि हम एक आंशिक एंड्रॉइड फ्रंट-एंड भी विकसित कर रहे हैं।
मुझे संदेह है, कि जेएसएफ आजकल सबसे अच्छा समाधान है। जैसा कि इंटरनेट विकसित हो रहा है, मैं वास्तव में यह नहीं देखता कि हमें इस 'रेक' का उपयोग क्यों करना चाहिए।
अब, क्या पेशेवरों / विपक्ष हैं? मैं JSF का उपयोग न करने के लिए अपनी बात पर कैसे जोर दे सकता हूं? मेरे सुझाव पर JSF का उपयोग करने के लिए मजबूत बिंदु क्या हैं?