Ogni giorno uti­liz­zia­mo una serie di programmi che di­spon­go­no di svariate funzioni. Col passare del tempo e i passi da giganti degli strumenti tec­no­lo­gi­ci che uti­liz­zia­mo, ci aspet­tia­mo ormai che tutti questi software fun­zio­ni­no quasi alla per­fe­zio­ne. Per gli svi­lup­pa­to­ri però non è al­tret­tan­to scontato, in quanto i sistemi operativi più uti­liz­za­ti si dif­fe­ren­zia­no si­gni­fi­ca­ti­va­men­te l’uno dall’altro, senza contare le dif­fe­ren­ze tra le varie versioni. Teo­ri­ca­men­te sarebbe ne­ces­sa­rio adattare ogni programma a ciascuna di queste versioni per Windows, macOS e Linux. Per aggirare il problema gli svi­lup­pa­to­ri uti­liz­za­no i runtime en­vi­ron­ment o ambienti di runtime.

Acquista e registra il tuo dominio con il provider n°1 in Europa
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Che cos’è un ambiente di runtime?

Gli ambienti di runtime vengono chiamati anche RTE, dall’ab­bre­via­zio­ne del termine inglese “Runtime En­vi­ron­ment”. Da non con­fon­de­re con gli ambienti di ese­cu­zio­ne o gli ambienti di sviluppo, gli ambienti di runtime svolgono una funzione es­sen­zia­le. Ma di che cosa si tratta?

Volendo spiegarlo in maniera com­pren­si­bi­le ai più, i runtime en­vi­ron­ment fungono da piccoli sistemi operativi che mettono a di­spo­si­zio­ne tutte le fun­zio­na­li­tà di cui un programma ha bisogno per la corretta ese­cu­zio­ne. Tra questi si contano anche le in­ter­fac­ce di elementi fisici di un hardware o le in­te­ra­zio­ni utente e le com­po­nen­ti software.

Un ambiente di runtime carica tutte le ap­pli­ca­zio­ni di un programma e le esegue su una piat­ta­for­ma. Su questa piat­ta­for­ma vengono messe a di­spo­si­zio­ne tutte le risorse ne­ces­sa­rie per l’ese­cu­zio­ne del programma in­di­pen­den­te­men­te dal sistema operativo. Ad esempio: la ri­pro­du­zio­ne di contenuti web audio e video è possibile solamente se si dispone dell’ambiente di runtime ne­ces­sa­rio, come Adobe Flash Player. Con questo plug-in che funziona anche da runtime delle ap­pli­ca­zio­ni Internet, potete ri­pro­dur­re i contenuti flash dal web sempre con la stessa qualità e allo stesso modo, in­di­pen­den­te­men­te dal sistema operativo e dal browser che state uti­liz­zan­do.

Come funziona un ambiente di runtime?

At­tra­ver­so il co­sid­det­to sistema di runtime, o runtime system, un’ap­pli­ca­zio­ne in ese­cu­zio­ne in­te­ra­gi­sce con l’ambiente di runtime. Questo ambiente serve da in­ter­me­dia­rio tra il programma e il sistema operativo. Non appena viene eseguito un programma, questo comunica con il pro­ces­so­re del computer e con la RAM, indicando le risorse di sistema di cui ha bisogno. Dell’ambiente di runtime fanno parte l’hardware, la memoria e le variabili dell’ambiente, così come anche le in­te­ra­zio­ni dell’utente e le com­po­nen­ti software.

Fatto
Il termine “runtime” ha un doppio si­gni­fi­ca­to. Nel contesto nel quale viene uti­liz­za­to in questo articolo, ossia degli ambienti di runtime, si tratta dell’ese­cu­zio­ne di un programma in un de­ter­mi­na­to ambiente ad hoc. Al­tri­men­ti con lo stesso termine si può indicare la durata di cui un programma ha bisogno per l’ese­cu­zio­ne di un’ope­ra­zio­ne.

Un runtime en­vi­ron­ment mette a di­spo­si­zio­ne diverse funzioni di base per la memoria, le reti e gli hardware. Queste funzioni vengono eseguite dall’ambiente di runtime invece che dal programma, in maniera in­di­pen­den­te dal sistema operativo. A queste funzioni si ascrivono la lettura e la scrittura di file, la gestione di unità di entrata e di uscita, la ricerca, la clas­si­fi­ca­zio­ne e l’am­mi­ni­stra­zio­ne di file o il trasporto di dati sulle reti.

N.B.
I singoli moduli di un runtime en­vi­ron­ment vengono salvati nelle co­sid­det­te librerie di runtime, che si ri­co­no­sco­no grazie all’esten­sio­ne .dll (dynamic link library) su Windows, e .so (shared object) su Unix.

Anche i semplici utenti uti­liz­za­no gli ambienti di runtime, in quanto questi per­met­to­no ai programmi di disporre di tutte le fun­zio­na­li­tà ne­ces­sa­rie per poter fun­zio­na­re in­di­pen­den­te­men­te dal sistema operativo in uso. Inoltre i programmi hanno un’in­ter­fac­cia utente identica sulle varie versioni di Windows, macOS e Linux.

Gli svi­lup­pa­to­ri, invece, li uti­liz­za­no per testare l’ese­cu­zio­ne delle ap­pli­ca­zio­ni su cui stanno lavorando. Nel caso si verifichi un errore, gli ambienti di runtime no­ti­fi­ca­no il motivo del crash o del mal­fun­zio­na­men­to. Anche i framework fanno parte degli ambienti di runtime. Queste strutture in­for­ma­ti­che sem­pli­fi­ca­no lo sviluppo software e mettono a di­spo­si­zio­ne ambienti di runtime con i quali poter eseguire le ap­pli­ca­zio­ni rea­liz­za­te.

Consiglio
Se un’ap­pli­ca­zio­ne è sup­por­ta­ta da un ambiente di runtime specifico, quell’ambiente sarà un pre­re­qui­si­to per la corretta ese­cu­zio­ne della stessa.

Quali sono i vantaggi di un runtime en­vi­ron­ment?

Come già accennato, i runtime en­vi­ron­ment rendono possibile la fun­zio­na­li­tà dei programmi su piat­ta­for­me diverse. Questo sem­pli­fi­ca lo sviluppo, in quanto il programma non deve essere mo­di­fi­ca­to e adattato per ogni singolo sistema operativo e le relative versioni. Nel caso di programmi eseguiti tramite un ambiente di runtime, gli utenti possono ap­pro­fit­ta­re di tutte le sue funzioni allo stesso modo su tutte le piat­ta­for­me, uti­liz­zan­do la stessa, più o meno identica, in­ter­fac­cia utente.

Un ulteriore vantaggio è il risparmio di risorse. Programmi simili possono uti­liz­za­re lo stesso ambiente di runtime, con­di­vi­den­do le com­po­nen­ti di sistema.

Celebri esempi di ambienti di runtime

Uno degli esempi di runtime più noti e uti­liz­za­ti è Java. L’ese­cu­zio­ne di programmi Java richiede l’utilizzo dell’apposito ambiente di runtime: Java Runtime En­vi­ron­ment. Questo infatti permette ai programmi Java di essere ese­gui­bi­le su qualsiasi sistema operativo, ri­ma­nen­do­ne tra l’altro quasi com­ple­ta­men­te in­di­pen­den­te. Trat­tan­do­si di una piat­ta­for­ma software, l’ambiente di runtime Java viene definito anche “piat­ta­for­ma Java” e consiste di un’in­ter­fac­cia di pro­gram­ma­zio­ne, anche detta API, di una macchina virtuale e di librerie di programma. Il lin­guag­gio di pro­gram­ma­zio­ne Java è integrato nell’API.

Altri esempi comuni di ambienti di runtime sono:

  • Ac­tion­Script Ap­pli­ca­tion (ASAP): offre com­po­nen­ti agli svi­lup­pa­to­ri Flash.
  • Blueprint: il framework CSS prende in con­si­de­ra­zio­ne i deficit di com­pa­ti­bi­li­tà dei browser e al­leg­ge­ri­sce l’ot­ti­miz­za­zio­ne di CSS. Blueprint è di­spo­ni­bi­le anche come tema di base di CMS come Drupal e WordPress.
  • Common Language Runtime: un ambiente di runtime virtuale per ap­pli­ca­zio­ni .NET che in­ter­pre­ta il Common In­ter­me­dia­te Language Code.
  • Crystal Space: gratuito, comprende un motore 3D e viene impiegato nello sviluppo di vi­deo­gio­chi e di altre ri­pro­du­zio­ni 3D.
  • Cygwin: un runtime en­vi­ron­ment per ap­pli­ca­zio­ni Linux che permette di eseguirle anche su Windows, macOS e altri sistemi operativi.
  • Framework .NET: le ap­pli­ca­zio­ni Windows .NET possono essere eseguite solamente con il framework di Microsoft.
  • Node.js: l’ambiente di runtime di Ja­va­Script permette l’utilizzo di linguaggi di scripting lato server. Ma lo stesso svi­lup­pa­to­re ha criticato varie cose di Node.js, decidendo così di rea­liz­za­re e ri­la­scia­re Deno, un runtime en­vi­ron­ment nuovo, più moderno e sicuro, per Ja­va­Script lato server.
  • Visual Basic Runtime: ne­ces­sa­rio per molti programmi shareware e freeware.
  • WINE: con questo ambiente di runtime le ap­pli­ca­zio­ni Windows possono essere eseguite anche su altri sistemi operativi come Linux, FreeBSD o macOS. Tuttavia la com­pa­ti­bi­li­tà non è com­ple­ta­men­te garantita.
  • XULRunner: un ambiente di runtime per ap­pli­ca­zio­ni XUL come Firefox, Thun­der­bird o Songbird, no­no­stan­te questi programmi fun­zio­ni­no anche senza. In futuro questo runtime en­vi­ron­ment verrà uti­liz­za­to sempre più così da garantire un risparmio delle risorse.
Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana
Vai al menu prin­ci­pa­le