È stata rilasciata la prima versione ufficiale del nuovo ambiente di sviluppo integrato Theia IDE, sviluppato dall'organizzazione Eclipse Foundation basato sull'editor di codice Theia e sui plugin sviluppati per esso. Il codice del progetto è scritto in TypeScript ed è distribuito sotto licenza EPLv2 (Eclipse Public License). Il prodotto Theia IDE viene fornito come applicazione desktop autonoma, destinata all'installazione su sistemi locali, e anche in forma di versione online per l'uso tramite browser (per il deploy della versione online sul proprio server è fornita un'immagine Docker pronta all'uso).
Il progetto è sviluppato con la partecipazione di aziende come IBM, Red Hat, Google, ARM, Broadcom, Huawei, Samsung, Ericsson, SAP e Arduino in una piattaforma neutrale, sostenuta dall'organizzazione Eclipse Foundation e non dipendente da produttori specifici. Inizialmente, l'ambiente di sviluppo è stato sviluppato con il nome Theia Blueprint ed è stato utilizzato come un insieme di esempi e modelli per costruire soluzioni personalizzate sulla piattaforma Theia, e ora è stato trasformato in un prodotto separato, notevole per la sua modularità e le flessibili possibilità di personalizzazione dell'ambiente secondo le proprie preferenze.
La piattaforma Theia è costruita su un'architettura frontend/backend, che implica l'esecuzione di due processi, uno dei quali è responsabile del rendering dell'interfaccia e l'altro della logica interna. I processi interagiscono utilizzando HTTP tramite JSON-RPC tramite WebSockets o REST API. La separazione consente di organizzare il lavoro tramite il web, in cui il backend, che usa la piattaforma Node.js, viene eseguito su un server esterno, server, mentre il frontend con l'interfaccia viene caricato nel browser. Nell'applicazione Theia IDE, entrambi i processi vengono eseguiti localmente, e per creare un'applicazione autonoma viene utilizzata la piattaforma Electron.
In Theia IDE sono presenti funzionalità come una barra degli strumenti dinamica personalizzabile, pannelli di editing del codice staccabili in finestre separate, un sistema di schede, la possibilità di organizzare il lavoro remoto e una modalità di collaborazione e gestione dei progetti attualmente in fase di sviluppo. Il progetto è dichiarato come attento alla privacy degli utenti e non include l'invio di telemetria per impostazione predefinita.

L'ambiente fornisce strumenti di sviluppo per Python, Java, JavaScript, C++ e qualsiasi altro linguaggio il cui supporto è realizzato tramite l'uso di server LSP (Language Server Protocol), che definisce la logica di parsing della sintassi, l'autocompletamento, la navigazione nel codice, la diagnosi degli errori e il refactoring. Per l'integrazione con debugger di terze parti è supportato il protocollo DAP (Debug Adapter Protocol). Il sistema di plugin per Theia IDE è compatibile con le estensioni sviluppate per l'editor di codice VS Code, consentendo l'uso di oltre 3600 estensioni esistenti presentate nel catalogo Open VSX.
Fonte: opennet.ru
