<?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: mehdi</title>
    <description>The latest articles on DEV Community by mehdi (@mehdi1).</description>
    <link>https://dev.to/mehdi1</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%2F869413%2F9b20a9d3-cf63-4070-bf80-6c2676058386.png</url>
      <title>DEV Community: mehdi</title>
      <link>https://dev.to/mehdi1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mehdi1"/>
    <language>en</language>
    <item>
      <title>React in 2025: Why It's No Longer Just a Library (Server Components &amp; Frameworks Explained)</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Sun, 03 Aug 2025 09:15:03 +0000</pubDate>
      <link>https://dev.to/the-modern-web/react-in-2025-why-its-no-longer-just-a-library-server-components-frameworks-explained-30gh</link>
      <guid>https://dev.to/the-modern-web/react-in-2025-why-its-no-longer-just-a-library-server-components-frameworks-explained-30gh</guid>
      <description>&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/-xVHdXKAyqE"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>react</category>
      <category>nextjs</category>
      <category>javascript</category>
      <category>typescript</category>
    </item>
    <item>
      <title>The Future of Frontend: Progressive Web Apps, Microfrontends, &amp; JavaScript Frameworks in 2025</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Wed, 30 Jul 2025 17:53:44 +0000</pubDate>
      <link>https://dev.to/the-modern-web/the-future-of-frontend-progressive-web-apps-microfrontends-javascript-frameworks-in-2025-2b87</link>
      <guid>https://dev.to/the-modern-web/the-future-of-frontend-progressive-web-apps-microfrontends-javascript-frameworks-in-2025-2b87</guid>
      <description>&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/eAZQhxzvYO8"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>react</category>
      <category>vue</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Tue, 29 Jul 2025 09:16:19 +0000</pubDate>
      <link>https://dev.to/mehdi1/-37b1</link>
      <guid>https://dev.to/mehdi1/-37b1</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ngrx/announcing-ngrx-v20-the-power-of-events-enhanced-dx-and-a-mature-signalstore-2fdm" class="crayons-story__hidden-navigation-link"&gt;Announcing NgRx v20: The Power of Events, Enhanced DX, and a Mature SignalStore!&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/ngrx"&gt;
            &lt;img alt="NgRx logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F5016%2Fa8dc55b2-63c3-4e96-917c-2c18727a650a.png" class="crayons-logo__image"&gt;
          &lt;/a&gt;

          &lt;a href="/alexokrushko" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F156510%2F2fa459e2-6370-4c7a-94ab-4aabcb3189ed.jpg" alt="alexokrushko profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/alexokrushko" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Alex Okrushko
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Alex Okrushko
                
              
              &lt;div id="story-author-preview-content-2711400" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/alexokrushko" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F156510%2F2fa459e2-6370-4c7a-94ab-4aabcb3189ed.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Alex Okrushko&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/ngrx" class="crayons-story__secondary fw-medium"&gt;NgRx&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/ngrx/announcing-ngrx-v20-the-power-of-events-enhanced-dx-and-a-mature-signalstore-2fdm" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jul 28 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ngrx/announcing-ngrx-v20-the-power-of-events-enhanced-dx-and-a-mature-signalstore-2fdm" id="article-link-2711400"&gt;
          Announcing NgRx v20: The Power of Events, Enhanced DX, and a Mature SignalStore!
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/angular"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;angular&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ngrx"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ngrx&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ngrx/announcing-ngrx-v20-the-power-of-events-enhanced-dx-and-a-mature-signalstore-2fdm" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;36&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ngrx/announcing-ngrx-v20-the-power-of-events-enhanced-dx-and-a-mature-signalstore-2fdm#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              4&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            11 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>angular</category>
      <category>ngrx</category>
    </item>
    <item>
      <title>The Rise of Adapters in the JavaScript Ecosystem</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Sun, 27 Jul 2025 00:56:25 +0000</pubDate>
      <link>https://dev.to/the-modern-web/the-rise-of-adapters-in-the-javascript-ecosystem-2c76</link>
      <guid>https://dev.to/the-modern-web/the-rise-of-adapters-in-the-javascript-ecosystem-2c76</guid>
      <description>&lt;p&gt;The modern JavaScript landscape is characterized by rapid evolution and a proliferation of powerful tools, often referred to as meta-frameworks. As developers seek greater flexibility, performance, and maintainability, there's a growing emphasis on &lt;strong&gt;framework agnosticism&lt;/strong&gt; and &lt;strong&gt;runtime agnosticism&lt;/strong&gt;. This shift is paving the way for a new era where libraries and tools are designed with "adapters" in mind, allowing them to integrate seamlessly across different frameworks and runtime environments, thereby minimizing vendor lock-in and streamlining development workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Agnostic Tides: Framework and Runtime Independence&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A key trend in contemporary web development is the move towards solutions that are not intrinsically tied to a single JavaScript framework or runtime. This allows developers to choose the best tool for the job without committing to an entire ecosystem.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Hono's Universal Reach&lt;/strong&gt;: Hono, a relatively new framework, exemplifies this trend. It is described as a &lt;strong&gt;small, simple, and ultrafast web framework built on Web Standards&lt;/strong&gt;. Its serverless design and embrace of modern web APIs caught the attention of developers due to its impressive speed and minimal footprint. Crucially, Hono works on practically any JavaScript runtime, including &lt;strong&gt;Cloudflare Workers, Fastly Compute, Deno, Bun, Vercel, Netlify, AWS Lambda, Lambda@Edge, and Node.js&lt;/strong&gt;. This broad compatibility means you can &lt;strong&gt;write your code once and deploy it almost anywhere without major modifications&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Nitro's Deployment Versatility&lt;/strong&gt;: Nitro, an open-source framework that builds web servers, is another champion of runtime agnosticism. It is designed to automatically make your code &lt;strong&gt;compatible with any deployment provider and runtime&lt;/strong&gt;. Nitro can be used as the server engine for full-stack frameworks like Nuxt, or standalone. It focuses purely on server-side logic and APIs, making it &lt;strong&gt;more lightweight and potentially faster for API-only use cases&lt;/strong&gt; compared to a full-stack framework like Nuxt.js. The underlying &lt;code&gt;h3&lt;/code&gt; library, used by Nitro, abstracts from Node.js, enabling support for serverless and other environments.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Vite as the Development Hub&lt;/strong&gt;: Vite, known for its &lt;strong&gt;hot-reloading capabilities in the browser&lt;/strong&gt;, has extended its utility to support modern backend frameworks like Hono. It provides a &lt;strong&gt;whole new way of developing full-stack applications&lt;/strong&gt; by enabling hot module reloading for Hono applications. This flexibility in the development server allows developers to mix and match frontend and backend technologies more easily.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Unifying the Frontend-Backend Divide&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The traditional division between frontend and backend development can introduce unnecessary complexities. Modern approaches aim to bridge this gap, often through shared tooling and type systems.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Sharing Types for Coherence&lt;/strong&gt;: With a full-stack architecture like Vite + Hono, developers can &lt;strong&gt;reduce the unnecessary division between the backend and the frontend&lt;/strong&gt; and &lt;strong&gt;improve the quality of code since Hono can share API types between the backend and the frontend&lt;/strong&gt;. This type-sharing capability is a significant benefit, fostering consistency and reducing errors across the stack.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Meta-Frameworks and Their Server Engines&lt;/strong&gt;: Frameworks like Next.js (React-based) and Nuxt.js (Vue.js-based) are popular examples of full-stack meta-frameworks that natively integrate server-side rendering (SSR). While they offer comprehensive features, if the primary goal is just an API server without server-rendered pages, &lt;strong&gt;Nitro would likely be the more efficient and streamlined choice&lt;/strong&gt; due to its focus on server-side operations and lighter overhead.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Power of Portable Libraries: Adapters in Action&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The core of achieving true framework and runtime independence lies in adopting libraries that are designed to be portable and extensible through adaptation. These "adapters" allow a core logic to remain consistent while leveraging the unique benefits of the environment it's running in.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;State Management with TanStack Query&lt;/strong&gt;: As you mentioned, libraries like &lt;code&gt;TanStack Store&lt;/code&gt; (and its related &lt;code&gt;TanStack Query&lt;/code&gt;) are at the forefront of this movement. &lt;code&gt;TanStack Query&lt;/code&gt; is described as a &lt;strong&gt;"powerful asynchronous state management for TS/JS, React, Solid, Vue, Svelte and Angular"&lt;/strong&gt;. This highlights its &lt;strong&gt;framework-agnostic nature&lt;/strong&gt;, as it provides a unified API for data fetching and state management across multiple frontend frameworks. It handles caching, background updates, and stale data out-of-the-box with zero configuration, and there's &lt;strong&gt;no global state to manage, reducers, normalization systems, or heavy configurations to understand&lt;/strong&gt;. Being &lt;strong&gt;backend agnostic&lt;/strong&gt; and having &lt;strong&gt;zero dependencies&lt;/strong&gt; further contributes to its portability and ease of integration. The concept of providing "adapters" for specific framework features (like leveraging Angular signals for reactivity) perfectly embodies how these libraries offer universal utility while still being able to optimize for the chosen environment.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Flexible Server-Side Rendering (SSR) Solutions&lt;/strong&gt;: When it comes to SSR with Vite, several solutions are emerging that offer varying degrees of agnosticism and adaptation:

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;SSRx&lt;/strong&gt;: This Vite plugin focuses on smoothing out developer experience issues with Vite SSR and aims to &lt;strong&gt;"formalize a means of hooking 3rd party libraries into the SSR lifecycle, while remaining as flexible as possible"&lt;/strong&gt;. Its server-agnostic nature means it can be used with various Node.js/Bun servers or serverless HTTP frameworks, including Hono. This "hooking" mechanism acts as a form of adaptation, allowing developers to integrate their preferred tools.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Vinxi&lt;/strong&gt;: While Vinxi is coupled to the &lt;code&gt;H3&lt;/code&gt; http framework and Nitro web server, its author emphasizes that this coupling allows them to &lt;strong&gt;"build a shared library of trusted tools that can do the common operations across all the platforms"&lt;/strong&gt; such as sessions, CORS, cookies, and authentication. This approach aims for versatility by standardizing a robust server runtime rather than being entirely server-agnostic like SSRx. Despite this, Vinxi still facilitates interoperability, with examples of its integration with &lt;strong&gt;&lt;code&gt;TanStack Router&lt;/code&gt; (a framework-agnostic routing library) for SSR&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Vike&lt;/strong&gt;: Positioning itself as "Like Next.js / Nuxt but as do-one-thing-do-it-well Vite plugin," Vike offers a more full-featured solution compared to SSRx or Vinxi, notably featuring an &lt;strong&gt;integrated Client Router&lt;/strong&gt;. While powerful, its integrated router might be a distinguishing factor if you prefer to use a separate client-side router like &lt;code&gt;TanStack Router&lt;/code&gt; or &lt;code&gt;React Router&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;  &lt;strong&gt;Build Tooling and Code Synchronization&lt;/strong&gt;: The choice of build tools also plays a crucial role in enabling flexibility. For backend Node.js applications, the sources recommend using &lt;strong&gt;Rollup over &lt;code&gt;tsc&lt;/code&gt;&lt;/strong&gt; because &lt;code&gt;tsc&lt;/code&gt; is "very bad at supporting TypeScript" with &lt;code&gt;.ts&lt;/code&gt; extensions and can complicate a unified &lt;code&gt;tsconfig.json&lt;/code&gt; for both frontend and backend. Rollup's ability to handle this, while maintaining a single &lt;code&gt;tsconfig.json&lt;/code&gt; that works for both sides, is a practical example of adapting tooling to achieve a seamless full-stack development experience.&lt;/li&gt;

&lt;li&gt;  &lt;strong&gt;Type-Safe API Clients (Hono Client)&lt;/strong&gt;: Hono facilitates streamlined frontend-backend communication through its client. By importing the &lt;code&gt;api&lt;/code&gt; variable from &lt;code&gt;utils/frontend.ts&lt;/code&gt;, frontend components can &lt;strong&gt;"use it as if calling local functions"&lt;/strong&gt;. This &lt;code&gt;Hono Client&lt;/code&gt; (&lt;code&gt;hc&lt;/code&gt;) leverages TypeScript type inference to provide &lt;strong&gt;type-safe RPC-style APIs&lt;/strong&gt;, abstracting away the underlying HTTP requests and making API interactions feel more like local function calls. This abstraction layer effectively serves as an "adapter" for consuming backend services, promoting easier refactoring and potential migration of frontend technologies.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Future is Flexible&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The trend towards framework and runtime agnosticism, powered by smart adaptation strategies, is a significant step forward in JavaScript development. By leveraging tools like Hono and Nitro for universal runtime deployment, Vite for flexible development environments, and portable libraries like TanStack Query for core functionalities, developers can build applications with less technical debt and greater agility. This "rise of adapters" allows for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Reduced Vendor Lock-in&lt;/strong&gt;: Developers are not tied to a single framework or runtime, enabling them to choose components based on project needs rather than ecosystem constraints.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Improved Developer Experience&lt;/strong&gt;: Consistent APIs and patterns across different parts of the stack, facilitated by adapters, lead to a more intuitive and productive development process.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Future-Proofing&lt;/strong&gt;: Applications built with this philosophy are inherently more adaptable to future changes in the ever-evolving JavaScript landscape.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This focus on foundational portability and adaptive integration ensures that the JavaScript ecosystem continues to provide innovative, high-performance solutions for a wide array of application needs.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>nextjs</category>
      <category>react</category>
    </item>
    <item>
      <title>🚀 The Rise of Adapters: Reimagining JavaScript Tooling in 2025</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Fri, 25 Jul 2025 21:45:53 +0000</pubDate>
      <link>https://dev.to/the-modern-web/the-rise-of-adapters-reimagining-javascript-tooling-in-2025-52el</link>
      <guid>https://dev.to/the-modern-web/the-rise-of-adapters-reimagining-javascript-tooling-in-2025-52el</guid>
      <description>&lt;h2&gt;
  
  
  🔄 From Framework Lock-in to Flexible Tooling
&lt;/h2&gt;

&lt;p&gt;The JavaScript world has entered a renaissance. No longer are we tied into monolithic frameworks or rigid ecosystems. Instead, a wave of &lt;strong&gt;adapter-based tools&lt;/strong&gt; is giving developers &lt;strong&gt;flexibility, portability&lt;/strong&gt;, and &lt;strong&gt;reuse across frameworks&lt;/strong&gt;, without sacrificing performance or ergonomics.&lt;/p&gt;

&lt;h2&gt;
  
  
  TanStack Store: More than Just a Library
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Framework-Agnostic Core
&lt;/h3&gt;

&lt;p&gt;TanStack Store is a lightweight, type-safe reactive store built independently from any framework. That means your state logic—derivations, updates, batching—runs identically in React, Solid, Vue, Angular, Svelte, or even vanilla JS/TS.&lt;/p&gt;

&lt;h3&gt;
  
  
  Framework Adapters
&lt;/h3&gt;

&lt;p&gt;For each framework (React, Angular, Solid, Vue, Svelte), adapters translate the core reactive store into framework-native constructs—like signals in Angular or fine-grained updates in Solid.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why It Matters
&lt;/h3&gt;

&lt;p&gt;Your business logic and state manipulation remain portable. Only the UI glue layer differs, dramatically easing transitions when migrating between frameworks while preserving productivity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nitro &amp;amp; the UnJS Ecosystem: Runtime-Agnostic Superpowers
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Nitro's Universal Server Toolkit
&lt;/h3&gt;

&lt;p&gt;Nitro is a next-generation server toolkit built atop &lt;strong&gt;h3&lt;/strong&gt; and &lt;strong&gt;unenv&lt;/strong&gt;, designed to run &lt;strong&gt;anywhere&lt;/strong&gt;—Node.js, Deno, Bun, Cloudflare Workers, or other edge environments—without rewriting code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Seamless Runtime Adapters
&lt;/h3&gt;

&lt;p&gt;Nitro's architecture adapts your code seamlessly to each runtime’s APIs, offering fetch-compatible handlers, caching, storage, and HTTP routing out-of-the-box.&lt;/p&gt;

&lt;h3&gt;
  
  
  Commitment to Openness
&lt;/h3&gt;

&lt;p&gt;Nitro maintains full neutrality and runtime agnosticism, reinforcing the vision of tooling without vendor lock-in.&lt;/p&gt;

&lt;p&gt;The broader UnJS ecosystem also includes adapter-driven utilities like &lt;strong&gt;unstorage&lt;/strong&gt;, &lt;strong&gt;ofetch&lt;/strong&gt;, and &lt;strong&gt;unplugin&lt;/strong&gt;, enhancing cross-runtime compatibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧩 Why Adapters Are the New Frontier
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benefit&lt;/th&gt;
&lt;th&gt;What It Means for Developers&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Portability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Core logic (state, routing, fetch) remains framework/runtime-agnostic, while only adapters differ per target environment.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Migration-first&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Framework migration becomes incremental: adapt only the UI layer, preserving business logic.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ecosystem cohesion&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Projects like TanStack Form, Table, Query, and Store interoperate seamlessly across frameworks through adapters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Performance-first&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Despite abstraction layers, tools like Nitro and TanStack Store remain minimal and optimized for performance.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  🎉 What This Means for JavaScript Developers
&lt;/h2&gt;

&lt;p&gt;We're witnessing a &lt;strong&gt;defragmentation&lt;/strong&gt;, not fragmentation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Write Once, Adapt Anywhere&lt;/strong&gt;: Build core business logic once, adapting only as needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unlock Flexibility&lt;/strong&gt;: Choose frameworks or runtimes per project or team without massive rewrites.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community-Driven Standards&lt;/strong&gt;: Projects like Nitro and TanStack foster collaboration, openness, and innovation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ✅ Suggested Next Steps
&lt;/h2&gt;

&lt;p&gt;Explore adapter-first libraries like &lt;strong&gt;TanStack Store&lt;/strong&gt;, &lt;strong&gt;Nitro&lt;/strong&gt;, &lt;strong&gt;h3&lt;/strong&gt;, and &lt;strong&gt;HonoJS&lt;/strong&gt;. Embrace this powerful shift to future-proof your projects, enhance flexibility, and rediscover joy in JavaScript development.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;Adapter-based tooling is reshaping JavaScript projects across front-end, back-end, and full-stack environments. The capacity to write once in a neutral core and adapt seamlessly ensures your projects stay maintainable, flexible, and team-friendly. Now is the time to join this exciting new frontier.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>TanStack</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Thu, 24 Jul 2025 08:25:01 +0000</pubDate>
      <link>https://dev.to/the-modern-web/tanstack-d17</link>
      <guid>https://dev.to/the-modern-web/tanstack-d17</guid>
      <description>&lt;h3&gt;
  
  
  TanStack resources
&lt;/h3&gt;

&lt;h4&gt;
  
  
  TanStack Start
&lt;/h4&gt;

&lt;p&gt;Full-stack React and Solid framework powered by TanStack Router&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tanstack.com/start/latest" rel="noopener noreferrer"&gt;TanStack Start&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  TanStack Router
&lt;/h4&gt;

&lt;p&gt;Modern and scalable routing for React and Solid applications&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tanstack.com/router/latest" rel="noopener noreferrer"&gt;TanStack Router&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  TanStack Query
&lt;/h4&gt;

&lt;p&gt;Powerful asynchronous state management for TS/JS, React, Solid, Vue, Svelte and Angular&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tanstack.com/query/latest" rel="noopener noreferrer"&gt;TanStack Query&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  TanStack Store
&lt;/h4&gt;

&lt;p&gt;Framework agnostic type-safe store w/ reactive framework adapters&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tanstack.com/store/latest" rel="noopener noreferrer"&gt;TanStack Store&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Videos
&lt;/h4&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/4PymccvinIo"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>node</category>
      <category>vite</category>
    </item>
    <item>
      <title>Latest Stuff in Dev | July '25</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Wed, 23 Jul 2025 23:13:04 +0000</pubDate>
      <link>https://dev.to/mehdi1/latest-stuff-in-dev-july-25-3oad</link>
      <guid>https://dev.to/mehdi1/latest-stuff-in-dev-july-25-3oad</guid>
      <description>&lt;h4&gt;
  
  
  Nitro
&lt;/h4&gt;

&lt;p&gt;Next Generation Server Toolkit&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://nitro.build/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;nitro.build&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/tq8EluL70hw"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/Ic4oHqMOS-c"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Tanstack
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Tanstack Start
&lt;/h4&gt;

&lt;p&gt;Full-stack React and Solid framework powered by TanStack Router&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://tanstack.com/start/latest" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;tanstack.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  Tanstack Router
&lt;/h4&gt;

&lt;p&gt;Modern and scalable routing for React and Solid applications&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://tanstack.com/router/latest" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;tanstack.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  TanStack Query
&lt;/h4&gt;

&lt;p&gt;Powerful asynchronous state management for TS/JS, React, Solid, Vue, Svelte and Angular&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://tanstack.com/query/latest" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;tanstack.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  TanStack Store
&lt;/h4&gt;

&lt;p&gt;Framework agnostic type-safe store w/ reactive framework adapters&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://tanstack.com/store/latest" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;tanstack.com&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  Videos
&lt;/h4&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/4PymccvinIo"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  Hono
&lt;/h4&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://hono.dev/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;hono.dev&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  h3
&lt;/h4&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://h3.dev/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;h3.dev&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  oRPC: Typesafe APIs Made Simple
&lt;/h4&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://orpc.dev/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;orpc.dev&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  Vike
&lt;/h4&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://vike.dev/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvike.dev%2Fbanner.jpg" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://vike.dev/" rel="noopener noreferrer" class="c-link"&gt;
            Vike
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            (Replaces Next.js/Nuxt) 🔨 Composable framework to build advanced applications with flexibility and stability.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvike.dev%2Ffavicon.svg"&gt;
          vike.dev
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  unjs
&lt;/h4&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://unjs.io/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Funjs.io%2F__og-image__%2Fimage%2Fog.png" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://unjs.io/" rel="noopener noreferrer" class="c-link"&gt;
            UnJS: Unleash JavaScript's Potential
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Agnostic Excellence: JavaScript Libraries, Tools, and Utilities, Crafted to Elevate Your Coding Journey.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Funjs.io%2Ffavicon.ico"&gt;
          unjs.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;



&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://vite.dev/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvite.dev%2Fog-image.jpg" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://vite.dev/" rel="noopener noreferrer" class="c-link"&gt;
            Vite | Next Generation Frontend Tooling
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Next Generation Frontend Tooling
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fvite.dev%2Flogo-without-border.svg"&gt;
          vite.dev
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;



&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://vaadin.com/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwebsite.vaadin.com%2Fhubfs%2FVaadin-OG%2520image.png" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://vaadin.com/" rel="noopener noreferrer" class="c-link"&gt;
            Vaadin: Java Framework for Enterprise Web Applications
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Build modern apps faster with Vaadin, the open-source Java web framework. Features a unified stack, built-in security, and enterprise-grade UI components.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwebsite.vaadin.com%2Fhubfs%2Fvaadin-favicon-32x32.png"&gt;
          vaadin.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h4&gt;
  
  
  Visual Studio Code containers
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/docs/devcontainers/containers" rel="noopener noreferrer"&gt;Developing inside a Container&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/docs/containers/overview" rel="noopener noreferrer"&gt;Containers in Visual Studio Code&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Apple
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Apple containers
&lt;/h4&gt;

&lt;p&gt;A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/apple/container" rel="noopener noreferrer"&gt;Apple containers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/JvQtvbhtXmo"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  WWDC25: Explore large language models on Apple silicon with MLX | Apple
&lt;/h4&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/XFRw--lqftg"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  WWDC25: Get ahead with quantum-secure cryptography | Apple
&lt;/h4&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/XFRw--lqftg"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h4&gt;
  
  
  WWDC25: What’s new in Swift | Apple
&lt;/h4&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/Pvf8OLnAUGI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>tRPC - Move Fast and Break Nothing. End-to-end typesafe APIs made easy. | tRPC</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Wed, 23 Jul 2025 16:58:54 +0000</pubDate>
      <link>https://dev.to/mehdi1/trpc-move-fast-and-break-nothing-end-to-end-typesafe-apis-made-easy-trpc-ho1</link>
      <guid>https://dev.to/mehdi1/trpc-move-fast-and-break-nothing-end-to-end-typesafe-apis-made-easy-trpc-ho1</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://trpc.io/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fog-image.trpc.io%2Fapi%2Flanding%3Fcache-buster%3D22" height="600" class="m-0" width="1200"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://trpc.io/" rel="noopener noreferrer" class="c-link"&gt;
          tRPC - Move Fast and Break Nothing. End-to-end typesafe APIs made easy. | tRPC
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          End-to-end typesafe APIs made easy. Automatic typesafety &amp;amp; autocompletion inferred from your API-paths, their input data, &amp;amp; outputs 🧙‍♂️
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Ftrpc.io%2Fimg%2Ffavicon.ico" width="48" height="48"&gt;
        trpc.io
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Nitro</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Wed, 23 Jul 2025 16:57:43 +0000</pubDate>
      <link>https://dev.to/mehdi1/nitro-5eii</link>
      <guid>https://dev.to/mehdi1/nitro-5eii</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://nitro.build/" rel="noopener noreferrer"&gt;
      nitro.build
    &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>WWDC25: Meet Containerization | Apple</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Wed, 23 Jul 2025 16:06:54 +0000</pubDate>
      <link>https://dev.to/the-modern-web/wwdc25-meet-containerization-apple-3km2</link>
      <guid>https://dev.to/the-modern-web/wwdc25-meet-containerization-apple-3km2</guid>
      <description>&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/JvQtvbhtXmo"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>container</category>
      <category>docker</category>
      <category>swift</category>
      <category>webdev</category>
    </item>
    <item>
      <title>LLM prompts and AI IDE setup</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Sat, 12 Jul 2025 09:37:12 +0000</pubDate>
      <link>https://dev.to/learn-angular/llm-prompts-and-ai-ide-setup-4loc</link>
      <guid>https://dev.to/learn-angular/llm-prompts-and-ai-ide-setup-4loc</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://angular.dev/ai/develop-with-ai" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fangular.dev%2Fassets%2Fimages%2Fng-image.jpg" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://angular.dev/ai/develop-with-ai" rel="noopener noreferrer" class="c-link"&gt;
            LLM prompts and AI IDE setup • Angular
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            The web development framework for building modern apps.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fangular.dev%2Fassets%2Ficons%2Ffavicon-48x48.png"&gt;
          angular.dev
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>angular</category>
      <category>ai</category>
      <category>typescript</category>
      <category>llm</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>mehdi</dc:creator>
      <pubDate>Sat, 12 Jul 2025 09:28:27 +0000</pubDate>
      <link>https://dev.to/mehdi1/-15af</link>
      <guid>https://dev.to/mehdi1/-15af</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ngrx/announcing-events-plugin-for-ngrx-signalstore-a-modern-take-on-flux-architecture-4dhn" class="crayons-story__hidden-navigation-link"&gt;Announcing Events Plugin for NgRx SignalStore: A Modern Take on Flux Architecture&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/ngrx"&gt;
            &lt;img alt="NgRx logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F5016%2Fa8dc55b2-63c3-4e96-917c-2c18727a650a.png" class="crayons-logo__image"&gt;
          &lt;/a&gt;

          &lt;a href="/markostanimirovic" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F455571%2F51bedc18-8017-4569-a25d-30a74074bcb9.jpg" alt="markostanimirovic profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/markostanimirovic" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Marko Stanimirović
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Marko Stanimirović
                
              
              &lt;div id="story-author-preview-content-2469924" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/markostanimirovic" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F455571%2F51bedc18-8017-4569-a25d-30a74074bcb9.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Marko Stanimirović&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/ngrx" class="crayons-story__secondary fw-medium"&gt;NgRx&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/ngrx/announcing-events-plugin-for-ngrx-signalstore-a-modern-take-on-flux-architecture-4dhn" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 12 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ngrx/announcing-events-plugin-for-ngrx-signalstore-a-modern-take-on-flux-architecture-4dhn" id="article-link-2469924"&gt;
          Announcing Events Plugin for NgRx SignalStore: A Modern Take on Flux Architecture
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ngrx"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ngrx&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/angular"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;angular&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ngrx/announcing-events-plugin-for-ngrx-signalstore-a-modern-take-on-flux-architecture-4dhn" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;52&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ngrx/announcing-events-plugin-for-ngrx-signalstore-a-modern-take-on-flux-architecture-4dhn#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              11&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            6 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>ngrx</category>
      <category>angular</category>
    </item>
  </channel>
</rss>
