Athas punta a diventare un editor di codice veloce costruito con Rust e React
Ogni volta che apri VS Code su un portatile datato o tieni aperti cinque progetti pesanti, le ventole iniziano a segnalare che Electron sta facendo il suo lavoro. Negli ultimi anni sono emersi molti tentativi di costruire un editor veloce: alcuni passano al terminale con Neovim, altri riscrivono tutto da zero in Rust puro con rendering GPU come Zed.
Recentemente mi sono imbattuto nel progetto Athas su GitHub. Gli autori hanno scelto una via di mezzo: hanno impacchettato l'editor in Tauri, combinando un backend Rust con un frontend React e TypeScript.
Cosa c'è sotto il cofano e l'idea di base
La maggior parte degli editor convenzionali si colloca a uno dei due estremi. A un estremo ci sono applicazioni Electron pesanti che consumano gigabyte di RAM. All'altro estremo ci sono editor minimalisti in cui passi settimane a configurare le funzionalità attraverso file di impostazioni.
Athas prende il meglio da entrambi gli approcci. Tauri sfrutta il motore web del sistema (WebView) invece di bundlare un'intera istanza di Chromium. Questo si traduce in una dimensione binaria più piccola e un consumo di memoria significativamente inferiore. Nel frattempo, gli sviluppatori mantengono la flessibilità di un'interfaccia web basata su React.
Tutto il lavoro a livello di sistema è gestito nella parte Rust. Il progetto è rilasciato sotto la licenza open-source AGPL-3.0 e funziona su Linux, macOS e Windows.
Cosa c'è dentro l'editor
Il README è conciso, ma l'insieme di funzionalità copre quasi tutto il toolkit necessario per il lavoro di sviluppo quotidiano.
Agenti AI integrati
Al giorno d'oggi, un editor raro riesce a fare a meno delle reti neurali. Athas ha l'integrazione degli agenti AI integrata fin dall'inizio, aiutandoti a scrivere codice, eseguire il debug degli errori e automatizzare le attività di routine all'interno del progetto. Non c'è bisogno di installare plugin di terze parti alla cieca.
Supporto LSP e evidenziazione della sintassi
Il supporto completo del Language Server Protocol fornisce autocompletamento, navigazione dei simboli, go-to-definition e controllo dei tipi. Senza questo, un editor sarebbe solo un blocco note, ma con LSP diventa un ambiente di sviluppo completo per TypeScript, Rust, Python o Go.
Modalità Vim pronta all'uso
Se le tue dita sono abituate alle modalità normal, visual e insert, non c'è bisogno di reimparare. La modalità Vim è integrata direttamente nell'editor, quindi i fan della navigazione senza mouse si sentiranno a loro agio fin dai primi minuti.
Integrazione con Git e terminale
L'interfaccia include operazioni base del repository: visualizzazione dei diff, commit e cambio di branch. Un terminale integrato familiare si apre in basso, quindi non devi saltare tra finestre separate.
Visualizzatori di database integrati
Una funzionalità inaspettata per un editor leggero. Invece di tenere aperto un DBeaver o DataGrip separato, puoi sfogliare le tabelle del database e la struttura direttamente nell'area di lavoro di Athas.
Collaborazione e politiche aziendali
Gli sviluppatori hanno integrato strumenti per la modifica collaborativa in tempo reale. Per i team, hanno aggiunto la modalità gestita e le allowlist delle estensioni, cosa rilevante per le aziende con rigide politiche di sicurezza.
Caratteristiche architetturali
La combinazione Tauri, React e Rust sembra interessante:
┌─────────────────────────────────────────┐
│ UI: React + TypeScript │ (Интерфейс, темы, компоненты)
└────────────────────┬────────────────────┘
│ IPC / Wasm
┌────────────────────▼────────────────────┐
│ Tauri Core │ (Системные вызовы, WebView)
└────────────────────┬────────────────────┘
│ Rust FFI
┌────────────────────▼────────────────────┐
│ LSP Client, Git, FS, AI Engine │ (Нативная производительность)
└─────────────────────────────────────────┘
I task pesanti (parsing dei file, operazioni sul filesystem, avvio dei processi LSP) sono gestiti da Rust. Il livello web è responsabile solo del rendering dell'interfaccia. Questo elimina il lag di input quando il sistema sta scandendo un albero di directory o indicizzando un repository grande.
Come provarlo
Build fresche per tutte le piattaforme sono disponibili nella scheda Releases del repository del progetto:
# Клонирование репозитория для локальной сборки
git clone https://github.com/athasdev/athas.git
cd athas
# Установка зависимостей и запуск в dev-режиме
pnpm install
pnpm tauri dev
Per la compilazione, avrai bisogno di Rust installato (tramite rustup), Node.js e pnpm. Il progetto è aggiornato attivamente, quindi per l'uso quotidiano è più semplice scaricare un DMG o AppImage già pronto dai releases.
Vale la pena provarlo
È improbabile che Athas spodesti domani gli IDE familiari per tutti gli sviluppatori, ma il progetto sembra promettente. È un buon candidato per chi cerca un equilibrio: vuole un'interfaccia grafica con funzionalità moderne come AI e LSP, ma è stanco della fame di risorse di Electron.
Vale la pena provare l'editor se hai bisogno di uno strumento secondario veloce per piccole modifiche, progetti paralleli o per lavorare su portatili poco potenti. Il codice sorgente è aperto su GitHub, e vale sicuramente la pena seguire l'evoluzione del progetto.
Progetti correlati