आईएनजी लॉंच लॉयन: अ लाइब्रेरी ऑफ प्रोडक्टिव, अफोर्डेबल और फ्लेक्सिबल वेब कंपोनेंट्स

सभी को नमस्कार। "फुलस्टैक जावास्क्रिप्ट डेवलपर" पाठ्यक्रम की शुरुआत की प्रत्याशा में , हमने आपके लिए दिलचस्प सामग्री का अनुवाद तैयार किया है।





टीएल; डीआर: वेब विकास मुश्किल है, चाहे आप अपने स्वयं के घटकों का निर्माण करें, डिजाइन सिस्टम का उपयोग करें, विभिन्न ब्राउज़रों के लिए समर्थन लागू करें, पहुंच प्रदान करें या तृतीय-पक्ष निर्भरता जोड़ें। शेर पूर्ण-विशेषताओं, सस्ती, उत्पादक और गैर-विशिष्ट घटकों के कार्यान्वयन को अपनाकर अपने जीवन को आसान बनाने का प्रयास करता है। आईएनजी बैंक / शेर भंडार को देखें

आप में से कुछ पहले से ही जानते हैं कि आईएनजी का वेब घटकों को बनाने का एक लंबा और समृद्ध इतिहास है, पॉलिमर पुस्तकालय से हाल ही में लिट्लमेंट तक।

अपनी याद को ताज़ा करना चाहते हैं ? वेब घटक ब्राउज़र मानकों का एक सेट है जो हमें देशी, पुन: प्रयोज्य, एन्कैप्सुलेटेड और मॉड्यूलर घटकों को लिखने की अनुमति देता है।

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

इसलिए, आज मैं आप सभी के साथ साझा करने में प्रसन्न हूं कि आईएनजी वेब घटकों के पुस्तकालय में मुफ्त उपयोग के लिए खुलता है शेर!

सिंह क्यों?


निम्नलिखित काल्पनिक परिदृश्य की कल्पना करें:
लिआ बेतेच से एक डेवलपर है, वह कंपनी के लिए एक नए आंतरिक अनुप्रयोग पर काम कर रही है।

फ्रेमवर्क अज्ञेय


घटकों को खोजना आसान नहीं है और परिणाम आपको निराश कर सकते हैं।

लिआह अपने कार्य के लिए सही घटक पाता है, लेकिन, दुर्भाग्य से, यह एक विशिष्ट जावास्क्रिप्ट ढांचे में लिखा गया है, इसलिए आप इसे प्राप्त नहीं कर सकते और इसका उपयोग कर सकते हैं।

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

ली एक ऐसा घटक ढूंढता है जो सभी आवश्यक कार्यक्षमता प्रदान करता है, लेकिन यह बेटेटेक की पहचान के लायक नहीं है।

क्रियात्मक अनुकूलन


आदर्श घटक खोजने के बाद, कुछ बिंदु पर आप पा सकते हैं कि घटक किसी विशिष्ट कार्यात्मक लोड को नहीं ले जाता है जिसकी आपको आवश्यकता है।

ली ने पाया घटक के कोड को कॉपी करने और अपने दम पर फ़ंक्शन को लागू करने का निर्णय लिया, और परिणामस्वरूप, अब आपको पूरे घटक का समर्थन करना होगा, जो परियोजना पर अतिरिक्त बोझ डालता है।

उपलब्धता


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

ऑपरेशन के दौरान, ली को एक घटक की उपलब्धता के साथ एक समस्या का पता चलता है जो उसे इंटरनेट पर मिला था। वह इसे कोड में ठीक नहीं कर सकती, इसलिए वह घटक के लेखकों से उसकी मदद करने के लिए कहती है। लेकिन वे जवाब देते हैं कि वे कुछ भी मदद नहीं कर सकते, क्योंकि वे कुछ भी बदलना नहीं चाहते हैं।

या

लिआह अपने स्वयं के घटक को लिखता है, लेकिन पहुंच की समस्याओं को ठीक करना मुश्किल है क्योंकि उसने मूल रूप से HTML संरचना को लिखा था, और सुधार महत्वपूर्ण बदलाव लाएगा।


संक्षेप


क्या आपको नहीं लगता कि लिआ की कहानी सीधे प्रासंगिक है?
यह आधुनिक वेब विकास में कई सामान्य मुद्दों को संबोधित करता है:

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

इन समस्याओं को हल करने के लिए क्या किया जा सकता है?

  • कल्पना करें कि आपके पास ऐसे घटक हैं जिनका मुख्य कार्य कार्यक्षमता प्रदान करना है, और डिजाइन आपके विवेक पर है।
  • कल्पना कीजिए कि इन घटकों की उत्कृष्ट उपलब्धता और प्रदर्शन है।
  • कल्पना कीजिए कि ये घटक एक्स्टेंसिबल और लचीले हैं।

अब सपने देखना बंद करो और शेर पर ध्यान दो।

सिंह क्या है?


हम एक समय में वेब - एक घटक को बढ़ावा देना चाहते हैं।
शेर एक ओपन-सोर्स व्हाइट-लेबल लाइब्रेरी है, जो चौखटे पर निर्भर नहीं करता है और आपकी कंपनी की डिज़ाइन प्रणाली का आधार बन सकता है। उपस्थिति और कार्यक्षमता में निरंतरता एक कठिन काम है और हम आशा करते हैं कि सिंह के साथ हम आपके काम को आसान बना सकते हैं।

सफेद उपनाम


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

यही हम ING पर कर रहे हैं। हमारे अपने इंग-वेब घटक लायन घटकों का विस्तार करते हैं और हमारी दृश्य ING पहचान को लागू करते हैं, जो लायन के ऊपर एक पतली परत है। लॉयन

डेमो देखेंबहुत देहाती लगता है, है ना? अब शेर के साथ संयोजन के रूप में ing-web:



प्राथमिक ध्यान


शेर को वैश्विक उपयोग और पुन: प्रयोज्य पर ध्यान केंद्रित करके विकसित किया गया था। इसके परिणामस्वरूप, शुरुआत से ही निम्नलिखित विशेषताएं जोड़ी गई हैं:

  • पुन: उपयोग - हमारे घटकों को विश्व स्तर पर वितरित और उपयोग करने के लिए डिज़ाइन किया गया है;
  • पहुँच क्षमता - हमारे घटकों को सभी के लिए सुलभ होने के लिए डिज़ाइन किया गया है;
  • उत्पादकता - हमारे घटक छोटे, उत्पादक और तेज़ होने चाहिए।

ये सभी विशेषताएं हमें विश्व स्तर पर हमारे घटकों का विस्तार करने और उन पर काम करते समय आपसी समझ का पता लगाने की अनुमति देती हैं। यह सुनिश्चित करता है कि ING में हर किसी के पास अपने आवेदन के निर्माण के लिए बिल्डिंग ब्लॉक्स का एक ठोस सेट है और जल्दी से शुरू करें।

सीख सीखी


आईएनजी ने वेब घटकों का उपयोग बहुत पहले शुरू कर दिया था, और लायन पहला घटक पुस्तकालय नहीं है जिसे हमने बनाया है। इसलिए, आप आश्चर्यचकित हो सकते हैं कि ये घटक पिछली पीढ़ी से कैसे भिन्न हैं।

लॉयन को जमीन तक पहुंच से बाहर तक पहुंच और संवेदनशीलता प्रदान की गई थी, क्योंकि हम जानते थे कि विकास के बाद के चरणों में इन चीजों को जोड़ना लगभग असंभव था। मैं शेर बनाने के दौरान सीखे गए कुछ पाठों को उजागर करना चाहूंगा:

  • सब कुछ एक वेब घटक नहीं बनना चाहिए, कुछ कार्यक्षमता को जोड़ने के लिए नियमित जावास्क्रिप्ट का उपयोग करना बेहतर है;
  • देशी एचटीएमएल तत्वों के जितना हो सके पास रहें;
  • शुरू से पहुंच पर काम;
  • सब कुछ छाया में नहीं होना चाहिए DOM, यह विशेष रूप से aria रिश्तों और पहुंच के लिए महत्वपूर्ण है;
  • यूआई घटक जटिल हैं।

« -, .»
Erik Kroes

Lion!


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

इसके अलावा, आप अपने पसंदीदा डिज़ाइन सिस्टम के वेब घटक संस्करण बनाने के लिए लायन का उपयोग कर सकते हैं, जैसे: बुल्मा , बूटस्ट्रैप , मटीरियल , बोल्ट , आर्गन , टेलविंड

इसके अलावा, जितने अधिक लायन उपयोगकर्ता और योगदानकर्ता होंगे, उसका आधार उतना ही अधिक स्थिर होगा, जो लायन का उपयोग करने वाले सभी को प्रभावित करेगा।

सिंह के विकास में योगदान!


लेखन के समय, शेर अभी भी बीटा में है। हम आपकी प्रतिक्रिया प्राप्त करना पसंद करेंगे, इससे पहले कि हम स्थिर रिलीज़ करें, इसलिए यदि आपको खुला स्रोत पसंद है और शेर की मदद करना चाहते हैं, तो आप यह कर सकते हैं:

  • मुद्दा बनाना और बंद करना;
  • पूरी तरह से नए घटक पर काम करना (मुद्दे पर चर्चा करके शुरू);
  • प्रलेखन में सुधार;
  • ... कोई भी योगदान महत्वपूर्ण है! यहां तक ​​कि प्रलेखन में टाइपोस का सुधार

किसी भी प्रतिक्रिया या आपके पास होने वाले सवालों को भेजने के लिए गितुब पर खुलकर बात करें। आप हमें पॉलिमर सुस्त चैनल में भी देख सकते हैं #lion

आप लिंक द्वारा सुस्त पॉलिमर में शामिल हो सकते हैं

घटक विस्तार


आप अपने स्वयं के डिजाइन प्रणाली को लागू करने के लिए सिंह का उपयोग आधार के रूप में कर सकते हैं।

आइए देखें कि अगर उसने सिंह को चुना तो ली की कहानी कैसे हुई।

आरंभ करने के लिए, आपको जो कुछ भी ज़रूरत है उसे स्थापित करें:

npm i lit-element @lion/tabs

lea-tabsशेर की कार्यक्षमता का पुन: उपयोग करके एक घटक बनाएं इसने लिआ को सभी कार्यात्मक भार और पहुंच प्राप्त करने की अनुमति दी, जिसे अपने स्वयं के टैब घटक को लागू करने के लिए आवश्यक होगा।

import { css } from 'lit-element';
import { LionTabs } from '@lion/tabs';

export class LeaTabs extends LionTabs {
  static get styles() {
    return [
      super.styles,
      css`
        /* my stylings */
      `
    ];
  }

  connectedCallback() {
    super.connectedCallback();
    this._setupFeature();
  }

  _setupFeature() {
    // being awesome
  }
}

customElements.define('lea-tabs', LeaTabs);

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

import { LitElement, html, css } from 'lit-element';

export class LeaTab extends LitElement {
  static get styles() {
    return css`/* my stylings */`;
  }

  render() {
    return html`
      <!-- dom as needed -->
      <slot></slot>
    `;
  }
}

customElements.define('lea-tab', LeaTab);

पूरी तरह से! अब ली tabsनिम्नानुसार घटक का उपयोग कर सकते हैं :

<lea-tabs>
  <lea-tab slot="tab">Info</lea-tab>
  <lea-tab-panel slot="panel">
    Info page with lots of information about us.
  </lea-tab-panel>
  <lea-tab slot="tab">Work</lea-tab>
  <lea-tab-panel slot="panel">
    Work page that showcases our work.
  </lea-tab-panel>
</lea-tabs>

खैर, अब ली घटक तैयार है, यह कुछ दस्तावेज लिखने का समय है। आप ली प्रलेखन लाइव पेज पर देख सकते हैं lea-tabsआप GitHub पर पूरा कोड देख सकते हैं

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

क्यों खुला स्रोत?

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

हमारे भंडार पर एक नज़र डालें ! और अगर आप अद्यतित रहना चाहते हैं, तो ट्रैकिंग शुरू करना सुनिश्चित करें और / या एक तार डाल दें - हमारे पास ट्विटर (अभी तक) नहीं है, लेकिन फिर भी आप मेरी सदस्यता ले सकते हैं: हैलो, मैं थॉमस ओलमर हूं

लेकिन वह सब नहीं है!


एप्लिकेशन बनाना मुश्किल है, और कभी-कभी आपको एक विशिष्ट घटक से थोड़ा अधिक की आवश्यकता होती है, उदाहरण के लिए, चीजें जैसे: सत्यापन, फॉर्म, ओवरले, स्थानीयकरण, आदि। लेकिन डरो मत, शेर बचाव में आएगा!

आप हमारे प्रलेखन में उनके बारे में जानकारी पा सकते हैं , और हम आपको निम्नलिखित ब्लॉग पोस्टों में अतिरिक्त शेर प्रणालियों के बारे में बताएंगे।

स्वीकृतियाँ


अंत में, हम धन्यवाद के साथ लेख को समाप्त करना चाहेंगे:
ING, हमें इस परियोजना पर काम करने का अवसर देने के लिए और इसे ओपन-सोर्स समुदाय के साथ मिलकर इतना अच्छा बनाने के लिए।

सभी योगदानकर्ताओं (39, और यह सीमा नहीं है!) सहित लायन (विशेषकर लायन टीम) पर काम करने वाले सभी के लिए।

और आखिरी धन्यवाद, लेकिन कोई कम महत्वपूर्ण नहीं: मेरी कहानियों को एक दिलचस्प कहानी में बदलने के लिए पास्कल शिल्प

हम आपको इस विषय पर हमारे मुफ्त पाठ में शामिल होने के लिए आमंत्रित करते हैं: “SvelteJs। जल्दी शुरू करो

All Articles