<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Panjwani Jatin on Medium]]></title>
        <description><![CDATA[Stories by Panjwani Jatin on Medium]]></description>
        <link>https://medium.com/@panjwanijatin?source=rss-73dfe0b72608------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/2*ACk4aqF3ChQ0J55mc9lzZA.jpeg</url>
            <title>Stories by Panjwani Jatin on Medium</title>
            <link>https://medium.com/@panjwanijatin?source=rss-73dfe0b72608------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 17:51:41 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@panjwanijatin/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[What are Web Components?]]></title>
            <link>https://medium.com/@panjwanijatin/what-are-web-components-788ff388877e?source=rss-73dfe0b72608------2</link>
            <guid isPermaLink="false">https://medium.com/p/788ff388877e</guid>
            <category><![CDATA[front-end-development]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[software-engineering]]></category>
            <dc:creator><![CDATA[Panjwani Jatin]]></dc:creator>
            <pubDate>Sat, 09 Nov 2019 13:29:52 GMT</pubDate>
            <atom:updated>2019-11-09T13:29:52.762Z</atom:updated>
            <content:encoded><![CDATA[<h3>Power of Web Components</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/375/1*O8nBOO2zllW06seFa3x9Lw.png" /></figure><p><em>Web components are a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags to use in web pages and web apps. Custom components and widgets build on the Web Component standards, will work across modern browsers, and can be used with any JavaScript library or framework that works with HTML</em></p><p><a href="https://www.webcomponents.org/introduction">webcomponents.org - Discuss &amp; share web components</a></p><p><strong>They work with any frontend framework seamlessly.</strong></p><p>Thus it is a useful way to standardize some components. For example, we can create our own edition of Input Element which has a floating label which we, for now, can call &lt;FloatingLableInput&gt;. It can be imported any framework and used just like any other HTML element like &lt;p&gt;.</p><p><strong>Role of Shadow DOM</strong></p><p><strong>Shadow DOM</strong>: A set of JavaScript APIs for attaching an encapsulated “shadow” DOM tree to an element — which is rendered separately from the main document DOM — and controlling associated functionality. In this way, you can keep an element’s features private, so they can be scripted and styled without the fear of collision with other parts of the document.</p><ul><li>It helps us to keep the implementation of custom elements hidden away from normal DOM which means less code to maintain and understand.</li><li>CSS scoping is another great aspect of shadow DOM. It keeps the styling of component private means normal DOM cannot access its styling thus it is useful in avoiding CSS class name collisions.</li></ul><p><strong>They are highly interoperable</strong></p><p>Web Components use a set of standardized APIs that are native to all modern browsers and run on nearly all mobile devices and desktop browsers today. With Web Components, you can create and share custom elements that work on any site, interoperate seamlessly with the browser’s built-in elements, and play with frameworks of all kinds.</p><p>Above mentioned abilities allow some interesting things to happen:</p><ul><li>They can be used in any CMS, React, Vue, etc like any other HTML element.</li><li>It allows us to incrementally incorporate new functionalities with Web Components in existing or legacy applications without having to maintain code on concrete frameworks or libraries.</li></ul><p><strong>How React/Vue/Angular can work hand in hand with web components?</strong></p><ul><li>All the frontend frameworks are good at providing state management and event handling which web components are not good at.</li></ul><p>Excited to explore more of Web Components in the near future.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=788ff388877e" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>