Organizzazione Eclipse Foundation primo rilascio stabile dell'editor di codice , sviluppato con l'obiettivo di fornire un'alternativa realmente open-source al progetto Visual Studio Code. L'editor è progettato per un uso completo sia come applicazione desktop che per l'esecuzione nel cloud con accesso tramite browser web. Il codice è stato scritto in TypeScript e sotto licenza EPLv2. Il progetto è in sviluppo con la partecipazione di aziende come IBM, Red Hat, Google, ARM, Ericsson, SAP e Arduino.
Caratteristiche principali:
- Utilizzo di un'unica base di codice per compilare versioni desktop e web.
- Supporto per lo sviluppo in JavaScript, Java, Python e altri linguaggi per i quali sono disponibili gestori server basati sul protocollo (Language Server Protocol), che si occupano delle operazioni relative all'analisi semantica del linguaggio. L'uso del LSP consente di sfruttare oltre 60 gestori esistenti, preparati per editor di codice , e , che utilizzano anch'essi l'LSP.
- Lo sviluppo di Theia è curato dalla Eclipse Foundation, un'organizzazione che offre una piattaforma neutrale, indipendente dalle decisioni delle singole aziende e che opera a favore della comunità.
- Il progetto è stato progettato per essere il più modulare possibile, permettendo di espandere o modificare qualsiasi funzionalità tramite .
- È possibile creare prodotti simili a IDE basati su Theia collegando i plugin necessari mediante l'elencazione nel file package.json.
- Supporto per il protocollo VS Code Extension, che consente di collegare estensioni sviluppate per Visual Studio Code.
- Un emulatore di terminale completamente integrato, che aggiorna automaticamente la connessione in caso di ricarica della pagina nel browser, mantenendo la cronologia completa del lavoro.
- Layout flessibile degli elementi dell'interfaccia. L'interfaccia utente è basata sul framework , che consente lo spostamento arbitrario dei blocchi (è possibile nascondere i pannelli, cambiare le dimensioni dei blocchi e scambiarli di posto).
L'editor è costruito su un'architettura di , comportando l'avvio di due processi, uno responsabile per il rendering dell'interfaccia e l'altro per la logica interna. I processi interagiscono tramite HTTP utilizzando JSON-RPC attraverso WebSockets o REST API. Il backend utilizza la piattaforma Node.js e, quando opera tramite Web, viene eseguito su un server esterno, mentre il frontend con l'interfaccia viene caricato nel browser. Nel caso di un'app desktop, entrambi i processi vengono avviati localmente, e per
la creazione di un'applicazione indipendente viene utilizzata la piattaforma Electron.
Tra le caratteristiche chiave che distinguono da Visual Studio Code ci sono: un'architettura più modulare, che offre maggiori possibilità di personalizzazione; un orientamento iniziale all'esecuzione non solo su sistemi locali, ma anche nel cloud; sviluppo su una piattaforma neutrale.
È importante notare che la versione completamente open source dell'editor Visual Studio Code sta anche supportando il progetto , che include solo componenti liberi, privo del legame con il marchio Microsoft e depurato dal codice per la raccolta di telemetria.
Ricordiamo che l'editor Visual Studio Code è costruito utilizzando i contributi del progetto e della piattaforma , basata su una base di codice Chromium e Node.js. L'editor offre un debugger integrato, strumenti per lavorare con Git, risorse per il refactoring, navigazione nel codice, completamento automatico delle strutture comuni e suggerimenti contestuali. Visual Studio Code è sviluppato da Microsoft come progetto open-source, con licenza MIT, ma le build binarie fornite ufficialmente non corrispondono ai codici sorgente, poiché includono componenti per il tracciamento delle attività nell'editor e per l'invio di telemetria. La raccolta di telemetria è giustificata dall'ottimizzazione dell'interfaccia sulla base del comportamento reale degli sviluppatori. Inoltre, le build binarie sono distribuite con una licenza separata non libera.
Fonte: opennet.ru
