<?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: Moataz Aldawood</title>
    <description>The latest articles on DEV Community by Moataz Aldawood (@mtz1406).</description>
    <link>https://dev.to/mtz1406</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4063155%2F0108604a-c700-4e61-a0ae-e5a94229263c.png</url>
      <title>DEV Community: Moataz Aldawood</title>
      <link>https://dev.to/mtz1406</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mtz1406"/>
    <language>en</language>
    <item>
      <title>Bridging the FE/BE Divide: Why I Built a Zero-Dependency Component Engine for Vanilla HTML</title>
      <dc:creator>Moataz Aldawood</dc:creator>
      <pubDate>Tue, 04 Aug 2026 21:54:41 +0000</pubDate>
      <link>https://dev.to/mtz1406/bridging-the-febe-divide-why-i-built-a-zero-dependency-component-engine-for-vanilla-html-3h8h</link>
      <guid>https://dev.to/mtz1406/bridging-the-febe-divide-why-i-built-a-zero-dependency-component-engine-for-vanilla-html-3h8h</guid>
      <description>&lt;p&gt;If you’ve ever worked on a team with a strict separation between Front-End and Back-End developers, you know the pain.&lt;/p&gt;

&lt;p&gt;The FE team builds and delivers pristine, raw HTML. Then, it lands on the BE team's desk. Suddenly, the back-end developers have to rewrite, restructure, or "clean up" the markup just to wrap it in server-side rendering logic—whether that is JSF, ASP, Laravel, PHP, Django, JSP, Thymeleaf, Blade, or Jinja2.&lt;/p&gt;

&lt;p&gt;The result? Massive misalignment, friction, and wasted development cycles during handoff.&lt;/p&gt;

&lt;p&gt;The Problem: The Markup Translation Tax&lt;br&gt;
Why does this happen? Because traditional component frameworks (React, Vue, Svelte) require a heavy Node.js toolchain, build steps, and complex bundling. If a backend-heavy stack isn't running a full Node ecosystem, integrating modern component architectures becomes an uphill battle.&lt;/p&gt;

&lt;p&gt;As a result, teams fall back on copy-pasting raw HTML templates, leading to out-of-sync codebases where the front-end design and back-end logic drift apart.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Solution: Enter Andalina&lt;/strong&gt;&lt;br&gt;
To solve this misalignment, I wanted something lightweight that bridges the gap without forcing a massive infrastructure shift. So, I built Andalina (an-dalina)—a zero-dependency, client-side template engine that brings component architecture straight to vanilla HTML.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No Node.js required.&lt;/li&gt;
&lt;li&gt;No Webpack or complex bundlers.&lt;/li&gt;
&lt;li&gt;No server-side rendering setup needed to preview.&lt;/li&gt;
&lt;li&gt;Built entirely on Standard HTML/XHTML.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How It Works&lt;/strong&gt;&lt;br&gt;
With Andalina, the FE team delivers structured, modular components that cleanly map to server-side component boundaries. Because it relies on standard HTML syntax, the BE team can easily ingest and integrate these templates directly into their existing server-side architecture without rewriting a single line of markup.&lt;/p&gt;

&lt;p&gt;Best of all? It has only 6 tags to learn, making the learning curve flat for anyone on the team.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try It Out &amp;amp; Let's Connect!&lt;/strong&gt;&lt;br&gt;
I built Andalina to help front-end and back-end teams work closer together and actually enjoy the handoff process.&lt;/p&gt;

&lt;p&gt;You can check out the documentation and try it out here:&lt;br&gt;
👉 &lt;a href="https://moataz-aldawood.github.io/andalina/documentation.html" rel="noopener noreferrer"&gt;Andalina Documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would love to hear your thoughts. All kinds of feedback are welcome—ideas, enhancements, edge cases, or issues. Let’s make FE and BE developers friends again! :)&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>frontend</category>
      <category>frontendchallenge</category>
    </item>
  </channel>
</rss>
