2011-08-13 13 views
5

क्या कोई नंगे हड्डियां स्काला वेब ढांचा है? मुझे मूल रूप से आवश्यक विशेषताओं की आवश्यकता होती है जैसे:एक नंगे हड्डियों स्काला वेब ढांचे?

  • रूटिंग।
  • प्राप्त/पोस्ट/PUT पैरामीटर हैंडलिंग प्राप्त करें।
  • सरल टेम्पलेटिंग इंजन (सामग्री प्रतिस्थापन आधारित)।
  • क्रमबद्धता (JSON, YAML)

मैं लिफ्ट पसंद नहीं है के रूप में यह मेरे लिए बहुत ज्यादा करता है के रूप में मैं सृजित HTML पर पूरा नियंत्रण चाहते हैं, जिसका अर्थ है कि मैं 100 लिखने में सक्षम होना चाहता हूँ एचटीएमएल/सीएसएस/जेएस कोड का%।

क्या ऐसा कोई ढांचा है? या लिफ्ट का उपयोग इस तरह से करना संभव है कि कोई एचटीएमएल दृश्यों के पीछे उत्पन्न होता है? या मैं एक सामान्य सर्वलेट लिखने के बेहतर होगा?

उत्तर

7

शायद आपको Scalatra या Unfiltered जैसे कुछ चाहिए? एक अलग नोट पर, यदि आप नहीं चाहते हैं तो आपको लिफ्ट एप में अपने एचटीएमएल/सीएसएस/जेएस का कोई नियंत्रण नहीं छोड़ना चाहिए।

+0

धन्यवाद @ इथेन-यहूदी मेरे अशिक्षित ब्लैबर को सुधारने के लिए! लिफ्ट के लिए ;-) – pr1001

+0

+1। यह * आपके लिए बहुत कुछ कर सकता है लेकिन इसे – Dylan

+0

नहीं है अनफिल्टर ओप खोजों के लिए उपयुक्त फिट जैसा लगता है। – AndreasScheinert

2

आप केवल आरईएसटी जैसे सेवाओं को उत्पन्न करने के लिए लिफ्ट का उपयोग कर सकते हैं, क्या आप जितना अधिक या कम खोज रहे हैं? http://www.assembla.com/spaces/liftweb/wiki/REST_Web_Services

यदि हम What Scala web-frameworks are available? पर एक नज़र डालें तो उनमें से कोई भी एक साधारण सरल टेम्पलेटिंग इंजन नहीं है, कम से कम मेरे लिए ऐसा लगता है। SweetScala निकटतम लगता है हालांकि http://code.google.com/p/sweetscala/wiki/GettingStarted

0

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

1

दो और चौखटे पर विचार करने के लिए:

  • प्ले एक सरल बाकी रूपरेखा है कि लोकप्रियता प्राप्त कर रहा है, और एक अच्छा Scala interface है। इसके टेम्पलेट अपेक्षाकृत सरल रूप से स्कैला कार्यों में अनुवाद करते हैं। कुछ महीने पहले जेएसओएन पैकेज (जैसे लिफ्ट-जेसन) का उपयोग करने में कठिनाइयां थीं, जो कक्षाओं के मामले में डेटा को अनपैक करते हैं क्योंकि प्ले के पास तेजी से विकास के लिए एक कस्टम क्लासलोडर है। सुनिश्चित नहीं है कि यह समस्या हल हो गई है या नहीं। स्कैला कंपनी टाइपएफ़ their site के लिए Play का उपयोग करता है। अक्का के साथ एकीकृत करता है, और अक्का लीड डेवलपर्स में से एक, विक्टर क्लैंग ने थोड़ी देर पहले खेलने की सिफारिश की।

  • पीटा ट्रैक से थोड़ा आगे, Spray है। मैं विवरण से बात नहीं कर सकता, लेकिन विकी दिलचस्प लग रहा है। मेरी आंखों के लिए, स्प्रे को अक्का एकीकरण के आसपास सुंदर ढंग से डिजाइन किया गया दिखता है। मुझे नहीं लगता कि यह एक टेम्पलेटिंग इंजन के साथ आता है, लेकिन संभवतः Scalate के साथ इंटरफ़ेस करना संभव होगा (mailing list discussion देखें)।

+2

मैं "नंगे हड्डियों" को नहीं बुलाऊंगा, यह सैकड़ों मेगाबाइट है। –

+0

मैं इसे सरल नहीं कहूंगा। यह बहुत जटिल है। – rightfold

0

स्केलत्रा स्काला भलाई के साथ बहुत ही नंगे हड्डियों है। कॉन्फ़िगर करने में आसान, बेयर HTTP सामान को संभालने में आसान है। यह स्कैला के सिनात्रा के समान है। स्कैलात्रा के पास पारंपरिक जावा सर्वलेट्स के साथ अच्छा मैवेन सपोर्ट और सह-कलाकार भी है।

2

पीटर ने एक अच्छा जवाब दिया ... मैं इसे थोड़ा विस्तारित करूंगा।

लिफ्ट आपको कच्चे HTTP अनुरोधों के नियंत्रण और HTTP स्तर के शीर्ष पर अबास्ट्रक्शन का एक टन प्रदान करने देता है। यह आपकी पसंद है कि आप लिफ्ट को कितना या कितना छोटा करना चाहते हैं।

आप लिफ्ट के रेस्टहेल्पर का उपयोग कर एक आरईएसटी-आधारित एप्लिकेशन बना सकते हैं। http://simply.liftweb.net/index-Chapter-5.html देखें कि लिफ्ट्स रेस्टहेल्पर आपको सबसे अधिक एमवीसी/रूटिंग आधारित दृष्टिकोण प्रदान करता है, यह आपके एप्लिकेशन के बहुत किनारे पर टाइप-सुरक्षा और एक्सेस कंट्रोल है। लेकिन स्कैला के पैटर्न मिलान निकालने वाले का उपयोग करके, आप बीमा कर सकते हैं कि आपके आवेदन के व्यावसायिक तर्क को दिए गए पैरामीटर पहले से ही भौतिककृत किए गए हैं और एक्सेस कंट्रोल के लिए चेक किए गए हैं। इसके अलावा, लिफ्ट का आरईएसटी समर्थन अन्य वेब ढांचे की तुलना में संक्षिप्त या अधिक संक्षिप्त होगा।

लिफ्ट के एचटीएमएल हैंडलिंग के मामले में, आपके पास HTML के निर्माण पर नियंत्रण का एक टन है, जब तक आप स्ट्रिंग्स की श्रृंखला के बजाय HTML को वैध डॉम के रूप में जेनरेट करना चाहते हैं।

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

आप एमवीसी शैली में लिफ्ट ऐप्स से एचटीएमएल की सेवा कर सकते हैं। https://github.com/dpp/hoisted देखें

लिफ्ट क्षुधा की "मानक" विन्यास में (इस कोड को चलाने वाली http://liftweb.net है), लिफ्ट एचटीएमएल अगर में से कुछ पोस्ट-प्रोसेसिंग करता है और वह भी तब, आप कुछ निर्माण का उपयोग करें। इसलिए, यदि आप शरीर में <head> टैग डालते हैं, तो HTML पृष्ठ, लिफ्ट उस <head> टैग की सामग्री ले जाएगा और इसे पृष्ठ के मुख्य भाग पर ले जाएगा। यदि आप लिफ्ट के धूमकेतु समर्थन के लिए कॉल शामिल करते हैं, तो लिफ्ट लंबे मतदान करने के लिए पृष्ठ पर जावास्क्रिप्ट डालेंगे। लेकिन ये सुविधाएं वैकल्पिक हैं और वे केवल तभी होती हैं जब आप लिफ्ट में कुछ विशेषताओं का उपयोग करते हैं।

मुझे आशा है कि यह आपको लिफ्ट का उपयोग करने के लाभों को समझने में मदद करेगा।

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