Atom-skaperen med ny editor: – VS Code er for treig!

Har fått inn over 100 millioner til editor som lar utviklere kode i samme editorvindu.

Nathan Sobo synes både sin gamle editor Atom og VS Code er altfor trege. 📸: Zed Industries / privat (Twitter)
Nathan Sobo synes både sin gamle editor Atom og VS Code er altfor trege. 📸: Zed Industries / privat (Twitter) Vis mer

Trengs det en ny kodeeditor? Ja, mener Nathan Sobo.

Sobo er ingen hvem som helst, men mannen som i sin tid skapte den en gang svært populære – men nå nedlagte – Atom-editoren, samt Electron-rammeverket.

Nå har Sobo og hans selskap Zed Industries lansert første beta av kodeeditoren Zed, som ifølge deres egne målinger skal være betydelig raskere enn Visual Studio Code (VS Code) og de fleste andre editorer. For eksempel skal oppstartstiden være en fjerdedel av VS Code og minneforbruket rundt halvparten.

Målet til utviklerne er å lage en editor som ikke bare er rask, men også skal være et verktøy som gjør samarbeid mellom utviklere enklere.

En av de mest innovative funksjonene er at du kan invitere andre utviklere inn til å redigere i samme kodefil, alle med hver sin cursor.

Hentet 10 millioner dollar

VS Code har etter hvert blitt nesten enerådende på kodeditor-fronten, med en brukerandel på rundt 75 prosent i følge Stack Overflows årlige utviklerundersøkelse.

Til sammenligning svarte bare i underkant av 30 prosent av profesjonelle utviklere at de bruker JetBrains IntelliJ-editor, eller i underkant av 9 prosent JetBrains WebStorm.

Det er derfor et ganske modig valg å sette igang og prøve å lage en ny editor som skal konkurrere i dette markedet, spesielt ettersom Microsoft gir bort VS Code gratis.

Skjermbilde fra Zed-editoren. Med Outline View får du en søkbar oppsummering av alle funksjoner, variabler og annet.
Skjermbilde fra Zed-editoren. Med Outline View får du en søkbar oppsummering av alle funksjoner, variabler og annet. Vis mer

Ifølge TechCrunch har Zed Industries hentet inn 10 millioner dollar, rundt 107 millioner kroner, til prosjektet. Pengene skal blant annet brukes til å bygge opp et større utviklingsteam som skal jobbe med editoren.

Planen er å etter hvert tjene penger på ulike tjenester knyttet til editoren, som foreløpig er helt gratis.

Med seg på laget har Sobo fått blant andre Antonio Scandurra og Max Brunsfeld, som begge tidligere jobbet på Atom-teamet.

Spillteknologi for raskere UI

Zed er skrevet fra bunnen av i Rust for å være så rask som mulig

Nathan Sobo sier i et intervju på podcasten The Changelog at selv om han sto bak Atom-editoren, så føltes den alltid litt for treg. Det samme gjelder andre editorer, som VS Code.

I intervjuet forteller Sobos at da teamet hans begynte å jobbe med den nye editoren vurderte de først å bruke Electron, og basere brukergrensesnittet på webteknologier.

– Men uansett hva vi gjorde, klarte vi ikke å få ytelsen vi ville ha. Så til slutt kuttet vi ut Electron helt.

Oppstartstid for ulike editor, ifølge Zeds egne målinger. 📸: Zed
Oppstartstid for ulike editor, ifølge Zeds egne målinger. 📸: Zed Vis mer

Målet var at Zed skulle føles like rask som for eksempel Vim, og at alt skulle skje umiddelbart. Derfor fant de ut at de ville tegne opp brukergrensesnittet piksel for piksel ved hjelp av GPU-en (grafikkprosessoren), omtrent slik det gjøres i et 3D-dataspill.

De prøvde først en Rust-crate kalt Pathfinder. Men det var også for tregt, viste det seg.

Løsningen ble å lage et helt nytt Rust-basert UI-rammeverk med GPU-aksellerasjon fra bunnen, kalt GPUI. Dette gjør det mulig å rendre brukergrensesnittet med 120 bilder i sekundet.

Bedre samarbeid om kode

Ifølge Sobo var en av de viktigste grunnene til å lage en ny editor at de ønsket å gjøre det enklere for utviklere å samarbeide på kodeprosjekter. I intervjuet på The Changelog sier Sobo at samarbeid i dag ofte innebærer at beskjeder gis i mange ulike kanaler, noen som pull requests, noen som meldinger i ulike chattekanaler, og så videre.

Han mener samarbeid om kode best gjøres i kodeeditoren – alt på ett sted.

I betaversjonen som er lansert nå kan du invitere andre utviklere til kodebasen din, og så kan to eller flere utviklere kode samtidig i de samme filene. Når en utenfor jobber på en fil som ligger på din maskin, så vil de ifølge Zed oppleve det som om filen ligger lokalt på egen maskin.

Du kan invitere andre til å jobbe sammen på koden. 📸: Zed
Du kan invitere andre til å jobbe sammen på koden. 📸: Zed Vis mer

Når du er inne i en kodefil en av kollegaene dine redigerer, kan du hoppe til der de er i koden og følge vedkommende. Hvis du vil kan dere bytte roller, slik at kollegaen følger deg. På den måten kan dere parprogrammere enklere selv om dere sitter på ulike steder i verden.

I løpet av de neste månedene skal det komme en innebygget chatfunksjon, slik at man kan diskutere og samarbeide utover bare det å redigere i en fil.

Ellers nevner vi at Zed har en innebygget skjermdelingsfunksjon som lar deg dele skjermen med andre utviklere.

Støtter mange språk

Zed støtter for øyeblikket Rust, TypeScript, JSON, C/C++ og Python, hvor Rust er hovedfokus for øyeblikket. Undertegnede har imidlertid prøvd editoren litt, og TypeScript/JavaScript ser ut til å fungere upåklagelig.

Siden Zed baserer seg på Microsofts Language Server Protocol skal det være greit å utvide støtten for programmeringsspråk. Language Server Protocol gjør at du får autofullføring, enklere navigering i kode, og så videre – det meste av det du kjenner til fra VS Code. Copilot får du imidlertid ikke, siden det jo er en tjeneste fra GitHub og konkurrenten Microsoft.

«Foreløpig er Zed kun tilgjengelig for macOS.»

Foreløpig er Zed kun tilgjengelig for macOS, men støtte for andre plattformer skal komme. Utviklerne bak Zed vil fokusere på macOS en stund til for å få på plass all den funksjonaliteten de ønsker, før de tar dette videre til andre plattformer.

– Betaversjonen vi deler i dag er en skygge av det verktøyet vi ser for oss, skriver Zed i lanseringsbloggposten.

Her er nedlastingslenken, hvis du vil prøve editoren.