2012-06-21 13 views
5

प्रश्न 1) मैं जानना चाहता हूँ कि क्या रेल पर गहरे लाल रंग का primefaces के समान कार्यक्षमता के साथ जवाहरात है चाहते हैं। मैं क्यों पूछ रहा हूंकैसे ऑन रेल्स JSF 2.0 (Primefaces) रूबी में से प्रेरित यूआई जादू को प्राप्त करने के

यदि आप प्राइमफ़ेस (http://www.primefaces.org/showcase-labs/ui/home.jsf) डेवलपर के साथ जाते हैं तो जावास्क्रिप्ट या jquery सामानों के बारे में चिंता करने की आवश्यकता नहीं है।

जहां तक ​​मेरा ज्ञान जेएसएफ एक विशिष्टता है, जहां विभिन्न कार्यान्वयन उपलब्ध हैं, प्राइमफेस उन कार्यान्वयन के लिए एक ui ढांचा है, प्राइमफेस में jquery और जावास्क्रिप्ट libs के आधार पर इतने सारे घटक हैं। अधिक या कम प्राइमफेस बस जावास्क्रिप्ट रैपर के रूप में कार्य करता है। मैं प्राइमफेस का उपयोग करता हूं, आप मुख्य रूप से व्यापार तर्क पर ध्यान केंद्रित करते हैं, यूआई के बारे में चिंता करने की आवश्यकता नहीं है।

मुझे रेल दृष्टिकोण पर रूबी द्वारा अत्यधिक प्रेरित किया गया था और बहुत सारे रत्न उपलब्ध हैं।

क्या मेरे सवाल है, वहाँ primefaces द्वारा संचालित

टिप्पणी यूआई जादू के समान पटरियों पर एक मणि या यूआई ढांचे माणिक के लिए उपलब्ध है: मैं शुद्ध jQuery या डोजो सामान के लिए नहीं देख रहा हूँ, मैं रेल पर रूबी के लिए यूआई घटक संचालित सामान की तलाश में हूँ। रेलवे का उपयोग कर प्राइमफेस और परियोजनाओं का उपयोग करके परियोजनाओं पर काम करने वाले लोग मेरे प्रश्न को 100% समझेंगे।

प्रश्न 2) मैं उपयोगकर्ता इंटरफ़ेस से संबंधित रत्नों की सूची जानना चाहता हूं। जो मैं पूछ रहा हूं वह रेल पर रूबी पर बहुत ही विशिष्ट यूजर इंटरफेस बनाने के लिए है जो सामान (ढांचे या रत्न) की आवश्यकता है।

+1

http://netzke.org/demo/? – Daniel

उत्तर

5

पिछले उत्तर के कई भाग बस सत्य नहीं हैं। ऐसा लगता है जैसे उत्तर-एआर ने जेएसएफ 2.0 का उपयोग नहीं किया है, जो प्राइमफेस है। जेएसएफ v1 बेहद जटिल और हर किसी के लिए एक भयानक अनुभव था। जेएसएफ 2.0 जेएसएफ वी 1 की तरह कुछ भी नहीं है, इसलिए उन लोगों के बारे में सावधान रहें जो JSF2.0 का उपयोग नहीं करते हैं।

जेएसएफ 2.0 उपयोग करने के लिए एक बेहद उत्पादक और मजेदार वेब ढांचा है। यह बिल्कुल "कॉरपोरेट-इटी" नहीं है (लेकिन जेएसएफ v1 से वह प्रतिष्ठा प्राप्त होती है)। यह हल्का है और आपके रास्ते से बाहर रहता है। क्योंकि यह जावा है (जिसे अंततः संकलित किया गया है, व्याख्या नहीं किया गया है), यह भी बहुत तेज़ है।

इसके मूल में एक टेम्पलेटिंग फ्रेमवर्क है: आप घटकों तक ही सीमित नहीं हैं, डिफ़ॉल्ट रूप से यह मुफ्त फॉर्म HTML है। आपके पास ऐसे घटकों नामक स्मार्ट टैग का उपयोग करने का विकल्प है जो अनुरोध जीवनशैली के माध्यम से राज्य को बनाए रख सकते हैं, जो सत्यापन और AJAX जैसी चीजें करने के लिए आसान है (दोनों JSF2.0 में वास्तव में सरल कार्य हैं)।

जेएसएफ 2.0 भी बीन्स (छोटे परिभाषित वस्तुओं को परिभाषित करता है) का जीवन चक्र प्रबंधित करता है जो अनुरोध, दृश्य, सत्र या यहां तक ​​कि आवेदन जैसे विभिन्न क्षेत्रों से जुड़ा हो सकता है। नियंत्रक रेल में एक समान अवधारणा हैं, लेकिन जेएसएफ 2.0 में मार्गों की अवधारणा नहीं है, इसके बजाय आप ईएल का उपयोग करके फ़ंक्शन ऑब्जेक्ट पास करते हैं, इसलिए इसके बजाय क्रियाओं की अवधारणा होती है। यह अविश्वसनीय रूप से मुक्त रूप बनाता है; आप जो भी सॉफ़्टवेयर पैटर्न पसंद करते हैं उसका उपयोग कर सकते हैं: मुझे एमवीसी पर एमवीवीएम पसंद है, और मैं उस पैटर्न का उपयोग करता हूं, जबकि रेल काफी सख्त एमवीसी है।

घटक पुस्तकालय जावा कोड और एचटीएमएल टुकड़े का एक बंडल है जिसे पृष्ठ पर प्लॉप किया जा सकता है। प्राइमफेस आमतौर पर इस्तेमाल किए गए यूआई विगेट्स की एक घटक लाइब्रेरी है। अनिवार्य रूप से, आप कुछ जेएसएफ/एचटीएमएल कोड लिखते हैं और यह ब्राउज़र पर JQuery UI ड्राइवर करता है।

क्या आप रूबी के साथ JSF2.0 का उपयोग कर सकते हैं? मुझे यकीन है कि आप JRuby का उपयोग कर सकते हैं। यदि जेएसएफ 2.0 एनोटेशन (जैसे @ मैनेज्डबीन) के साथ रूबी ऑब्जेक्ट्स को एनोटेट करना संभव है, तो मैं काफी हद तक निश्चित हूं कि आप इस काम को थोड़ा प्रयोग के साथ कर सकते हैं।

शुभकामनाएं और अगर आप इसे खत्म कर चुके हैं तो वापस पोस्ट करें!

+0

सब कुछ ठीक होने के बाद काफी सरल लगता है :) आश्वस्त रहें कि 2.0 सुधारों के साथ भी यह किसी भी तरह से घटक उन्मुख है ... ऐसा लगता है कि आज हम वास्तव में इसे उत्पन्न करने के बजाय हाथ से अधिक जावास्क्रिप्ट लिखते हैं (क्योंकि हमारे पास जावास्क्रिप्ट पुस्तकालय हैं) - रेलों जैसे वेब-फ्रेमवर्क पर लाभ उठाने के लिए मैंने इन 2 चीजों को शायद ही कभी छुआ। वैसे भी, मुझे दृढ़ता से संदेह है कि यह उत्तर लेखक के साथ काफी पक्षपातपूर्ण है और उत्तरदाता मुख्य रूप से जावा डेवलपर प्रतीत होता है। – kares

+0

मैंने फ्रेमवर्क (जेएसएफ 2.0 और रेल) ​​दोनों में विकसित किया है और मैं इस उत्तर से सहमत हूं। रेल इतनी उत्पादक और मूल रूप से उपयोग करने में आसान है लेकिन जेएसएफ 2.0 के रूप में लचीला नहीं है। – ehsun7b

4

मैं वास्तव में बात करता हूं कि आप यहां "गलत" प्रश्न पूछ रहे हैं - जेएसएफ (ज्यादातर मायफेसेस) और रेल के साथ मेरा पिछला अनुभव।

मुझे लगता है कि आप ज्यादातर रेल के साथ अपनी शुरुआत में हैं - जेएसएफ भूल जाओ, घटकों को भूल जाओ और यहां तक ​​कि भूलें कि आपने जावास्क्रिप्ट (जेएसएफ प्रोजेक्ट पर) कैसे लिखा है। RoR एक अलग दुनिया है और जितना अधिक आप इसे प्राप्त करेंगे उतना ही आप घटकों को उपेक्षा करते हैं, कम से कम यह मेरा मामला था। मैंने रूबी ऑन रूल्स के साथ "सरल" वेब प्रोग्रामिंग का पुन: पेश किया और कुछ "मूल्यवान" जावास्क्रिप्ट अनुभव प्राप्त किया, लेकिन मुझे जावा भूमि से अपने पिछले "ज्ञान" को छोड़ना पड़ा :)

ऐसा कोई यूआई नहीं है " जादू संचालित ढांचे "रेल के लिए जहां तक ​​मुझे पता है और मुझे विश्वास है कि इसके लिए कोई मांग नहीं है। जावास्क्रिप्ट एकीकरण समेत दृश्य परत (अवधारणात्मक रूप से) एक (घटक आधारित) जेएसएफ अनुप्रयोग में अलग है, यह रेल पर रूबी में है।

मैं व्यक्तिगत रूप से केवल "कॉर्पोरेट-फॉर्म" अनुप्रयोगों के लिए जेएसएफ को एक अच्छी पसंद के रूप में देखता हूं जो कम से कम लिखा जाता है, कम से कम विकसित होता है और बहुत कम घटक अनुकूलन की आवश्यकता होती है (या कस्टम घटकों के साथ आने वाले समय की तुलना में कुछ की आवश्यकता होती है अन्य ऐप्स पर)।

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

यदि आप रेल को देखते हैं तो यह डिज़ाइन अलग है - आप "सादे-पुराने" विचार लिखते हैं (जो शुरू में कुछ समय लेते हैं), फिर से उपयोग के लिए आप उन्हें तर्कसंगत रूप से विभाजित करते हैं (संभवतः नई आवश्यकताएं आती हैं)। पुन: उपयोग किए जाने पर, आंशिक रूप से नए परिदृश्यों को आसानी से अनुकूलित किया जा सकता है, यह उल्लेख न करें कि आप मार्कअप के साथ आने वाले जावास्क्रिप्ट के नियंत्रण में हैं।

इसके अलावा कई नए ऐप्स एक आरईएसटी एपीआई के साथ वसा जावास्क्रिप्ट क्लाइंट के रूप में लिखे गए हैं, मैं कल्पना नहीं कर सकता कि जेएसएफ कैसे बोझ नहीं होगा क्योंकि आपको अधिकांश समय अपने एचटीएमएल और जावास्क्रिप्ट पर पूर्ण नियंत्रण की आवश्यकता है। आपको यूआई के बारे में चिंता करना होगा और निश्चित रूप से अभी तक किसी अन्य सर्वर + क्लाइंट जावास्क्रिप्ट रैपर की आवश्यकता नहीं है। यदि आप घटकों में सोचना पसंद करते हैं तो मैं आपको एक्सटी-जेएस जैसे क्लाइंट-साइड घटक पुस्तकालयों को देखने की सलाह दूंगा।

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