<?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: Sebastián Tramontana</title>
    <description>The latest articles on DEV Community by Sebastián Tramontana (@sebastiantramontana).</description>
    <link>https://dev.to/sebastiantramontana</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%2F3448684%2F6251f0ec-2151-4861-9675-486d48b44aeb.png</url>
      <title>DEV Community: Sebastián Tramontana</title>
      <link>https://dev.to/sebastiantramontana</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sebastiantramontana"/>
    <language>en</language>
    <item>
      <title>Side Project: Vitraux - a free .NET library for manipulating the HTML DOM in WebAssembly applications</title>
      <dc:creator>Sebastián Tramontana</dc:creator>
      <pubDate>Fri, 22 Aug 2025 16:35:01 +0000</pubDate>
      <link>https://dev.to/sebastiantramontana/side-project-vitraux-a-free-net-library-for-manipulating-the-html-dom-in-webassembly-3p8j</link>
      <guid>https://dev.to/sebastiantramontana/side-project-vitraux-a-free-net-library-for-manipulating-the-html-dom-in-webassembly-3p8j</guid>
      <description>&lt;p&gt;Hi DEV! 👋👋👋&lt;/p&gt;

&lt;p&gt;I'm building a free library to map your .NET ViewModels to HTML in WebAssembly called &lt;strong&gt;Vitraux&lt;/strong&gt; as an alternative to Blazor WebAssembly.&lt;/p&gt;

&lt;h2&gt;
  
  
  📢 What it does?
&lt;/h2&gt;

&lt;p&gt;Vitraux is a .NET library for manipulating the HTML DOM in WebAssembly applications.&lt;br&gt;
Using a declarative approach, it maps .NET ViewModels directly to standard HTML elements, maintaining a clear separation of concerns between frontend and backend. This makes your code easier to maintain, more readable, and highly scalable.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Give it a try on GitHub:&lt;/strong&gt; &lt;a href="https://github.com/sebastiantramontana/Vitraux" rel="noopener noreferrer"&gt;https://github.com/sebastiantramontana/Vitraux&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Key Benefits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Clean HTML and C#: No need for custom components or mixing .NET logic with HTML. Your frontend remains pure HTML5 and your backend pure .NET.&lt;/li&gt;
&lt;li&gt;True Decoupling: Keeps business logic (backend) and presentation (frontend) fully separated, making collaboration and maintenance easier.&lt;/li&gt;
&lt;li&gt;Declarative Mapping: Define the mapping between ViewModels and HTML elements in a simple, expressive way.&lt;/li&gt;
&lt;li&gt;Easy Integration: Just define your mappings and call an update method. Everything else is handled automatically.&lt;/li&gt;
&lt;li&gt;Efficient DOM Updates: Works with DOM objects in memory as much as possible, updating the UI only when strictly necessary for optimal performance.&lt;/li&gt;
&lt;li&gt;Compatible and Scalable: Works with anything from vanilla HTML and Web Components to any frontend tool that outputs HTML.&lt;/li&gt;
&lt;li&gt;HTML Modularization: Lets you break your HTML into fragments stored in templates or external URIs, which you can design and structure however you like.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ✨ Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Change Tracking: Sends and updates only the data that actually changed since the last update, minimizing data transfer and avoiding unnecessary re-renders.&lt;/li&gt;
&lt;li&gt;Flexible Element Selection Strategies: Multiple ways to select HTML elements, adaptable to any view structure.&lt;/li&gt;
&lt;li&gt;Custom JavaScript Function Mapping: Call your own JavaScript functions in response to ViewModel changes.&lt;/li&gt;
&lt;li&gt;Modular Mapping: Split your mapping into sub-mappings for better readability and reuse.&lt;/li&gt;
&lt;li&gt;Auto-Generated Function Caching: Initialization and update functions generated by Vitraux can be cached for faster load times.&lt;/li&gt;
&lt;li&gt;Shadow DOM Support: Optionally encapsulate styles and structure using Shadow DOM, depending on project needs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💬 I'd love your feedback
&lt;/h2&gt;

&lt;p&gt;I would really appreciate your thoughts here, or you can contribute on github with discussion and opening issues.&lt;/p&gt;

&lt;p&gt;🙂 Thanks!&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>webassembly</category>
      <category>html</category>
      <category>blazor</category>
    </item>
  </channel>
</rss>
