<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Marco Monsanto</title>
    <description>The latest articles on DEV Community by Marco Monsanto (@marcomonsanto).</description>
    <link>https://dev.to/marcomonsanto</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F306557%2F063989e9-8f7c-4a7a-8818-13b3eab529f8.jpg</url>
      <title>DEV Community: Marco Monsanto</title>
      <link>https://dev.to/marcomonsanto</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/marcomonsanto"/>
    <language>en</language>
    <item>
      <title>Routing in SPAs</title>
      <dc:creator>Marco Monsanto</dc:creator>
      <pubDate>Wed, 24 Jun 2020 18:20:57 +0000</pubDate>
      <link>https://dev.to/marcomonsanto/routing-in-spas-173i</link>
      <guid>https://dev.to/marcomonsanto/routing-in-spas-173i</guid>
      <description>&lt;h2&gt;
  
  
  What is Routing
&lt;/h2&gt;

&lt;p&gt;Routing is a concept that exists in server-side applications for a long time.&lt;br&gt;
In a short version, it's the concept of mapping URL patterns to parts of your application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why we should use Routing in SPA
&lt;/h2&gt;

&lt;p&gt;Routing is not an obligation to have in your SPA(single page application), but sure is something worth your time. You and your SPA users will appreciate that you took the time to implement this.&lt;/p&gt;

&lt;p&gt;Take a look at this example of a SPA without Routing:&lt;/p&gt;

&lt;p&gt;You have the following website → yourwebsite.com&lt;/p&gt;

&lt;p&gt;You have a Landing Page, an About Page to talk about yourself, and a Blog Page where you share your posts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjf4dd0rblewq01ov71ms.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fjf4dd0rblewq01ov71ms.png" alt="Bad landing without routing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now imagine that they want to go to your Blog Page to check your latest Post. So they click your "Blog button" and they see this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdkok8pq1fwhlebn9zs2i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fdkok8pq1fwhlebn9zs2i.png" alt="Bad Blog Page without routing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything seems fine, you could manage the views with some "if" statements and everything is in place. Until someone tries to share the post or bookmark it. Look at the URL at the top of the image.&lt;/p&gt;

&lt;p&gt;It says: "yourwebsite.com/".&lt;/p&gt;

&lt;p&gt;Guess what will show up when you enter URL in a different tab and press enter? Yes, it will show the landing page. &lt;/p&gt;

&lt;p&gt;Why? Because we are not saving the state into the only thing that at the moment survives a reload, the URL.&lt;/p&gt;

&lt;p&gt;This is why URLs are much more than just the text that shows in the Address bar, it's the state of your application at that exact point(not all the state, but the minimum that you need to get the user back into the point they left).&lt;/p&gt;

&lt;h2&gt;
  
  
  How a routing will help you
&lt;/h2&gt;

&lt;p&gt;As I said before, routing is the concept of mapping URL Patterns into parts of your application and should match the state of your application at that exact point.&lt;/p&gt;

&lt;p&gt;Probably a good URL for when you are at the Blog page could be → yourwebsite.com/blog&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fi37wy73tlsmmtqb4e09c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fi37wy73tlsmmtqb4e09c.png" alt="Good Blog Page with routing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, when someone enters that your, you know what they are looking for, they want to see the blog page from your website, so you just have to read the URL and show whatever is supposed to be there.&lt;/p&gt;

&lt;p&gt;Now imagine that they click in the "Post 1" and move there.&lt;/p&gt;

&lt;p&gt;Now the URL needs to have something that identifies the Post that they want to see, maybe → yourwebsite.com/blog/post-1&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhub79ubx08nfd29sdbf4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhub79ubx08nfd29sdbf4.png" alt="Good Post Page with routing pointing to it"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again, this way you know what they are looking for. They want to see the post with the title: post-1 (to be used this way, this needs to be a unique identifier and we only use it to identify post-1)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's break down the URL at this page:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://yourwebsite.com/" rel="noopener noreferrer"&gt;yourwebsite.com/&lt;/a&gt; → this is your domain, where your app lives on the webs.&lt;/li&gt;
&lt;li&gt;/blog/ → this is your page with all your blog posts&lt;/li&gt;
&lt;li&gt;/post-1 → this is your latest blogpost&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With a URL like this, your SPA will be able to read it and know what information should be shown. Not always the landing page, but a specific page.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to achieve this
&lt;/h2&gt;

&lt;p&gt;To make URLs have our state we need to do two possibilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the HistoryAPI to change the address bar, add our state to our URL, and read from it to know what to display.&lt;/li&gt;
&lt;li&gt;A library that helps us manage the routing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  History API
&lt;/h3&gt;

&lt;p&gt;This API was introduced with HTML5 and gave us two methods to manage our URLs, pushState() and replaceState().&lt;/p&gt;

&lt;p&gt;To achieve our goal we will need to use the pushState() method. This will allow us to add a new entry in the History of the browser, in our case, this means a new page.&lt;/p&gt;

&lt;p&gt;The pushState() method takes three parameters: a state object, a title(ignore by all but safari), a URL.&lt;/p&gt;

&lt;p&gt;For our example, we will only require to call it with the URL param. To do that we write this.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pushState('', '', '/blog/');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This line will create a new entry "yourwebsite/blog/" with the usage of the History API.&lt;/p&gt;

&lt;p&gt;Imagine the list of your browser history, the pushState() will put a new entry on top and set our address bar to that newly created entry.&lt;/p&gt;

&lt;h3&gt;
  
  
  A library that does the heavy lifting
&lt;/h3&gt;

&lt;p&gt;Implementing this by yourself with history.pushState() is something that takes a lot of time.&lt;/p&gt;

&lt;p&gt;If you are working with SPA, you are probably working with libraries like React, Vue, Svelte, etc. &lt;/p&gt;

&lt;p&gt;Those libraries already have good community projects that give us this out of the box without the need to use the time that would be better off investing in your website.&lt;/p&gt;

&lt;p&gt;I would say, React-router for React, Vue-router for Vue.&lt;/p&gt;

&lt;p&gt;In the case of Svelte, if you need only Client-Side Rendering use svelte-spa-router, if you need server-side-rendering you can use svelte-routing or Sapper, but the later being a framework that you work on top off.&lt;/p&gt;

&lt;p&gt;Thanks for reading this blog post, I hope that I could how we can achieve a good routing in SPAs. After this, I will show you how we can implement Routing with Svelte and svelte-spa-router.&lt;/p&gt;




&lt;p&gt;I will be posting more content related to Svelte and how to work with it in the next weeks, feel free to follow me here and/or in my twitter.&lt;/p&gt;

&lt;p&gt;Looking forward to hearing your thoughts regarding this article and Svelte, share experience with this awesome tool.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>routing</category>
      <category>spa</category>
    </item>
    <item>
      <title>Svelte: An introduction</title>
      <dc:creator>Marco Monsanto</dc:creator>
      <pubDate>Thu, 18 Jun 2020 15:52:48 +0000</pubDate>
      <link>https://dev.to/marcomonsanto/svelte-an-introduction-19pn</link>
      <guid>https://dev.to/marcomonsanto/svelte-an-introduction-19pn</guid>
      <description>&lt;p&gt;Svelte is one in a sea of frameworks and libraries to build User Interfaces.&lt;/p&gt;

&lt;p&gt;Even if most, if not all of them follow the same principle of creating components that are readable, reusable and composable to build dynamic and complex layouts, there are always differences in the inner works and syntax.&lt;/p&gt;

&lt;p&gt;In this post, I will share how is the syntax, how reactivity works in Svelte, and what ends up in the bundle after the build process. For that, I will create a Simple Counter with increment and decrement.&lt;/p&gt;

&lt;h2&gt;
  
  
  First, The Syntax
&lt;/h2&gt;

&lt;p&gt;This is all the code that we need for creating our counter, update the value and render the new value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzs04q64iyixpecsxxn75.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzs04q64iyixpecsxxn75.png" alt="Code Snippet from Simple Counter"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Script
&lt;/h3&gt;

&lt;p&gt;The script tag is where we add all our javascript to manipulate our component. &lt;/p&gt;

&lt;p&gt;In this case, we only manipulate the value of the count variable.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Styles
&lt;/h3&gt;

&lt;p&gt;The style script is where we add all our styles for this component. All styles inside the component will be scoped to itself, so even if you add styles to &lt;/p&gt;
&lt;p&gt;, it will only apply in the &lt;/p&gt;
&lt;p&gt;'s inside itself by adding a class with "svelte-component_generated_hash".&lt;/p&gt;

&lt;h3&gt;
  
  
  The HTML
&lt;/h3&gt;

&lt;p&gt;The rest of our code will be seen as HTML.&lt;/p&gt;

&lt;p&gt;In the end, we will have something like this as our DOM.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0k30ih8n5gy2w6ik4g76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F0k30ih8n5gy2w6ik4g76.png" alt="HTML Snippet of the browser"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, we have a super clean DOM with all our declared HTML and scoped styles.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can we achieve reactivity in Svelte
&lt;/h2&gt;

&lt;p&gt;Reactivity is the process that triggers the rendering process for the DOM to reflect the changes in our variables values.&lt;/p&gt;

&lt;p&gt;Reactivity in Svelte works based on assignments, in our case we have a variable that we want to change based on clicks in the increment and decrement buttons.&lt;/p&gt;

&lt;p&gt;Now let's take a look at our "script" tag.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fz6pidhlui3dwzuiit873.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fz6pidhlui3dwzuiit873.png" alt="Script snippet from Simple Counter"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One variable called count&lt;/li&gt;
&lt;li&gt;Two functions called increment and decrement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both of our functions perform an assignment in our count variable. This will do trigger a re-render and update the DOM with our new value.&lt;/p&gt;

&lt;p&gt;Here is the documentation related to reactivity:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To change component state and trigger a re-render, just assign to a locally declared variable.&lt;br&gt;
Update expressions (count += 1) and property assignments (obj.x = y) have the same effect. - &lt;a href="https://svelte.dev/docs#2_Assignments_are_reactive" rel="noopener noreferrer"&gt;Svelte Docs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;After this, we will move into more real live use cases like communication between components with props and events.&lt;/p&gt;




&lt;p&gt;I will be posting more content related to Svelte and how to work with it in the next weeks, feel free to follow me here and in my &lt;a href="https://twitter.com/marcomonsanto2" rel="noopener noreferrer"&gt;twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for reading this blog post, I hope that I could explain in an easy way this introduction to Svelte.&lt;/p&gt;

</description>
      <category>svelte</category>
      <category>javascript</category>
      <category>frontend</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Svelte: a different approach to build UI</title>
      <dc:creator>Marco Monsanto</dc:creator>
      <pubDate>Mon, 15 Jun 2020 16:10:21 +0000</pubDate>
      <link>https://dev.to/marcomonsanto/svelte-a-different-approach-to-build-ui-372j</link>
      <guid>https://dev.to/marcomonsanto/svelte-a-different-approach-to-build-ui-372j</guid>
      <description>&lt;p&gt;In a world where we use frameworks and their abstractions to focus on the important thing that is getting the job done, Svelte is a framework that takes a different approach to get to the same result.&lt;/p&gt;

&lt;p&gt;In this post, I will share how I got to know Svelte and why I consider it as one framework to use in future projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bhZPG4CF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gwjdrovnb0ul7oamge3s.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bhZPG4CF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/gwjdrovnb0ul7oamge3s.jpeg" alt="VSCode with a Svelte project Open"&gt;&lt;/a&gt;&lt;br&gt;
&lt;sup&gt;Photo by Ferenc Almasi&lt;/sup&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Svelte
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;"Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks like React and Vue do the bulk of their work in the browser, Svelte shifts that work into a compile step that happens when you build your app." - &lt;a href="https://svelte.dev/"&gt;Svelte Website&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How Svelte entered my interest list
&lt;/h2&gt;

&lt;p&gt;During one project where our team needed to create an APP for a client, we came across one challenge that was related to their business model. The app is a widget that needs to load as soon as possible since we are always dependent on the host page performance, something that we have no control of. So performance in our case is the main requirement.&lt;/p&gt;

&lt;p&gt;While trying to improve the app performance by trimming the external dependencies to become as lightweight as possible, after some iterations we reached a point where most of our bundle size was React and React-DOM.&lt;/p&gt;

&lt;p&gt;Now, there are some actions we took, but some questions started to grow in my mind.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shouldn't we always deliver the most performant code that we can?&lt;/li&gt;
&lt;li&gt;Aren't one of the reasons why we use frameworks, the abstraction that it provides but also the ease of use and the tools to do our job more efficiently?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nothing against React, it's an awesome tool and, in my opinion, the best ecosystem to work. It has a lot of tools for the most common problems that we face like routing, state management, component libraries, and more.&lt;/p&gt;

&lt;p&gt;But for our case, it was probably not the best tool for the job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is where Svelte enters the room.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What makes it different
&lt;/h2&gt;

&lt;p&gt;Contrary to other frameworks, Svelte is a compiler.&lt;/p&gt;

&lt;p&gt;What does that mean? And most importantly, how is that a positive thing for developers and end-users?&lt;/p&gt;

&lt;p&gt;This quote from the Svelte website gives a good, concise explanation.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Svelte compiles your code to tiny, framework-less vanilla JS - your app starts fast and stays fast" - &lt;a href=""&gt;Svelte Website&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;While React, Vue, and other frameworks provide us an interface to create slick UI's, we need to send the framework as a dependency in our bundle for it to render and manage the UI. With Svelte this is something that doesn't happen.&lt;/p&gt;

&lt;p&gt;Svelte will pick up all your code and compile it into "framework-less vanilla JS", while we build our app for production it will make our code something that the browser can understand out of the box, without the need of an "orchestrator".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VXsQthPb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/924gnajb1n0998lqdpar.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VXsQthPb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/924gnajb1n0998lqdpar.png" alt="Framework production bundle size comparison"&gt;&lt;/a&gt;&lt;br&gt;
&lt;sup&gt;Chart from this &lt;a href="https://www.freecodecamp.org/news/a-realworld-comparison-of-front-end-frameworks-with-benchmarks-2019-update-4be0d3c78075/"&gt;freecodecamp article&lt;/a&gt;, if you would like to dive deeper I highly recommend take a look  at it.&lt;/sup&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why should we consider it for a future project
&lt;/h2&gt;

&lt;p&gt;More than the small bundle size and by consequence faster load times in the browser, more points make Svelte so interesting to me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Svelte code, in my opinion, is very clean and readable.&lt;/li&gt;
&lt;li&gt;Stores for state management already built-in with "svelte/store" module.&lt;/li&gt;
&lt;li&gt;Event forwarding super clean with the "on:whatever" to make it accessible to parent without having to move up and down with props.&lt;/li&gt;
&lt;li&gt;Special attention to animations, for slick UI's.&lt;/li&gt;
&lt;li&gt;Document header management already built-in with "svelte:head".&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The community around Svelte is growing but there is still a difference between the size of the ecosystem compared to React.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final remarks
&lt;/h2&gt;

&lt;p&gt;All that I wrote above is the result of the search and experiment that I had with Svelte after I came across a challenge at work. By no means, I tell everyone to move to Svelte right away, but I think that it is worth considering for next projects.&lt;/p&gt;

&lt;p&gt;Svelte brings a new different approach to building UI with some awesome and, in my opinion, important aspects that helps developers create an awesome work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to go from here
&lt;/h2&gt;

&lt;p&gt;If you want o dive deeper into the world of Svelte I highly recommend you check their website and follow their tutorial, it has a lot of information and a REPL set up for you to practice everything your read.&lt;/p&gt;




&lt;p&gt;Thanks for reading this blog post, I hope that I could bring some light into what Svelte is and what was the context that lead me into take a closer look and experiment with this different approach.&lt;/p&gt;

&lt;p&gt;I will be posting more content related to Svelte and how to work with it in the next weeks, feel free to follow me here and/or in my twitter.&lt;/p&gt;

&lt;p&gt;looking forward to hearing your thoughts regarding this article and Svelte, share experience with this awesome tool.&lt;/p&gt;

</description>
      <category>svelte</category>
      <category>javascript</category>
      <category>frontend</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
