Vai al paragrafo

Cos'è un ambiente di sviluppo integrato (IDE)?

Copia URL

Un IDE, o ambiente di sviluppo integrato, è un software progettato per la realizzazione di applicazioni che aggrega strumenti di sviluppo comuni in un'unica interfaccia utente grafica. In genere è costituito da:

  • Editor del codice sorgente: un editor di testo che agevola la scrittura di codice software grazie a utili funzionalità come l'evidenziazione della sintassi con suggerimenti visivi, il completamento automatico specifico del linguaggio e l'individuazione di bug durante la scrittura.
  • Automazione della build locale: utilità disponibili allo sviluppatore che consentono di automatizzare le attività semplici e ripetibili nella fase di creazione di una build locale del software, come la compilazione di codice sorgente in codice binario, la creazione di pacchetti di codice binario, e l'esecuzione di test automatizzati.
  • Debugger: un programma per testare altri programmi in grado di visualizzare graficamente la posizione di un bug nel codice originale.

Lo sviluppo cloud native

Lo sviluppo cloud native consente di creare applicazioni eseguibili come servizi in tutti gli ambienti cloud: pubblici, privati e ibridi. Scopri i risultati del sondaggio che ha coinvolto 419 professionisti IT qualificati, allo scopo di determinare cosa pensano i clienti di Red Hat® dello sviluppo cloud native.

Rimuovendo la necessità di configurare e integrare manualmente le svariate utility durante la fase di impostazione, l'ambiente di sviluppo integrato consente agli sviluppatori di avviare rapidamente la programmazione di nuove applicazioni. Di conseguenza i tempi di apprendimento si accorciano: tutte le utility sono disponibili nella stessa area di lavoro e gli sviluppatori non devono imparare a utilizzare diversi strumenti. Ciò risulta particolarmente utile per l'onboarding di nuovi sviluppatori che possono affidarsi a un IDE per allinearsi in tempi brevi agli strumenti e ai flussi di lavoro standard del team. La maggior parte delle funzionalità di un IDE sono difatti pensate per risparmiare tempo, come il completamento intelligente del codice e la sua generazione automatica, che evita di dover digitare intere sequenze di caratteri.

Altre funzionalità sono finalizzate ad aiutare gli sviluppatori nell'organizzazione dei loro flussi di lavoro e nella risoluzione dei problemi. Gli IDE analizzano il codice mentre viene scritto, identificando in tempo reale i bug dovuti a errori umani. Poiché le utility sono accorpate in un'unica interfaccia utente, gli sviluppatori possono evitare di passare da un'applicazione a un'altra. La maggior parte degli IDE prevede anche l'evidenziazione della sintassi, con suggerimenti visivi che distinguono la grammatica nell'editor di testo; altri includono browser per classi e oggetti, nonché diagrammi gerarchici delle classi per alcuni linguaggi.

Gli sviluppatori possono anche realizzare applicazioni senza un IDE, oppure creare il proprio IDE integrando manualmente varie utility con un editor di testo leggero come Vim o Emacs. Il vantaggio di questo approccio è l'estrema personalizzazione e le potenzialità di controllo offerte. In un contesto di livello enterprise, tuttavia, il tempo risparmiato, la standardizzazione degli ambienti e le funzionalità di automazione degli IDE più recenti acquisiscono in genere un peso maggiore rispetto ad altre valutazioni.

I team di sviluppo della maggior parte delle aziende tendono a scegliere IDE preconfigurati, più adatti a determinati esempi di utilizzo. Per loro la questione non è se adottare o meno un IDE, ma quale IDE scegliere.

Il mercato offre numerosi esempi di utilizzo tecnici e aziendali degli IDE, e altrettante opzioni IDE proprietarie e open source. Le caratteristiche seguenti sono quelle che contraddistinguono maggiormente un IDE dall'altro:

  • Linguaggi supportati: alcuni IDE sono dedicati a un unico linguaggio e risultano quindi adatti a uno specifico paradigma di programmazione. Ne è un esempio IntelliJ, noto principalmente come IDE per Java. Altri offrono supporto per più linguaggi, come l'IDE Eclipse che supporta, tra gli altri, Java, XML e Python.
  • Sistemi operativi supportati: il sistema operativo usato dallo sviluppatore determina gli IDE utilizzabili (a meno che non si tratti di un IDE cloud); se l'applicazione in via di sviluppo è destinata a un utente finale con un sistema operativo specifico (Android o iOS), il ventaglio di scelte si restringe ulteriormente.
  • Funzionalità di automazione: la maggior parte degli IDE include le tre funzioni principali di editor di testo, automazione della build e debugger; molti prevedono il supporto per funzioni aggiuntive quali refactoring, ricerca di codice e strumenti per i flussi di integrazione e deployment continui (CI/CD).
  • Impatto sulle prestazioni di sistema: il footprint dell'IDE è un fattore importante di cui tenere conto se lo sviluppatore deve eseguire simultaneamente altre applicazioni con consumo elevato della memoria.
  • Plugin ed estensioni: alcuni IDE prevedono la possibilità di personalizzare i flussi di lavoro per meglio adattarsi alle preferenze e alle esigenze dello sviluppatore. 

Ambienti di sviluppo integrato per lo sviluppo di app per dispositivi mobili

La crescente diffusione delle app progettate per smartphone e tablet si impone in quasi ogni settore, portando molte aziende a sviluppare app per dispositivi mobili in aggiunta a quelle tradizionali. Per questa tipologia di sviluppo applicativo uno dei fattori principali è la scelta della piattaforma. Se, ad esempio, la nuova applicazione verrà utilizzata su iOS, su Android e su una pagina web, la scelta ottimale sarebbe adottare un IDE che garantisca un supporto multipiattaforma per più sistemi operativi. 

IDE cloud

Gli IDE forniti come Software-as-a-Service (SaaS)  basati su cloud offrono vantaggi esclusivi rispetto agli ambienti di sviluppo locali. Come per qualsiasi soluzione SaaS, poiché non occorre scaricare software e configurare ambienti e dipendenze locali, gli sviluppatori possono dedicarsi ai progetti immediatamente. Ne risulta anche un elevato livello di standardizzazione per gli ambienti dei membri del team, che possono allineare le operazioni eseguite sui propri computer. La gestione dell'ambiente di sviluppo centralizzata consente inoltre di ridurre eventuali problemi di sicurezza e proprietà intellettuale poiché il codice non risiede nei computer dei singoli sviluppatori. 

Cambia anche l'impatto dei processi sui computer locali. L'esecuzione delle build e il testing delle suite sono processi generalmente a elevato utilizzo di calcolo, il che impedisce agli sviluppatori di utilizzare le workstation finché tali processi non siano terminati. Un IDE SaaS consente di eseguire i processi di lunga durata senza monopolizzare le risorse di calcolo di un computer locale. Gli IDE cloud sono in genere indipendenti dalla piattaforma e permettono di connettersi a fornitori cloud differenti.

Keep reading

Articolo

Cosa si intende per integrazione?

Cos'è l'integrazione? Scopri cos'è, come introdurla e i vantaggi che offre se abbinata all'open source.

Articolo

Come funziona Apache Kafka?

Apache Kafka è una piattaforma per il data streaming distribuita che permette di pubblicare, sottoscrivere, archiviare ed elaborare flussi di record in tempo reale.

Articolo

Cos'è un'API?

API è l'abbreviazione di interfaccia di programmazione delle applicazioni (application programming interface), un insieme di definizioni e protocolli per la creazione e l'integrazione di software applicativi.

Scopri di più sull'integrazione

Prodotti

Red Hat Integration

Set completo di tecnologie per l'integrazione e la messaggistica.

Red Hat Runtimes

Accelera la distribuzione e lo sviluppo applicativo.

Red Hat Process Automation

Trasforma il tuo business e soddisfa le richieste di un mercato in costante evoluzione.

Red Hat Cloud Services

Semplifica l'esperienza nel cloud ibrido e riduci i costi operativi e la complessità della distribuzione di applicazioni cloud native.

Risorse

Formazione

Corso di formazione gratuito

Red Hat Agile Integration Technical Overview

Illustration - mail

Ricevi contenuti simili

Iscriviti a Red Hat Shares, la nostra newsletter gratuita.