Migracija s Reacta na Svelte - Zašto se više nikad ne vraćam

Migracija s Reacta na Svelte - Zašto se više nikad ne vraćam

siSvelte
siReact

Migracija s Reacta na Svelte

Ako ste ikada proveli sate pokušavajući shvatiti zašto se vaš React komponent ponovno renderira bez razloga ili zašto je useEffect postao najgora bitka protiv Reacta, niste sami. Nedavno sam donio odluku da cijeli svoj workflow prebacim na Svelte, i iskreno, to je bila najbolja odluka u mojoj developerskoj karijeri.

Kako je React drugačiji?

React je godinama bio najpopularniji, ali s vremenom je postao previše kompliciran. Problemi s kojima sam se stalno borio su:

  • Virtual DOM: React troši resurse na usporedbu Virtual DOM-a s pravim DOM-om.
  • Hook Hell: useCallback, useMemo, useRef... zagušuju kod i čine ga nečitljivim.
  • Boilerplate: Za običan counter treba previše koda.

Svelte: Jednostavnost koja oduševljava

Prelazak na Svelte bio je zapravo prelagan. Umjesto da učim "React način razmišljanja", vratio sam se na najosnovnije: HTML, CSS i JavaScript.

Zašto je Svelte BOLJI?

  1. Nema Virtual DOM-a: Svelte je kompajler. On pretvara vaš kod u visoko optimizirani JavaScript koji izravno manipulira DOM-om. Rezultat: Brzina koja je neusporediva.
  2. Runes: Novi sustav reaktivnosti je predobar. $state, $derived i $effect rade točno ono što očekuješ, bez ikakvih gluposti.
  3. Manje koda: Programi napisani u Sveltu su obično 30-40% kraći od onih u Reactu. Manje koda znači manje grešaka.

Primjer razlike

U Reactu:

import { useState, useMemo } from "react";

export default function Counter() {
    const [count, setCount] = useState(0);
    const doubled = useMemo(() => count * 2, [count]);

    return (
        <button onClick={() => setCount((c) => c + 1)}>
            {count} x 2 = {doubled}
        </button>
    );
}

U Svelteu 5:

<script>
    let count = $state(0);
    let doubled = $derived(count * 2);
</script>

<button onclick={() => count++}>{count} x 2 = {doubled}</button>

Zaključak: Brže je, lakše je

Migracija je bila VRLO brza. Svelte mi omogućuje da se fokusiram na proizvod, a ne na rješavanje problema koje mi stvara sam framework. Ako želite aplikaciju koja je lakša za održavanje, brža za krajnjeg korisnika i zabavnija za razvoj, Svelte je jedini logičan izbor.

Svelte za pobjedu!!!!!!!