{"id":75839,"date":"2024-01-10T18:34:02","date_gmt":"2024-01-10T17:34:02","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=75839&#038;preview=true&#038;preview_id=75839"},"modified":"2024-02-21T11:08:12","modified_gmt":"2024-02-21T10:08:12","slug":"bun-sh","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/","title":{"rendered":"Cos&#8217;\u00e8 Bun? Un runtime all-in-one che sfida Node.js"},"content":{"rendered":"<p>JavaScript \u00e8 uno dei linguaggi di programmazione pi\u00f9 diffusi e adottati al mondo. \u00c8 alla base di applicazioni web, applicazioni mobili, software desktop e persino dispositivi embedded. Nonostante la sua diffusione, non \u00e8 privo di sfide. Come tutte le tecnologie, <a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-javascript\/\">JavaScript<\/a> \u00e8 alle prese con problemi di prestazioni, compatibilit\u00e0, sicurezza e complessit\u00e0.<\/p>\n<p>Per risolvere questi problemi, nel corso degli anni sono stati sviluppati diversi runtime JavaScript. <a href=\"https:\/\/kinsta.com\/it\/blog\/node-js\/\">Node.js<\/a> e <a href=\"https:\/\/kinsta.com\/it\/blog\/deno-vs-node-js\/\">Deno<\/a> spiccano per le loro soluzioni ai limiti di JavaScript. Tuttavia, se da un lato hanno risolto molti problemi, dall&#8217;altro ne hanno introdotti di nuovi, come la necessit\u00e0 di pacchetti non necessari e prestazioni di runtime pi\u00f9 lente.<\/p>\n<p>Tra gli altri, c&#8217;\u00e8 anche <a href=\"https:\/\/bun.sh\/\" target=\"_blank\" rel=\"noopener noreferrer\">Bun<\/a>, un runtime JavaScript che esiste da un po&#8217; di tempo, ma il cui team ha <a href=\"https:\/\/bun.sh\/blog\/bun-v1.0\" target=\"_blank\" rel=\"noopener noreferrer\">rilasciato una versione stabile solo di recente, nel settembre 2023<\/a>. Bun \u00e8 stato creato per essere un&#8217;alternativa diretta e pi\u00f9 efficiente a Node.js.<\/p>\n<p>Questo articolo esplora Bun, le sue caratteristiche distintive e come integrarlo nei vostri progetti JavaScript.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Cos&#8217;\u00e8 Bun?<\/h2>\n<figure id=\"attachment_156568\" aria-describedby=\"caption-attachment-156568\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/bun-homepage.png\" alt=\"Homepage del sito Bun.sh\" width=\"960\" height=\"514\"><figcaption id=\"caption-attachment-156568\" class=\"wp-caption-text\">Homepage del sito Bun.sh.<\/figcaption><\/figure>\n<p>Bun \u00e8 un runtime JavaScript scritto principalmente nel linguaggio di programmazione Zig. Il suo scopo \u00e8 quello di risolvere i limiti di Node.js e di fornire un&#8217;esperienza di sviluppo pi\u00f9 snella ed efficiente.<\/p>\n<p>Tuttavia, Bun non \u00e8 un runtime JavaScript come tanti altri che sono apparsi nel corso degli anni: Si tratta di un toolkit all-in-one progettato per rivoluzionare il modo in cui gli sviluppatori lavorano con JavaScript e TypeScript. Estendendo <a href=\"https:\/\/developer.apple.com\/documentation\/javascriptcore\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScriptCore<\/a>, il motore di Safari di Apple, Bun consente tempi di avvio rapidi e un migliore utilizzo della memoria.<\/p>\n<p>A differenza di Node.js, Bun non si affida a <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-npm\/\">npm<\/a> n\u00e9 richiede dipendenze esterne per funzionare. Al contrario, dispone di una libreria standard integrata che offre funzionalit\u00e0 per diversi protocolli e moduli, tra cui variabili d&#8217;ambiente, <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-una-richiesta-http\/\">HTTP<\/a>, WebSocket, <a href=\"https:\/\/kinsta.com\/it\/blog\/nodejs-fs\/\">file system<\/a> e altro ancora.<\/p>\n<p>Inoltre, offre un supporto &#8220;ou\u034ft-of-the-box&#8221; per <a href=\"https:\/\/kinsta.com\/it\/blog\/typescript\/\">TypeScript<\/a>. E poich\u00e9 Bun traspila internamente ogni file sorgente JavaScript o TypeScript, si possono compilare ed eseguire direttamente i file TypeScript\u034f senza bisogno di ulteriori configurazioni o transpilazioni.<\/p>\n<p>Bun viene fornito con una potente interfaccia a riga di comando (CLI) che permette di eseguire <code>run<\/code>, <code>format<\/code>, <code>lint<\/code>, <code>test\u034f<\/code>, e <code>bundle<\/code> sul codice utilizzando i seguenti semplici comandi:<\/p>\n<ul>\n<li><code>bun run<\/code>: esegue un file JavaScript o TypeScript con Bun.<\/li>\n<li><code>bun test<\/code>: esegue test unitari con il framework di testin\u034fg integrato in Bun.<\/li>\n<li><code>bun fmt<\/code>: forma\u034f il codice con il formattatore di codice integrato in Bun.<\/li>\n<li><code>bun lint<\/code>: lima il codice con il code linter integrato di Bun.<\/li>\n<li><code>bun bundle<\/code>: raggruppa il codice con il code bundler integrato di Bun.<\/li>\n<\/ul>\n<p>Un&#8217;altra caratteristica di Bun \u00e8 la funzione di hot reloading, che aggiorna le modifiche al codice al volo preservando lo stato dell&#8217;applicazione. Si tratta di un miglioramento significativo rispetto a Node.js, dove una funzionalit\u00e0 simile richiede pacchetti esterni come <a href=\"https:\/\/www.npmjs.com\/package\/nodemon\" target=\"_blank\" rel=\"noopener noreferrer\">nodemon<\/a> o il flag sperimentale <code>--watch<\/code>. Bun, invece, semplifica questo processo grazie all&#8217;utilizzo dell&#8217;opzione <code>--hot<code> flag.<\/code><\/code><\/p>\n<p>Al di l\u00e0 dei suoi vantaggi tecnici, Bun vanta una comunit\u00e0 crescente di utenti che contribuiscono attivamente al suo sviluppo e al suo miglioramento. Questa vivace comunit\u00e0 garantisce che Bun sia sempre aggiornato e reattivo, offrendo ampie risorse per l&#8217;apprendimento e la risoluzione dei problemi.<\/p>\n<h2>Caratteristiche principali di Bun<\/h2>\n<p>Oltre all&#8217;hot reloading, al supporto nativo per TypeScript e ai tempi di avvio pi\u00f9 rapidi, Bun ha diverse caratteristiche fondamentali che contribuiscono alla sua popolarit\u00e0 e alle sue prestazioni come runtime JavaScript: il bundler, il test runner e il gestore di pacchetti. Vediamo nel dettaglio queste caratteristiche.<\/p>\n<h3>Bundler<\/h3>\n<p>Un bundler consolida il codice JavaScript e le sue dipendenze in un unico file\u034f, ottimizzandone l&#8217;efficienza di caricamento per i browser o all&#8217;interno delle applicazioni Node.js. Node.js non dispone di un bundler\u034f nativo, per cui gli sviluppatori devono affidarsi a bundler di terze parti come <a href=\"https:\/\/kinsta.com\/it\/blog\/rollup-vs-webpack-vs-parcel\/\">Rollup, Webpack e \u034fParcel<\/a> per gestire il codice JavaScript.<\/p>\n<p>Al contrario, Bun offre un bundler integrato che richiede una configurazione minima e supporta diversi formati di moduli. Inoltre, dispone di ottimizzazioni integrate che consentono un bundling pi\u00f9 veloce. In termini comparativi, il bundler di Bun \u00e8 superiore agli altri: \u00e8 <a href=\"https:\/\/bun.sh\/blog\/bun-bundler\" target=\"_blank\" rel=\"noopener noreferrer\">1,75 volte pi\u00f9 veloce di \u034fesbuild, 150 volte pi\u00f9 veloce di Parcel, 180 volte pi\u00f9 veloce di Rollup + Terser e 220 volte pi\u00f9 veloce di Webpack<\/a>.<\/p>\n<p>Si pu\u00f2 raggruppare il proprio progetto tramite il comando <code>bun bundle \u034f&lt;source&gt; --out-dir &lt;directory&gt;<\/code>. Bun generer\u00e0 il file di output nella directory di output specificata:<\/p>\n<figure id=\"attachment_156568\" aria-describedby=\"caption-attachment-156568\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/bun-build.png\" alt=\"Codice e terminale in cui \u00e8 stato eseguito il comando di build\" width=\"960\" height=\"514\"><figcaption id=\"caption-attachment-156568\" class=\"wp-caption-text\">Creare il bundle di un progetto con Bun.<\/figcaption><\/figure>\n<h3>Test Runner<\/h3>\n<p>Il testing\u034f \u00e8 una parte integrante dello sviluppo del software, che garantisce la funzionalit\u00e0 del codice e identifica potenziali problemi prima della produzione. Bun include anche un test runner nel suo toolkit.<\/p>\n<p>Inoltre, gli sviluppatori di Node.js hanno utilizzato framework di testing esterni come <a href=\"https:\/\/kinsta.com\/it\/blog\/jest\/\">Jest<\/a>, che \u00e8 potente e flessibile ma introduce ulteriori dipendenze e costi di configurazione nel progetto.<\/p>\n<p>D&#8217;altro canto, Bun integra il proprio test runner, enfatizzando la velocit\u00e0 e la compatibilit\u00e0. Questo approccio integrato offre diversi vantaggi:<\/p>\n<ul>\n<li><strong>Velocit\u00e0<\/strong>: con il test runner integrato nel runtime, l&#8217;esecuzione dei test avviene direttamente senza l&#8217;onere di caricare framework di test esterni. Il risultato \u00e8 un&#8217;esecuzione pi\u00f9 rapida dei test, particolarmente vantaggiosa in codebase di grandi dimensioni o in ambienti di integrazione continua.<\/li>\n<li><strong>Compatibilit\u00e0<\/strong>: il test runner integrato funziona perfettamente con le altre funzioni di Bun. Sfrutta i tempi di avvio rapidi di Bun e l&#8217;utilizzo efficiente della memoria, assicurando che i test vengano eseguiti in un ambiente che imita quello di produzione.<\/li>\n<li><strong>Semplicit\u00e0<\/strong>: con il test runner integrato, non \u00e8 necessario preoccuparsi di configurare e mantenere la compatibilit\u00e0 tra il runtime e il framework di test. Si possono scrivere i test in modo simile al codice dell&#8217;applicazione, utilizzando le stesse caratteristiche linguistiche e le stesse API.<\/li>\n<\/ul>\n<p>Il test runner di Bun \u00e8 pienamente compatibile con diversi framework di testing. L&#8217;esecuzione dei test \u00e8 semplice come l&#8217;esecuzione del comando <code>bun test<\/code><\/p>\n<p>Inoltre, poich\u00e9 Bun supporta nativamente TypeScript \u034fe JSX, non c&#8217;\u00e8 bisogno di configurazioni o \u034fplugin aggiuntivi. Potrete concentrarvi sulla scrittura di test di qualit\u00e0 piuttosto che sulla configurazione dell&#8217;ambiente di test.\u034f<\/p>\n<h3>Gestore di pacchetti<\/h3>\n<p>Il gestore di pacchetti di Bun, compatibile con Node.js, \u00e8 molto pi\u00f9 veloce di npm, yarn e pnpm. Accelera la velocit\u00e0, riduce l&#8217;uso del disco e minimizza l&#8217;ingombro della memoria.<\/p>\n<figure id=\"attachment_156568\" aria-describedby=\"caption-attachment-156568\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/bun-benchmark.png\" alt=\"Benchmark di Bun, pnpm, npm e Yarn a cura del team di Bun\" width=\"960\" height=\"514\"><figcaption id=\"caption-attachment-156568\" class=\"wp-caption-text\">Benchmark di Bun, pnpm, npm e Yarn a cura del team di Bun.<\/figcaption><\/figure>\n<p>Utilizzando i symli\u034fnks, Bun collega i pacchetti di ogni progetto a una posizione centralizzata, eliminando la necessit\u00e0 di scaricare nuovamente i moduli per i progetti successivi.\u034f Sebbene l&#8217;uso dei symlinks non sia del tutto nuovo nei gestori di pacchetti, l&#8217;implementazione di Bun \u00e8 superiore alle altre.<\/p>\n<h2>Come iniziare con Bun<\/h2>\n<p>Per iniziare a usare Bun sul computer, \u00e8 necessario installarlo. Esistono <a href=\"https:\/\/bun.sh\/docs\/installation\" target=\"_blank\" rel=\"noopener noreferrer\">vari metodi per installare Bun<\/a>, tra cui un comando cURL, npm o Homebrew. Tuttavia, \u00e8 fondamentale notare che Bun \u00e8 utilizzato in modo ottimale su sistemi macOS o Linux.<\/p>\n<p>Per installare Bun tramite il comando cURL, eseguite quanto segue nel terminale:<\/p>\n<pre><code class=\"language-bash\">curl -fsSL https:\/\/bun.sh\/install | bash<\/code><\/pre>\n<p>Dopo che l&#8217;installazione \u00e8 andata a buon fine, verificatela eseguendo <code>bun --version<\/code> nel terminale. Ci\u00f2 conferma che Bun \u00e8 pronto per essere utilizzato.<\/p>\n<p>Ora siete pronti per esplorare le funzionalit\u00e0 di Bun. Potete usare Bun per eseguire i vostri progetti Node.js con il comando <code>bun run<\/code>. Inoltre, per eseguire un file TypeScript chiamato <strong>index.ts<\/strong>, usate <code>bun run index.ts<\/code> &#8211; Bun traspone i vostri file TypeScript, eliminando la necessit\u00e0 di pacchetti aggiuntivi.<\/p>\n<p>L&#8217;utilit\u00e0 di Bun va oltre queste nozioni di base. Si integra perfettamente con framework JavaScript come <a href=\"https:\/\/bun.sh\/guides\/ecosystem\/react\" target=\"_blank\" rel=\"noopener noreferrer\">React<\/a> e <a href=\"https:\/\/bun.sh\/guides\/ecosystem\/nextjs\" target=\"_blank\" rel=\"noopener noreferrer\">Next.js<\/a>. Per approfondire e scoprire le funzionalit\u00e0 di Bun, consultate la <a href=\"https:\/\/bun.sh\/guides\" target=\"_blank\" rel=\"noopener noreferrer\">documentazione ufficiale<\/a>.<\/p>\n<h2>Come eseguire i progetti Node.js con Bun<\/h2>\n<p>La migrazione o l&#8217;esecuzione dei progetti Node.js con Bun \u00e8 semplice e richiede solo alcuni comandi della CLI di Bun. I passaggi qui sotto vi guideranno nell&#8217;esecuzione dei vostri progetti Node.js con Bun:<\/p>\n<ol start=\"1\">\n<li>Innanzitutto, installate Bun. Una volta installato Bun, andate nella directory contenente i file del progetto Node.js (compreso il file <strong>package.json<\/strong> ). Nella directory di lavoro del progetto, eseguite questo comando:\n<pre><code class=\"language-bash\">bun install<\/code><\/pre>\n<p>Questo \u00e8 il comando che permette a Bun di leggere il file <strong>package.json<\/strong> nella directory del progetto Node.js, di esaminare il file \u034flock <strong>.json<\/strong> (se presente) e di installare le dipendenze elencate utilizzando il suo gestore di pacchetti integrato.<\/p>\n<p><figure id=\"attachment_156568\" aria-describedby=\"caption-attachment-156568\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/bun-dependencies-install.png\" alt=\"Visual Studio Code mostra l'installazione delle dipendenze\" width=\"960\" height=\"514\"><figcaption id=\"caption-attachment-156568\" class=\"wp-caption-text\">Installare le dipendenze con Bun.<\/figcaption><\/figure><\/li>\n<li>Una volta installate le dipendenze, potete eseguire il progetto con Bun. Usate il comando <code>bun run<\/code>, seguito dal file di ingresso del progetto:\n<pre><code class=\"language-bash\">bun run <\/code><\/pre>\n<p>Ad esempio, se il punto di partenza del progetto \u00e8 un file chiamato <strong>index.js<\/strong>, digitate <code>bun run index.\u034fjs <\/code>.<\/p>\n<p>Bun esegue il codice JavaScript o TypeScript contenuto nel file specificato. Se il progetto ha uno script di avvio definito nel suo file <strong>package.json<\/strong>, potete anche usare <code>bun start<\/code> per eseguire il progetto.<\/p>\n<p><figure id=\"attachment_156568\" aria-describedby=\"caption-attachment-156568\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/execute-bun.png\" alt=\"Esecuzione del progetto Bun in Visual Studio Code\" width=\"960\" height=\"514\"><figcaption id=\"caption-attachment-156568\" class=\"wp-caption-text\">Esecuzione del progetto Bun in Visual Studio Code.<\/figcaption><\/figure><\/li>\n<\/ol>\n<p>La transizione a un nuovo ambiente di runtime pu\u00f2 comportare delle difficolt\u00e0. Tuttavia, il solido supporto di Bun per i moduli Node.js, il riconoscimento delle variabili globali e l&#8217;aderenza all&#8217;algoritmo di risoluzione dei moduli Node.js facilitano il processo di migrazione da Node.js a Bun.<\/p>\n<p>Supponiamo che stiate lavorando a un progetto Node.js che attualmente utilizza il pacchetto <a href=\"https:\/\/www.npmjs.com\/package\/dotenv\" target=\"_blank\" rel=\"noopener noreferrer\">dotenv<\/a> per la gestione delle variabili d&#8217;ambiente. In questo caso, potete tranquillamente rimuovere il pacchetto <code>dotenv<\/code> e il suo codice di inizializzazione dal progetto. Bun, infatti, \u00e8 in grado di leggere automaticamente i file .env, rendendo il pacchetto <code>dotenv<\/code> superfluo.<\/p>\n<p>Ricordate che Bun \u00e8 ancora in fase di sviluppo, quindi \u00e8 meglio procedere con cautela durante il processo di migrazione.<\/p>\n<h2>Integrare Bun con l&#8217;Hosting di Applicazioni di Kinsta<\/h2>\n<p>L&#8217;hosting di un&#8217;applicazione Bun su Kinsta \u00e8 semplice grazie all&#8217;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">Hosting di Applicazioni<\/a> e all&#8217;utilizzo di <a href=\"https:\/\/kinsta.com\/it\/changelog\/nixpacks\/\">Nixpacks<\/a> per costruire il vostro progetto.<\/p>\n<p>Nixpacks, simile a Buildpacks, \u00e8 un progetto open-source progettato per creare immagini container per le applicazioni in base al loro repository. Sfruttando il binario Nix, questo strumento costruisce le applicazioni, installa le dipendenze e configura gli ambienti al momento della distribuzione.<\/p>\n<p>La sua architettura basata su Rust garantisce tempi di build pi\u00f9 rapidi. In particolare, Nixpacks eccelle rispetto a Buildpacks perch\u00e9 incorpora un sistema di caching integrato che accelera notevolmente le build successive a quella iniziale.<\/p>\n<p>L&#8217;adozione di Nixpacks da parte di Kinsta sottolinea il suo impegno verso una tecnologia all&#8217;avanguardia, offrendo soluzioni pi\u00f9 efficienti e flessibili per la gestione delle immagini dei container e la semplificazione del processo di sviluppo.<\/p>\n<p>Per distribuire il vostro progetto Bun sull&#8217;Hosting di Applicazioni di Kinsta, innanzitutto inviate il vostro codice al provider Git che preferite (<a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> o <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>). Quando il vostro repository \u00e8 pronto, seguite questi passaggi per effettuare il deploy con Kinsta:<\/p>\n<ol start=\"1\">\n<li>Accedete o create un account per visualizzare la vostra dashboard <a href=\"https:\/\/my.kinsta.com\/?lang=it\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a>.<\/li>\n<li>Autorizzate Kinsta con il vostro provider Git.<\/li>\n<li>Cliccate su <strong>Applicazioni<\/strong> nella barra laterale di sinistra e poi su <strong>Aggiungi applicazione<\/strong>.<\/li>\n<li>Selezionate il repository e il branch da cui desiderate effettuare il deploy.<\/li>\n<li>Assegnate un nome unico all&#8217;applicazione e scegliete la posizione del data center.<\/li>\n<li>Configurate poi l&#8217;ambiente di build. Selezionate la configurazione della <strong>build machine standard<\/strong> con l&#8217;opzione <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/nixpacks\">Nixpacks<\/a> consigliata.<\/li>\n<li>Usate tutte le configurazioni predefinite e poi cliccate su <strong>Crea applicazione<\/strong>.<\/li>\n<\/ol>\n<p>L&#8217;installazione richiede in genere pochi minuti e, una volta completata, riceverete un link all&#8217;applicazione e una dashboard contenente le informazioni sull&#8217;installazione.<\/p>\n<p>Kinsta fornisce un&#8217;infrastruttura robusta e affidabile per le vostre applicazioni. La distribuzione di un&#8217;applicazione Bun direttamente sulla piattaforma di Kinsta \u00e8 semplice grazie alla sua interfaccia user-friendly: non \u00e8 necessaria alcuna integrazione specifica. Basta caricare il codice, configurare le impostazioni e la vostra app \u00e8 pronta per essere lanciata.<\/p>\n<h2>Riepilogo<\/h2>\n<p>Come runtime JavaScript, Bun ha acquisito importanza per diversi motivi. Progettato con un&#8217;attenzione particolare alle prestazioni e alla semplicit\u00e0, mira a snellire il processo di sviluppo e a migliorare l&#8217;efficienza complessiva. La sua architettura modulare permette di scegliere solo i componenti di cui avete bisogno per progetti specifici, riducendo le spese inutili.<\/p>\n<p>A differenza di Node.js, Bun ha un&#8217;impronta pi\u00f9 leggera e tempi di avvio pi\u00f9 rapidi. Questa caratteristica \u00e8 fondamentale per le applicazioni che richiedono tempi di risposta rapidi e un uso efficiente delle risorse. La semplicit\u00e0 e l&#8217;approccio modulare di Bun contribuiscono a un&#8217;esperienza di sviluppo pi\u00f9 semplice e personalizzabile.<\/p>\n<p>L&#8217;hosting delle applicazioni Bun con il servizio di Hosting di Applicazioni di Kinsta offre una soluzione efficace e senza soluzione di continuit\u00e0. La solida infrastruttura di Kinsta garantisce prestazioni elevate, grazie a funzionalit\u00e0 come lo <a href=\"https:\/\/kinsta.com\/it\/changelog\/scaling-automatico\/\">scaling automatico<\/a> e la distribuzione di contenuti a caricamento rapido.<\/p>\n<p>Scegliendo Kinsta, l&#8217;hosting delle vostre applicazioni Bun diventa un&#8217;esperienza affidabile ed efficiente, che vi d\u00e0 la libert\u00e0 di concentrarvi sulla costruzione e sull&#8217;ottimizzazione dei vostri progetti.<\/p>\n<p><em>Qual \u00e8 la vostra opinione su Bun? Pensate di passare tutte le vostre applicazioni Node.js all&#8217;utilizzo di Bun? Fateci sapere cosa ne pensate nella sezione dei commenti. <\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript \u00e8 uno dei linguaggi di programmazione pi\u00f9 diffusi e adottati al mondo. \u00c8 alla base di applicazioni web, applicazioni mobili, software desktop e persino dispositivi &#8230;<\/p>\n","protected":false},"author":287,"featured_media":75840,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26203],"class_list":["post-75839","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-node-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cos&#039;\u00e8 Bun? Un runtime all-in-one che sfida Node.js - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Ecco Bun, il runtime JavaScript alternativo a Node.js, con approfondimenti sulle sue caratteristiche principali, l&#039;utilizzo e le prestazioni.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cos&#039;\u00e8 Bun? Un runtime all-in-one che sfida Node.js\" \/>\n<meta property=\"og:description\" content=\"Ecco Bun, il runtime JavaScript alternativo a Node.js, con approfondimenti sulle sue caratteristiche principali, l&#039;utilizzo e le prestazioni.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-10T17:34:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-21T10:08:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Ecco Bun, il runtime JavaScript alternativo a Node.js, con approfondimenti sulle sue caratteristiche principali, l&#039;utilizzo e le prestazioni.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Cos&#8217;\u00e8 Bun? Un runtime all-in-one che sfida Node.js\",\"datePublished\":\"2024-01-10T17:34:02+00:00\",\"dateModified\":\"2024-02-21T10:08:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/\"},\"wordCount\":2143,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/\",\"name\":\"Cos'\u00e8 Bun? Un runtime all-in-one che sfida Node.js - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg\",\"datePublished\":\"2024-01-10T17:34:02+00:00\",\"dateModified\":\"2024-02-21T10:08:12+00:00\",\"description\":\"Ecco Bun, il runtime JavaScript alternativo a Node.js, con approfondimenti sulle sue caratteristiche principali, l'utilizzo e le prestazioni.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cos&#8217;\u00e8 Bun? Un runtime all-in-one che sfida Node.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cos'\u00e8 Bun? Un runtime all-in-one che sfida Node.js - Kinsta\u00ae","description":"Ecco Bun, il runtime JavaScript alternativo a Node.js, con approfondimenti sulle sue caratteristiche principali, l'utilizzo e le prestazioni.","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:\/\/kinsta.com\/it\/blog\/bun-sh\/","og_locale":"it_IT","og_type":"article","og_title":"Cos'\u00e8 Bun? Un runtime all-in-one che sfida Node.js","og_description":"Ecco Bun, il runtime JavaScript alternativo a Node.js, con approfondimenti sulle sue caratteristiche principali, l'utilizzo e le prestazioni.","og_url":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2024-01-10T17:34:02+00:00","article_modified_time":"2024-02-21T10:08:12+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Ecco Bun, il runtime JavaScript alternativo a Node.js, con approfondimenti sulle sue caratteristiche principali, l'utilizzo e le prestazioni.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Joel Olawanle","Tempo di lettura stimato":"11 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Cos&#8217;\u00e8 Bun? Un runtime all-in-one che sfida Node.js","datePublished":"2024-01-10T17:34:02+00:00","dateModified":"2024-02-21T10:08:12+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/"},"wordCount":2143,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/bun-sh\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/","url":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/","name":"Cos'\u00e8 Bun? Un runtime all-in-one che sfida Node.js - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg","datePublished":"2024-01-10T17:34:02+00:00","dateModified":"2024-02-21T10:08:12+00:00","description":"Ecco Bun, il runtime JavaScript alternativo a Node.js, con approfondimenti sulle sue caratteristiche principali, l'utilizzo e le prestazioni.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/bun-sh\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2024\/01\/what-is-bun-and-all-In-one-javascript-runtime.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/bun-sh\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinsta.com\/it\/argomenti\/node-js\/"},{"@type":"ListItem","position":3,"name":"Cos&#8217;\u00e8 Bun? Un runtime all-in-one che sfida Node.js"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/it\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=75839"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75839\/revisions"}],"predecessor-version":[{"id":76738,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/75839\/revisions\/76738"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/translations\/nl"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/75839\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/75840"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=75839"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=75839"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=75839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}