लुमेन और लारवेल के बीच अंतर और समानताएं


181

मैंने प्रलेखन पढ़ा और ऐसा लगता है कि लुमेन कम सुविधाओं के साथ लारवेल है। मेरा कुछ छूट रहा है। मैं लारवेल और लुमेन दोनों के घटकों और विशेषताओं की तुलना तालिका देख रहा हूं। क्या किसी को मतभेद पता है?


3
यह सही नहीं लगता। लारवेल एक पूर्ण विशेषताओं वाला ढांचा है, जहां लूमेन को माइक्रो-फ्रेमवर्क के रूप में जाना जाता है, जिसमें लारवेल से प्राप्त कुछ विन्यास और विस्तार क्षमता है।
फिजस

3
कम सुविधाओं के साथ लुमेन काफी लारावेल है। यही तो बात है।
फ्रैंक


जवाबों:


196

अद्यतन (5.2)

लुमेन (5.2) के नवीनतम संस्करण के साथ माइक्रोफ्रेमवर्क स्टेटलेस एपीआई पर केंद्रित है। प्रलेखन कहता है:

लुमेन 5.2 केवल स्टेटलेस, जॉन्स एपीआई पर ध्यान केंद्रित करने के लिए लुमेन को स्लिमिंग पर एक बदलाव का प्रतिनिधित्व करता है। जैसे, सत्र और विचार अब ढांचे के साथ शामिल नहीं हैं। यदि आपको इन सुविधाओं तक पहुंच की आवश्यकता है, तो आपको पूर्ण लारवेल ढांचे का उपयोग करना चाहिए।


मूल उत्तर (<= 5.1)

लुमेन सभी गति के बारे में है । यह तेज़ है और लारवेल की तुलना में प्रति सेकंड अधिक अनुरोधों को संभाल सकता है।

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

कॉन्फ़िगरेशन के संदर्भ में फ्रेमवर्क के कुछ लचीलेपन को दूर करके और डिफ़ॉल्ट बूट प्रक्रिया को बदलकर प्रदर्शन सुधार प्राप्त किया जाता है।

इसके अलावा, अधिक सुविधाओं को डिफ़ॉल्ट रूप से अक्षम किया जाता है और उन्हें उपयोग करने से पहले सक्रिय करना पड़ता है। एक उदाहरण के रूप में: facades (जैसे DB::table())
आपको bootstrap/app.phpउन्हें सक्षम करने के लिए सबसे पहले इस लाइन को अनइंस्टॉल करने की आवश्यकता है :

// $app->withFacades();

Dotenv पर्यावरण फ़ाइलों और Eloquent के लिए समान है।

रूटिंग के लिए लुमेन nikic / FastRoute का उपयोग करता है सिम्फनी राउटर के बजाय क्योंकि यह बहुत बेहतर प्रदर्शन करता है और माइक्रो-फ्रेमवर्क को एक और बड़ा बढ़ावा देता है।

इसके अलावा बहुत ज्यादा सब कुछ लारावेल में ही है।

लुमेन पर अच्छा पढ़ता है


7
यदि हम सुविधाएँ वापस पाने के लिए सामान को अनियंत्रित करना शुरू कर देंगे तो क्या यह शीघ्र होगा?
सैम डार्क

1
@SDDark स्पष्ट रूप से यह आपके द्वारा सक्षम की गई प्रत्येक सुविधा के साथ थोड़ा धीमा हो जाएगा। लेकिन यह अभी भी बहुत तेज होगा क्योंकि विकलांग विशेषताएं प्रदर्शन अनुकूलन का सिर्फ एक टुकड़ा हैं
lukasgeiter

इसलिए बेंचमार्क वास्तविक एप्स में ओवरहेड को प्रतिबिंबित नहीं करता है और वास्तविक एप्स में यह अधिक होगा। ठीक है।
सैम डार्क

1
@SDDark यह ब्लॉग पोस्ट बताती है कि इसे कैसे बेंचमार्क किया गया था। जैसा कि आप मॉडल या अन्य फ्रेमवर्क सुविधाओं का उपयोग किए बिना परीक्षण एप्लिकेशन को केवल "हैलो वर्ल्ड" वापस देख सकते हैं, इसलिए एक वास्तविक एप्लिकेशन में प्रदर्शन धीमा होगा (हालांकि ज्यादातर मामलों में ध्यान देने योग्य नहीं है। आपका आवेदन अभी भी हास्यास्पद रूप से तेज होगा)
ल्यूकेजिनेटर

@lukasgeiter तो जैसा कि मैं इसे समझता हूं कि अगर मैं एक Restful Laravel API के साथ Ionic ऐप बना रहा हूं तो यह लूमेन का उपयोग करने के लिए अधिक समझदार होगा?
mtpultz

45

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

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

उनके पास अलग-अलग उपयोग के मामले भी हैं। लुमेन और लारवेल एक साथ काम करने के लिए हैं। एपीआई और सेवाओं के लिए अक्सर कहा जाता है, लुमेन का उपयोग करें। उपयोगकर्ता-सामना वाले अनुप्रयोगों के लिए, Laravel का उपयोग करें।


यह उत्तर ए से लिया गया है मैंने ब्लॉग पोस्ट मैंने लिखा है कि लुमेन और लारवेल के बीच का अंतर।


जहाँ तक मुझे पता है, कुकीज़, सत्र आदि अभी भी हैं। हालांकि वे आलसी लोडेड होंगे और केवल उपयोग किए जाने पर ही प्रदर्शन को प्रभावित करेंगे।
लुकासगेटर

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

2
मान लीजिए कि मैं एक वेब एप्लिकेशन का निर्माण कर रहा हूं और आगे के अलग तर्क (और आसानी से तीसरे पक्ष के एप्लिकेशन को अनुमति देने के लिए) के लिए एक एपीआई लिखने का फैसला करता हूं। क्या लूमेन के साथ एपीआई लिखना और लारवेल के साथ वेबसाइट लिखना अच्छा होगा?
टायलर क्रॉम्पटन

यह एक प्रतिस्थापन है। यह एक अलग राउटर के साथ लारवेल है। स्वाभाविक रूप से कुछ भी नहीं छीन लिया गया - बस वैकल्पिक बनाया गया। जब माना जाता है कि लारवेल (लुमेन) उपलब्ध है, तो लारवेल का उपयोग करने का कोई वैध कारण नहीं है।
रिक जॉली

14

मैट स्टॉफ़र का उद्धरण

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

आप यहाँ और पढ़ सकते हैं


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

लारवेल के लिए मैट स्टॉफ़र का बोवर सेटअप लारावेल वैसे भी डिफॉल्ट बूटस्ट्रैप यूआई सामान के उद्देश्य को पराजित करता है, और एलिक्सिर के रूप में, npm installइसलिए यह पूरी तरह से तैयार नहीं है "आउट-ऑफ-द-बॉक्स" मैं कहूंगा। इसलिए हम इन के संबंध में बहुत कुछ नहीं खोते हैं, लुमेन पर स्विच करके। लुमेन में, मैं सिर्फ एक पैकेज बनाता हूं। Json और npm स्थापित करें एलिक्सर, और सेटअप बोवर और किया ...
prograhammer

हालांकि, लुमेन का उपयोग करने के बाद, मैं आपको बता सकता हूं कि निराशाएं हैं। अब तक मुझे पता चला है कि लारवेल से जो उपलब्ध है, उसकी तुलना में कई अनुरोध / मार्ग / मददगार अपूर्ण हैं। उदाहरण के लिए, आप ऐसा नहीं कर सकते redirect()->intended। मुझे उम्मीद है कि लुमेन इन क्षेत्रों में पकड़ बनाएगा। मुझे वास्तव में ओआरएम (एलोकेंट) के बिना एक लारवेल पसंद है और इसलिए लुमेन मुझे बहुत पसंद है।
प्राग्रामर

2
@prograhammer, मुझे नहीं लगता कि उस विशेष सुविधा को कभी लुमेन में शामिल किया जाएगा। मुझे लगता है कि एक सत्र की आवश्यकता होगी जो लुमेन जानबूझकर दूर करता है। इसके अतिरिक्त, मैं redirect()->intended()एक एपीआई के साथ ज्यादा उपयोग नहीं देखता , जो कि लुमेन पर केंद्रित है।
टायलर क्रॉम्पटन

1
लूमेन एपीआईएस के लिए नहीं है
फ्रंटिन के

4

लुमेन माइक्रोफ्रामवर्क लारवेल फुल-स्टैक फ्रेमवर्क का एक हल्का संस्करण है। लुमेन लारवेल सिंटैक्स और घटकों का उपयोग करते हैं, और लारवेल को आसानी से 'अपग्रेड' किया जा सकता है।

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


1

लुमेन क्यों?

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

लुमेन एपीआई बनाने की एक रूपरेखा है, जो अनिवार्य रूप से आपके अनुरोधों के लिए JSON प्रतिक्रियाओं की सेवा करेगा। बस।

इस प्रकार के अनुप्रयोगों को सामान्य रूप से वेब सेवाओं के रूप में जाना जाता है

लुमेन 5.2 अपडेट के अनुसार, यह लार्वा व्यूज, सेशन आदि का समर्थन नहीं करता है ... इसके लिए आपको फुल लारवेल फ्रेमवर्क में अपग्रेड करना होगा।

लारवेल ढांचे के कुछ घटकों को प्रदर्शन के पक्ष में अन्य पैकेजों के साथ स्वैप किया जाता है। उन्हें यहाँ देखें

उदाहरण परिदृश्य जहां हम लुमेन पर विचार कर सकते हैं

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

-1

लार्वा और लुमेन के बीच मुख्य अंतर है, लारवेल में कारीगर कमांड हो सकते हैं, जो लुमेन नहीं है।


यह सच नहीं है, या कम से कम आज तक नहीं है। मुझे पुराने संस्करणों के बारे में ज्यादा जानकारी नहीं है, लेकिन मैंने लुमेन 7.x स्थापित किया है और मेरे पास कारीगर कमांड हैं
जोनास मारीज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.