{"id":24602,"date":"2023-11-15T10:00:00","date_gmt":"2023-11-15T09:00:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=24602"},"modified":"2023-12-14T09:00:33","modified_gmt":"2023-12-14T08:00:33","slug":"svelte-5-levoluzione-della-reattivita-e-oltre","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/","title":{"rendered":"Svelte 5: l&#8217;evoluzione della reattivit\u00e0 e oltre"},"content":{"rendered":"\n<p>Nel dinamico mondo dello sviluppo front-end, l&#8217;efficienza, la reattivit\u00e0 e l&#8217;esperienza utente sono parametri cruciali per il successo di qualsiasi applicazione web. Svelte, emergendo come una novit\u00e0 nel panorama dei framework front-end, ha radunato una comunit\u00e0 di sviluppatori entusiasti grazie alla sua semplicit\u00e0 intuitiva e alla potente gestione della reattivit\u00e0. Mentre le precedenti versioni di Svelte hanno gettato le basi per un codice pi\u00f9 pulito e performante, Svelte 5 si preannuncia come un balzo in avanti audace verso un ecosistema di sviluppo front-end pi\u00f9 robusto e flessibile.<\/p>\n\n\n\n<p>Svelte ha sempre brillato per la sua capacit\u00e0 di offrire un codice comprensibile e minimale, riducendo il bloatware e facilitando lo sviluppo rapido. Con il prossimo rilascio di Svelte 5, la comunit\u00e0 di sviluppatori \u00e8 in fermento, in attesa di esplorare le nuove frontiere che questo aggiornamento promette di aprire. Tra le attese migliorie, le &#8220;runes&#8221; rappresentano la punta di diamante di una serie di novit\u00e0 destinate a rivoluzionare il modo in cui gli sviluppatori interagiscono con la reattivit\u00e0 nel loro codice.<\/p>\n\n\n\n<p>In questo articolo, ci immergeremo nel cuore di Svelte 5, esplorando le novit\u00e0 che si preannunciano, le migliorie apportate al compilatore, e come queste innovazioni puntano a elevare ulteriormente l&#8217;esperienza dello sviluppatore. Attraverso una disamina delle caratteristiche chiave, cercheremo di fornire una panoramica esaustiva di ci\u00f2 che Svelte 5 ha in serbo per la comunit\u00e0 di sviluppatori, senza perdere di vista la promessa di Svelte di mantenere le cose semplici, efficienti e reattive.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-3cdf211f gb-headline-text\"><strong>Runes: Una Nuova Era della Reattivit\u00e0<\/strong><\/h2>\n\n\n\n<p>Il mondo dello sviluppo front-end \u00e8 in continua evoluzione, con nuove tecnologie che emergono per affrontare sfide sempre pi\u00f9 complesse. Al centro di queste sfide vi \u00e8 la gestione della reattivit\u00e0, un elemento chiave per garantire applicazioni web fluide e responsive. Svelte 5 si propone di elevare la gestione della reattivit\u00e0 a un nuovo livello attraverso l&#8217;introduzione delle &#8220;runes&#8221;.<\/p>\n\n\n\n<p>Una &#8220;rune&#8221; in Svelte 5 \u00e8 descritta come una primitiva potente che aiuta a controllare la reattivit\u00e0 all&#8217;interno dei componenti Svelte e, per la prima volta, anche nei moduli <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/javascript-it\/come-programmare-con-javascript-tutto-sul-linguaggio-per-il-web\/\" class=\"ek-link\">JavaScript<\/a> e TypeScript. Queste runes sono simboli funzione che forniscono istruzioni al compilatore Svelte, senza la necessit\u00e0 di essere importate da nessuna parte. Agiscono come direttive a livello di codice, guidando il compilatore su come gestire la reattivit\u00e0 durante la compilazione del codice\u200b\u200b.<\/p>\n\n\n\n<p>L&#8217;introduzione delle runes apre una porta verso una maggiore flessibilit\u00e0 e controllo sul comportamento reattivo del codice. Per esempio, potrebbero essere utilizzate per gestire la reattivit\u00e0 di una variabile o di una propriet\u00e0 specifica in modo pi\u00f9 granulare, o per creare legami reattivi personalizzati tra variabili e funzioni.<\/p>\n\n\n\n<p>Le runes rappresentano un passo avanti significativo, permettendo agli sviluppatori di scrivere codice reattivo in modo pi\u00f9 intuitivo e meno verboso, mantenendo al contempo un alto grado di controllo sul comportamento del codice.<\/p>\n\n\n\n<p>Con le runes, Svelte 5 sembra destinato a fornire agli sviluppatori gli strumenti necessari per costruire applicazioni pi\u00f9 efficienti e potenti. Questa nuova funzionalit\u00e0 promette di ridurre la complessit\u00e0 associata alla gestione della reattivit\u00e0, consentendo al contempo di realizzare soluzioni pi\u00f9 sofisticate con meno sforzo.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span>&gt;<\/span><span class=\"javascript\">\n\t<span class=\"hljs-keyword\">let<\/span> count = $state(<span class=\"hljs-number\">0<\/span>);\n\n\t<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">increment<\/span>(<span class=\"hljs-params\"><\/span>) <\/span>{\n\t\tcount += <span class=\"hljs-number\">1<\/span>;\n\t}\n<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">button<\/span> <span class=\"hljs-attr\">on:click<\/span>=<span class=\"hljs-string\">{increment}<\/span>&gt;<\/span>\n\tclicks: {count}\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">button<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>A prima vista, questo potrebbe sembrare un passo indietro, meno &#8220;snello&#8221; dello Svelte che siamo abituati a vedere. Ma all&#8217;aumentare della complessit\u00e0 delle applicazioni, capire quali valori sono reattivi e quali no pu\u00f2 diventare complicato. Il precedente meccanismo di reattivit\u00e0 funziona solo per le dichiarazioni let al livello del componente (variabili globali). Avere il codice che si comporta in un modo all&#8217;interno dei file .svelte e in un altro all&#8217;interno dei file .js pu\u00f2 rendere difficile il refactoring, ad esempio se devi trasformare qualcosa in uno &#8220;store&#8221; in modo da poterlo utilizzare in pi\u00f9 posti.<\/p>\n\n\n\n<p>Le rune sono una caratteristica aggiuntiva, ma rendono obsoleti un sacco di concetti esistenti:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la differenza tra let al livello pi\u00f9 alto di un componente e ovunque<\/li>\n\n\n\n<li>export let<\/li>\n\n\n\n<li>$: e attuali stranezze correlate<\/li>\n\n\n\n<li>comportamento diverso tra &lt;script&gt; e &lt;script context=&#8221;module&#8221;&gt;<\/li>\n\n\n\n<li>l&#8217;API degli store e complessit\u00e0 correlata<\/li>\n\n\n\n<li>il prefisso $ dello store<\/li>\n\n\n\n<li>$$props e $$restProps<\/li>\n\n\n\n<li>funzioni del ciclo di vita (come onMount che ora pu\u00f2 essere funzione $effect)<\/li>\n<\/ul>\n\n\n\n<p>Questo significa che per gli utilizzatori di Svelte, ci sono cose nuove da imparare e una mentalit\u00e0 da &#8220;convertire&#8221; leggermente, mentre per i nuovi utilizzatori sar\u00e0 semplicemente tutto parte della nuova API.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Lettura consigliata:<a href=\"https:\/\/www.codemotion.com\/magazine\/it\/cybersecurity-it\/top-10-certificazioni-avanzate-internazionali-in-cybersecurity\/\" class=\"ek-link\"> Top 10 certificazioni avanzate internazionali in cybersecurity<\/a><\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"gb-headline gb-headline-44db5fc2 gb-headline-text\"><strong>Reattivit\u00e0 a run-time<\/strong><\/h2>\n\n\n\n<p>Oggi Svelte utilizza la reattivit\u00e0 in fase di compilazione (compile-time). Ci\u00f2 significa che se hai del codice che utilizza l&#8217;etichetta $: per essere eseguito nuovamente ed automaticamente quando le sue dipendenze cambiano, tali dipendenze vengono determinate quando Svelte compila il tuo componente:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">const<\/span> multiplyByHeight = <span class=\"hljs-function\">(<span class=\"hljs-params\">width<\/span>) =&gt;<\/span> width * height;\n$: area = multiplyByHeight(width);\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Poich\u00e9 la dichiarazione $: area = &#8230; pu\u00f2 solo &#8220;vedere&#8221; width, non verr\u00e0 ricalcolata quando cambia l&#8217;altezza (height). Di conseguenza, comprendere quando Svelte sceglie di aggiornare quali valori pu\u00f2 diventare piuttosto difficile oltre un certo livello di complessit\u00e0.<\/p>\n\n\n\n<p>Svelte 5 introduce le rune $derived e $effect, che invece determinano le dipendenze delle loro espressioni quando vengono valutate:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span>&gt;<\/span><span class=\"javascript\">\n\t<span class=\"hljs-keyword\">let<\/span> { width, height } = $props(); \n\n\t<span class=\"hljs-keyword\">const<\/span> area = $derived(width * height);\n\n\t$effect(<span class=\"hljs-function\"><span class=\"hljs-params\">()<\/span> =&gt;<\/span> {\n\t\t<span class=\"hljs-built_in\">console<\/span>.log(area);\n\t});\n<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Come con $state, anche $derived e $effect possono essere utilizzati nei file .js e .ts.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Lettura consigliata: <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/sviluppo-mobile\/i-migliori-tool-ai-per-sviluppatori-android\/\" class=\"ek-link\">I migliori tool potenziati dall\u2019Intelligenza Artificiale per sviluppatori android<\/a><\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"gb-headline gb-headline-767a890a gb-headline-text\"><strong>Signals migliorati<\/strong><\/h2>\n\n\n\n<p>La reattivit\u00e0 di Svelte 5 \u00e8 alimentata dai &#8220;segnali&#8221; (signals), che sono essenzialmente ci\u00f2 che Knockout (https:\/\/knockoutjs.com\/) stava facendo nel 2010. Pi\u00f9 recentemente, i segnali sono stati resi popolari da <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/solidjs-molto-piu-di-unalternativa-a-react\/\" class=\"ek-link\">SolidJS<\/a> e adottati da una moltitudine di altri framework.<\/p>\n\n\n\n<p>In Svelte 5, i segnali sono un dettaglio di implementazione interno, piuttosto che qualcosa con cui interagisce direttamente lo sviluppatore. Pertanto, non si hanno gli stessi vincoli di progettazione API, con l&#8217;obiettivo di massimizzare sia l&#8217;efficienza che l&#8217;ergonomia. Ad esempio, si evitano i problemi di &#8220;type narrowing&#8221; che sorgono quando si accede ai valori tramite chiamata di funzione (al posto che direttamente tramite variabile), e, durante la compilazione in SSR \u00e8 possibile eliminare del tutto i segnali, per evitare del tutto il loro overhead sul server.<\/p>\n\n\n\n<p>I segnali sbloccano una reattivit\u00e0 autentica e granulare, il che significa che (ad esempio) le modifiche a un valore all&#8217;interno di una lista di grandi dimensioni non devono necessariamente invalidare tutti gli altri membri della stessa lista. Di conseguenza, Svelte 5 risulta incredibilmente veloce.<\/p>\n\n\n\n<h2 class=\"gb-headline gb-headline-bcecfaf6 gb-headline-text\"><strong>Compilatore rinnovato e error boundaries: un salto di qualit\u00e0 in Svelte 5<\/strong><\/h2>\n\n\n\n<p>L&#8217;essenza di Svelte risiede nella sua capacit\u00e0 di offrire un compilatore potente che trasforma i componenti dichiarativi in codice imperativo ottimizzato, garantendo performance superiori e un codice finale snello. Con Svelte 5, \u00e8 prevista una revisione del compilatore che potrebbe portare miglioramenti significativi sia in termini di performance che di gestione degli errori.<\/p>\n\n\n\n<p>Il cuore pulsante di Svelte \u00e8 il suo compilatore, che \u00e8 destinato a ricevere un&#8217;attenta rifinitura in Svelte 5. Sebbene i dettagli specifici non siano stati ancora completamente rivelati, \u00e8 lecito aspettarsi che il nuovo compilatore possa offrire una compilazione pi\u00f9 rapida, una migliore ottimizzazione del codice e un&#8217;analisi pi\u00f9 accurata del codice sorgente. Questi miglioramenti sono cruciali per mantenere Svelte competitivo in un ecosistema front-end in rapida evoluzione, assicurando che gli sviluppatori possano continuare a beneficiare di un flusso di lavoro efficiente e di applicazioni ad alte prestazioni.<\/p>\n\n\n\n<p>Un altro aspetto fondamentale del rinnovamento in Svelte 5 \u00e8 l&#8217;introduzione delle &#8220;error boundaries&#8221;, un meccanismo di gestione degli errori che permette di catturare e gestire errori in modo pi\u00f9 strutturato all&#8217;interno di un&#8217;applicazione. Le &#8220;error boundaries&#8221; funzionano come contenitori di errore, catturando gli errori nei sottocomponenti e fornendo una via di gestione e di recupero dell&#8217;errore. Questo meccanismo potrebbe significativamente migliorare la robustezza delle applicazioni Svelte, fornendo agli sviluppatori gli strumenti per gestire gli errori in modo pi\u00f9 efficace e strutturato.<\/p>\n\n\n\n<p>La rivisitazione del compilatore e l&#8217;introduzione delle &#8220;error boundaries&#8221; rappresentano passi fondamentali verso una maggiore maturit\u00e0 e robustezza di Svelte. Gli sviluppatori beneficeranno di un ambiente di sviluppo pi\u00f9 stabile, con migliori strumenti di debug e gestione degli errori, che a loro volta possono portare a una maggiore produttivit\u00e0 e a codice di qualit\u00e0 superiore.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Lettura consigliata: Come mettere in piedi un progetto Cypress in TypeScript<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"gb-headline gb-headline-51dca708 gb-headline-text\"><strong>Conclusioni<\/strong><\/h2>\n\n\n\n<p>Svelte 5 si preannuncia come un&#8217;evoluzione significativa nell&#8217;ecosistema dei framework frontend, portando con s\u00e9 innovazioni e miglioramenti che potrebbero ridisegnare il paesaggio dello sviluppo web. Con nuove funzionalit\u00e0 come le &#8220;runes&#8221; e l&#8217;introduzione delle &#8220;error boundaries&#8221;, Svelte 5 mira a semplificare la gestione della reattivit\u00e0 e a fornire strumenti pi\u00f9 robusti per la gestione degli errori, contribuendo a migliorare l&#8217;efficienza e la qualit\u00e0 del codice.<\/p>\n\n\n\n<p>La revisione del compilatore e i miglioramenti dell&#8217;esperienza dello sviluppatore sono altre pietre miliari che dimostrano l&#8217;impegno del team di Svelte verso un ecosistema di sviluppo pi\u00f9 veloce e intuitivo. La rinnovata documentazione e il tutorial aggiornato sono testimonianze della dedizione di Svelte nell&#8217;accompagnare gli sviluppatori lungo il loro percorso di apprendimento, fornendo risorse preziose per esplorare il potenziale di Svelte 5.<\/p>\n\n\n\n<p>La vibrante community di Svelte, l&#8217;entusiasmo per le anteprime rilasciate e l&#8217;accoglienza dei nuovi &#8220;Svelte Ambassadors&#8221; evidenziano una crescita matura e un&#8217;anticipazione palpabile per il futuro di Svelte. Gli sviluppatori hanno ora l&#8217;opportunit\u00e0 di prepararsi, esplorare le nuove funzionalit\u00e0 e contribuire al feedback collettivo, avvicinando Svelte 5 al suo rilascio ufficiale.<\/p>\n\n\n\n<p>Nonostante la data di rilascio di Svelte 5 non sia stata ancora annunciata, l&#8217;anticipazione e la preparazione in corso sono un segnale positivo del crescente impatto di Svelte nel mondo dello sviluppo front-end. Con una base solida, una community attiva e una visione chiara, Svelte 5 \u00e8 destinato a essere un aggiornamento entusiasmante che potrebbe portare gli sviluppatori a nuovi orizzonti di creativit\u00e0 e efficienza.<\/p>\n\n\n<p><script src=\"https:\/\/codemotion.activehosted.com\/f\/embed.php?id=42\" type=\"text\/javascript\" charset=\"utf-8\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nel dinamico mondo dello sviluppo front-end, l&#8217;efficienza, la reattivit\u00e0 e l&#8217;esperienza utente sono parametri cruciali per il successo di qualsiasi applicazione web. Svelte, emergendo come una novit\u00e0 nel panorama dei framework front-end, ha radunato una comunit\u00e0 di sviluppatori entusiasti grazie alla sua semplicit\u00e0 intuitiva e alla potente gestione della reattivit\u00e0. Mentre le precedenti versioni di&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/\">Read more<\/a><\/p>\n","protected":false},"author":94,"featured_media":21883,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10265],"tags":[11494,10438],"collections":[],"class_list":{"0":"post-24602","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-frontend-it","8":"tag-svelte-5","9":"tag-sviluppo-software-it","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Svelte 5: il nuovo aggiornamento e le sue potenzialit\u00e0<\/title>\n<meta name=\"description\" content=\"Con il prossimo rilascio di Svelte 5, la comunit\u00e0 di sviluppatori \u00e8 in fermento, in attesa di esplorare questo aggiornamento.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Svelte 5: l&#039;evoluzione della reattivit\u00e0 e oltre\" \/>\n<meta property=\"og:description\" content=\"Con il prossimo rilascio di Svelte 5, la comunit\u00e0 di sviluppatori \u00e8 in fermento, in attesa di esplorare questo aggiornamento.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-15T09:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-14T08:00:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1322\" \/>\n\t<meta property=\"og:image:height\" content=\"793\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Riccardo Degni\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Riccardo Degni\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/\"},\"author\":{\"name\":\"Riccardo Degni\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/6912e00a94efa41fb20e92ba1bb050fb\"},\"headline\":\"Svelte 5: l&#8217;evoluzione della reattivit\u00e0 e oltre\",\"datePublished\":\"2023-11-15T09:00:00+00:00\",\"dateModified\":\"2023-12-14T08:00:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/\"},\"wordCount\":1527,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\",\"keywords\":[\"svelte 5\",\"sviluppo software\"],\"articleSection\":[\"Frontend\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/\",\"name\":\"Svelte 5: il nuovo aggiornamento e le sue potenzialit\u00e0\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\",\"datePublished\":\"2023-11-15T09:00:00+00:00\",\"dateModified\":\"2023-12-14T08:00:33+00:00\",\"description\":\"Con il prossimo rilascio di Svelte 5, la comunit\u00e0 di sviluppatori \u00e8 in fermento, in attesa di esplorare questo aggiornamento.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg\",\"width\":1322,\"height\":793,\"caption\":\"Collaborative coding. A group of developers working together. Kotlin introduction. Agile\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frontend\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Svelte 5: l&#8217;evoluzione della reattivit\u00e0 e oltre\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/6912e00a94efa41fb20e92ba1bb050fb\",\"name\":\"Riccardo Degni\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/rd-image-book-pic-e1697717445644-150x150.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/rd-image-book-pic-e1697717445644-150x150.jpg\",\"caption\":\"Riccardo Degni\"},\"description\":\"I am a senior web developer, active both on front-end and back-end, a teacher focused on modern programming, a Research Consultant for IT research, and a writer who creates programming articles and guides. I am both a developer with a strong foundation in new technologies such as full Javascript-based environments and object-oriented programming on the server-side (PHP, Node, and Java), and a designer who makes powerful, modern, fully-responsive, and WordPress-free templates.\",\"sameAs\":[\"http:\/\/www.riccardodegni.com\/\",\"https:\/\/www.linkedin.com\/in\/riccardodegni\/\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/riccardo-degni\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Svelte 5: il nuovo aggiornamento e le sue potenzialit\u00e0","description":"Con il prossimo rilascio di Svelte 5, la comunit\u00e0 di sviluppatori \u00e8 in fermento, in attesa di esplorare questo aggiornamento.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/","og_locale":"en_US","og_type":"article","og_title":"Svelte 5: l'evoluzione della reattivit\u00e0 e oltre","og_description":"Con il prossimo rilascio di Svelte 5, la comunit\u00e0 di sviluppatori \u00e8 in fermento, in attesa di esplorare questo aggiornamento.","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2023-11-15T09:00:00+00:00","article_modified_time":"2023-12-14T08:00:33+00:00","og_image":[{"width":1322,"height":793,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","type":"image\/jpeg"}],"author":"Riccardo Degni","twitter_card":"summary_large_image","twitter_creator":"@CodemotionIT","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Riccardo Degni","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/"},"author":{"name":"Riccardo Degni","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/6912e00a94efa41fb20e92ba1bb050fb"},"headline":"Svelte 5: l&#8217;evoluzione della reattivit\u00e0 e oltre","datePublished":"2023-11-15T09:00:00+00:00","dateModified":"2023-12-14T08:00:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/"},"wordCount":1527,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","keywords":["svelte 5","sviluppo software"],"articleSection":["Frontend"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/","name":"Svelte 5: il nuovo aggiornamento e le sue potenzialit\u00e0","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","datePublished":"2023-11-15T09:00:00+00:00","dateModified":"2023-12-14T08:00:33+00:00","description":"Con il prossimo rilascio di Svelte 5, la comunit\u00e0 di sviluppatori \u00e8 in fermento, in attesa di esplorare questo aggiornamento.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg","width":1322,"height":793,"caption":"Collaborative coding. A group of developers working together. Kotlin introduction. Agile"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/svelte-5-levoluzione-della-reattivita-e-oltre\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Frontend","item":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/"},{"@type":"ListItem","position":3,"name":"Svelte 5: l&#8217;evoluzione della reattivit\u00e0 e oltre"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/6912e00a94efa41fb20e92ba1bb050fb","name":"Riccardo Degni","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/rd-image-book-pic-e1697717445644-150x150.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/10\/rd-image-book-pic-e1697717445644-150x150.jpg","caption":"Riccardo Degni"},"description":"I am a senior web developer, active both on front-end and back-end, a teacher focused on modern programming, a Research Consultant for IT research, and a writer who creates programming articles and guides. I am both a developer with a strong foundation in new technologies such as full Javascript-based environments and object-oriented programming on the server-side (PHP, Node, and Java), and a designer who makes powerful, modern, fully-responsive, and WordPress-free templates.","sameAs":["http:\/\/www.riccardodegni.com\/","https:\/\/www.linkedin.com\/in\/riccardodegni\/"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/riccardo-degni\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-600x600.jpg","author_info":{"display_name":"Riccardo Degni","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/riccardo-degni\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg",1322,793,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-300x180.jpg",300,180,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-768x461.jpg",768,461,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-1024x614.jpg",1024,614,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg",1322,793,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg",1322,793,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min.jpg",100,60,false],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2023\/07\/Collaborative-Coding.-A-developer-team-working-together.-min-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Riccardo Degni","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/riccardo-degni\/"},"uagb_comment_info":0,"uagb_excerpt":"Nel dinamico mondo dello sviluppo front-end, l&#8217;efficienza, la reattivit\u00e0 e l&#8217;esperienza utente sono parametri cruciali per il successo di qualsiasi applicazione web. Svelte, emergendo come una novit\u00e0 nel panorama dei framework front-end, ha radunato una comunit\u00e0 di sviluppatori entusiasti grazie alla sua semplicit\u00e0 intuitiva e alla potente gestione della reattivit\u00e0. Mentre le precedenti versioni di&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24602","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/94"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=24602"}],"version-history":[{"count":3,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24602\/revisions"}],"predecessor-version":[{"id":24725,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/24602\/revisions\/24725"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/21883"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=24602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=24602"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=24602"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=24602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}