{"id":23383,"date":"2024-05-23T19:44:01","date_gmt":"2024-05-23T17:44:01","guid":{"rendered":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/"},"modified":"2024-05-23T19:44:01","modified_gmt":"2024-05-23T17:44:01","slug":"react-iniziano-i-test-sul-compilatore","status":"publish","type":"post","link":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/","title":{"rendered":"React: iniziano i test sul compilatore"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>Gli sviluppatori di <a href=\"https:\/\/www.html.it\/guide\/react-la-guida\/\" target=\"_blank\" rel=\"noopener\">React<\/a> hanno dato vita ad un progetto dedicato all&#8217;introduzione di un <strong>compilatore sperimentale<\/strong>. Quest&#8217;ultimo \u00e8 stato rilasciato fin da subito sotto licenza Open Source per raccogliere il maggior numero di feedback nel pi\u00f9 breve tempo possibile. Si tratta in ogni caso di una soluzione ancora in fase embrionale che non dovrebbe essere utilizzata negli ambienti di produzione. Per partecipare ai test \u00e8 necessario disporre come minimo di React 19 Beta. L&#8217;ultima stabile rilasciata \u00e8 invece la 18.3.1.<\/p>\n<h2 id=\"come-funziona-il-react-compiler\">Come funziona il React compiler<\/h2>\n<p>Lo scopo principale di questo compilatore \u00e8 quello di ottimizzare automaticamente le applicazioni basate su React. Esso \u00e8 in grado di operare su codice <a href=\"https:\/\/www.html.it\/guide\/guida-javascript-di-base\/\" target=\"_blank\" rel=\"noopener\">JavaScript<\/a> puro ed \u00e8 in grado di interpretare le regole del framework. Questo significa che per utilizzarlo non sar\u00e0 necessario alcun intervento sui sorgenti dei propri progetti. Con il compilatore \u00e8 incluso anche un <strong>plugin ESLint<\/strong> con cui individuare e correggere problemi di codifica in JavaScript tramite <strong>linting<\/strong> (o analisi del codice). <\/p>\n<p>L&#8217;estensione viene eseguita indipendentemente dal compilatore, quindi pu\u00f2 essere utilizzato per le verifiche di sintassi anche quando non si sta impiegando il compilatore in un&#8217;applicazione. <\/p>\n<p>A livello pratico il compilatore React &#8220;<strong>memoizza<\/strong>&#8221; automaticamente il codice come succede con le API <code>useMemo<\/code>, <code>useCallback<\/code>, e <code>React.memo<\/code>. Queste ultime permettono di comunicare al framework che alcune parti dell&#8217;applicazione non hanno bisogno di essere ricalcolate se il loro input non ha registrato modifiche. In questo modo viene ridotto il lavoro sugli aggiornamenti. <\/p>\n<p>Pu\u00f2 per\u00f2 sempre succedere di dimenticare la <em>memoization<\/em> o di applicarla in modo errato. Questo potrebbe portare ad aggiornamenti inefficienti poich\u00e9 React deve controllare parti dell&#8217;interfaccia utente che non hanno subito cambiamenti importanti. Il compilatore agisce appunto in automatico, evitando che possano verificarsi errori e sostituendosi, in parte, allo sviluppatore.<\/p>\n<h2 id=\"quando-e-utile-il-compilatore\">Quando \u00e8 utile il compilatore<\/h2>\n<p>Il <a href=\"https:\/\/react.dev\/learn\/react-compiler\" target=\"_blank\" rel=\"nofollow noopener\">compilatore<\/a> sfrutta la sua conoscenza di JavaScript e delle regole di React per memorizzare ( non &#8220;memoizzare&#8221; in questo caso) automaticamente i valori o i gruppi di valori all&#8217;interno di componenti e hook. Se rileva violazioni delle regole, salter\u00e0 solo questi ultimi, continuando a compilare il resto del codice in sicurezza.<\/p>\n<p>Se il sorgente \u00e8 gi\u00e0 ben ottimizzato con la memoization, potrebbero non essere registrati dei miglioramenti significativi delle prestazioni. Tuttavia, memorizzare correttamente le dipendenze che causano problemi di performance \u00e8 un&#8217;operazione complessa da svolgere manualmente. Da qui l&#8217;esigenza di un compilatore.<\/p>\n<p><span class=\"bm_post\" style=\"display:none\" data-domain=\"html.it\" data-author=\"Claudio Garau\" data-alias=\"Claudio Garau\" data-tipologia=\"edit\" data-custom=\"\" data-po=\"\" data-path=\"https:\/\/www.html.it\/magazine\/react-iniziano-i-test-sul-compilatore\/\" data-postid=\"505845\" data-programs=\"\" data-subjects=\"\" data-themes=\"\"\/>    <\/p>\n<div class=\"partial-newsletter\">\n<p>        <!-- newsletter first step --><\/p>\n<div id=\"newsletter_div\" class=\"bro--disabled newsletter__pass-a\">\n<p>Se vuoi aggiornamenti su su questo argomento  inserisci la tua email nel box qui sotto:<\/p>\n<p> <!-- <em>React: iniziano i test sul compilatore<\/em> --><\/p>\n<div class=\"newsletter__disclaimer\">\n<p>Compilando il presente form acconsento a ricevere le informazioni<br \/>\n                    relative ai servizi di cui alla presente pagina ai sensi<br \/>\n                    dell&#8217;<a href=\"https:\/\/www.html.it\/privacy-policy\" target=\"_blank\" rel=\"noopener\">informativa sulla privacy<\/a>.<\/p>\n<\/div><\/div>\n<p>        <!-- newsletter second step --><\/p>\n<p>        <!-- newsletter loader --><\/p>\n<p>        <!-- newsletter notice --><\/p><\/div><\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/www.html.it\/magazine\/react-iniziano-i-test-sul-compilatore\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gli sviluppatori di React hanno dato vita ad un progetto dedicato all&#8217;introduzione di un compilatore sperimentale. Quest&#8217;ultimo \u00e8 stato rilasciato fin da subito sotto licenza Open Source per raccogliere il maggior numero di feedback nel pi\u00f9 breve tempo possibile. Si tratta in ogni caso di una soluzione ancora in fase embrionale che non dovrebbe essere&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":""},"categories":[37],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>React: iniziano i test sul compilatore - AGENZIA WEB Italia<\/title>\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.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"React: iniziano i test sul compilatore - AGENZIA WEB Italia\" \/>\n<meta property=\"og:description\" content=\"Gli sviluppatori di React hanno dato vita ad un progetto dedicato all&#8217;introduzione di un compilatore sperimentale. Quest&#8217;ultimo \u00e8 stato rilasciato fin da subito sotto licenza Open Source per raccogliere il maggior numero di feedback nel pi\u00f9 breve tempo possibile. Si tratta in ogni caso di una soluzione ancora in fase embrionale che non dovrebbe essere...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/\" \/>\n<meta property=\"og:site_name\" content=\"AGENZIA WEB Italia\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-23T17:44:01+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\"},\"headline\":\"React: iniziano i test sul compilatore\",\"datePublished\":\"2024-05-23T17:44:01+00:00\",\"dateModified\":\"2024-05-23T17:44:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/\"},\"wordCount\":418,\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"articleSection\":[\"News\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/\",\"name\":\"React: iniziano i test sul compilatore - AGENZIA WEB Italia\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\"},\"datePublished\":\"2024-05-23T17:44:01+00:00\",\"dateModified\":\"2024-05-23T17:44:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React: iniziano i test sul compilatore\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"name\":\"AGENZIA WEB Italia\",\"description\":\"Web design Web agency Italia\",\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\",\"name\":\"Multimedia Web\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"contentUrl\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"width\":200,\"height\":57,\"caption\":\"Multimedia Web\"},\"image\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"React: iniziano i test sul compilatore - AGENZIA WEB Italia","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.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/","og_locale":"it_IT","og_type":"article","og_title":"React: iniziano i test sul compilatore - AGENZIA WEB Italia","og_description":"Gli sviluppatori di React hanno dato vita ad un progetto dedicato all&#8217;introduzione di un compilatore sperimentale. Quest&#8217;ultimo \u00e8 stato rilasciato fin da subito sotto licenza Open Source per raccogliere il maggior numero di feedback nel pi\u00f9 breve tempo possibile. Si tratta in ogni caso di una soluzione ancora in fase embrionale che non dovrebbe essere...","og_url":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/","og_site_name":"AGENZIA WEB Italia","article_published_time":"2024-05-23T17:44:01+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/#article","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/"},"author":{"name":"admin","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42"},"headline":"React: iniziano i test sul compilatore","datePublished":"2024-05-23T17:44:01+00:00","dateModified":"2024-05-23T17:44:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/"},"wordCount":418,"publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"articleSection":["News"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/","name":"React: iniziano i test sul compilatore - AGENZIA WEB Italia","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website"},"datePublished":"2024-05-23T17:44:01+00:00","dateModified":"2024-05-23T17:44:01+00:00","breadcrumb":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/react-iniziano-i-test-sul-compilatore\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nycwebdesign.eu\/webdesign\/"},{"@type":"ListItem","position":2,"name":"React: iniziano i test sul compilatore"}]},{"@type":"WebSite","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","name":"AGENZIA WEB Italia","description":"Web design Web agency Italia","publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization","name":"Multimedia Web","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","contentUrl":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","width":200,"height":57,"caption":"Multimedia Web"},"image":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42","name":"admin","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","caption":"admin"}}]}},"_links":{"self":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/23383"}],"collection":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/comments?post=23383"}],"version-history":[{"count":0,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/23383\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/media?parent=23383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/categories?post=23383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/tags?post=23383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}