È stata annunciata l'apertura dei codici sorgente dell'editor di codice collaborativo Zed, sviluppato sotto la direzione di Nathan Sobo, l'autore del progetto Atom (che è alla base di VS Code), con la partecipazione di un team di ex sviluppatori di Atom, della piattaforma Electron e della libreria per l'analisi sintattica Tree-sitter. I codici sorgente della parte server, che assicura il coordinamento della modifica collaborativa, sono stati resi disponibili sotto la licenza AGPLv3, mentre l'editor stesso è sotto licenza GPLv3. Per la realizzazione dell'interfaccia utente è stata utilizzata una libreria proprietaria GPUI, rilasciata sotto licenza Apache 2.0. Il codice del progetto è sviluppato in Rust. Attualmente è supportata solo la piattaforma macOS (è in fase di sviluppo il supporto per Linux, Windows e Web).
L'editor Zed si distingue per l'orientamento verso la collaborazione nello sviluppo in tempo reale e per il raggiungimento della massima efficienza, prestazioni e reattività dell'interfaccia, in cui, secondo i creatori del progetto, tutte le azioni di editing devono essere eseguite istantaneamente e le sfide di programmazione devono essere affrontate nel modo più efficace possibile. In Zed si è tentato di combinare in un unico prodotto un editor leggero e le funzionalità degli attuali ambienti di sviluppo integrati. Nello sviluppo di Zed è stata considerata l'esperienza acquisita nella creazione di Atom, e si è cercato di concretizzare alcune nuove idee su come dovrebbe apparire l'editor ideale per i programmatori.
Le elevate prestazioni di Zed sono raggiunte grazie all'uso attivo del multithreading, utilizzando tutti i core CPU disponibili, e all'esecuzione del rendering delle finestre sulla GPU. Questo ha portato a una velocità di risposta molto alta al tocco dei tasti, con il risultato che appare già nel ciclo successivo di aggiornamento dello schermo. Nei test condotti, il tempo di risposta al tocco del tasto in Zed è stimato in 58 ms; a titolo di confronto, in Sublime Text 4 questo valore è di 75 ms, in CLion è di 83 ms, e in VS Code è di 97 ms. Il tempo di avvio di Zed è stato valutato in 338 ms, Sublime Text 4 in 381 ms, VS Code in 1444 ms, e CLion in 3001 ms. L'uso della memoria di Zed è stato di 257 MB, Sublime Text 4 di 219 MB, VS Code di 556 MB, e CLion di 1536 MB.
Tra le funzionalità di Zed:
- Considerazione dell'albero sintattico completo di vari linguaggi di programmazione per un'evidenziazione sintattica corretta, formattazione automatica, evidenziazione strutturale e ricerca contestuale;
- Supporto per l'accesso ai server LSP (Language Server Protocol) per l'auto-completamento, la navigazione nel codice, la diagnosi degli errori e il refactoring.
- Possibilità di collegare e modificare i temi. Disponibilità di temi chiari e scuri.
- Utilizzo predefinito delle combinazioni di tasti di VS Code. Modalità di compatibilità opzionale con le combinazioni di tasti e i comandi di Vim.
- Supporto per l'integrazione con GitHub Copilot per assistenza nella scrittura e nel rifacimento del codice.
- Emulatore terminale integrato.
- Navigazione collaborativa nel codice e modifica del codice da parte di più sviluppatori simultaneamente in uno spazio di lavoro condiviso.
- Strumenti per la discussione e la pianificazione del lavoro in team. Supporto per la gestione delle attività, creazione di appunti e monitoraggio dei progetti, chat testuale e vocale.
- Possibilità di collegarsi al progetto da qualsiasi computer, senza legami ai dati presenti nel sistema locale. Lavorare su progetti esterni avviene analogamente al lavoro con codice ospitato sul computer locale.

Per finanziare il lavoro del team di sviluppatori di Zed a tempo pieno, il progetto intende continuare a utilizzare un modello di business basato sull'offerta di servizi aggiuntivi a pagamento. Il primo di questi servizi sarà "Zed Channels", che implementa un ufficio virtuale per organizzare il lavoro dei team di sviluppatori in grandi progetti, consentendo a più sviluppatori di collaborare, interagire con altri partecipanti e co-scrivere codice. Sulla base di Zed Channels è stata lanciata l'iniziativa Fireside Hacks, attraverso la quale chiunque può osservare in tempo reale lo sviluppo di Zen. In futuro, si prevede anche di fornire un servizio con un assistente intelligente simile a GitHub Copilot e, possibilmente, implementare componenti specializzati a pagamento, tenendo conto della specificità dello sviluppo di prodotti commerciali e del loro utilizzo nelle aziende.

Fonte: opennet.ru
