Viitorul IDE-ului web GitLab
În aprilie 2018, GitLab 10.7 a introdus Web IDE în lume și a adus un editor încântător de fișiere multiple în centrul experienței GitLab. Scopul nostru a fost să facilităm contribuția oricui și tuturor, indiferent de experiența lor de dezvoltare. De la introducerea sa, zeci de milioane de comitări au fost făcute din Web IDE și am adăugat funcții precum Live Preview și Interactive Web Terminals pentru a îmbunătăți experiența. Acum, suntem încântați să împărtășim câteva schimbări majore pe care le avem pregătite pentru Web IDE în următoarele etape.
Ce face un IDE?
De-a lungul anilor, am învățat multe despre cum folosiți cu toții IDE-ul web. L-am comparat cu Editorul nostru web din vizualizarea depozitului. Am vorbit deopotrivă cu dezvoltatori, designeri, manageri de produs și scriitori tehnici. Aproape universal, auzim că IDE-ul web este excelent pentru mici modificări: o schimbare rapidă a unui fișier de configurare, o actualizare a unui fișier Markdown sau o remediere a greșelii într-o solicitare de îmbinare. Aceste modificări ușoare reprezintă marea majoritate a utilizării Web IDE. Și pentru acele cazuri de utilizare, este super convenabil și intuitiv.
Dar pentru a crește și pentru a câștiga cu adevărat porecla „IDE”, ce ne lipsește? Ce îi împiedică pe dezvoltatori să facă schimbări mai complexe în IDE-ul web? Ce putem face pentru a crește experiența? Auzim despre funcții și funcționalități lipsă, cum ar fi un panou de fișiere pliabil, care acceptă acțiuni contextuale și trage și plasează sau o integrare mai strânsă cu solicitările de îmbinare . Am învățat că nu există nicio funcție unică care să fie un deal-breaker pentru majoritatea dezvoltatorilor; este suma totală a multor mici lacune în experiența utilizatorului.
Web IDE este construit pe baza fantasticului proiect open source, Monaco . Ceea ce a făcut din Monaco o alegere excelentă ca fundație a Web IDE este, de asemenea, ceea ce face mai dificilă abordarea tuturor acestor preocupări în mod holist. Monaco este doar asta: o fundație. Trebuie să implementăm noi înșine toate aceste fluxuri de lucru și caracteristici. Între timp, un alt proiect open source a fost concentrat pe laser pe furnizarea unui IDE adorabil deasupra Monaco.
Introduceți codul VS
Este posibil să fi auzit de Visual Studio Code sau VS Code. Având cota sa dominantă de piață , sunt șanse destul de mari să îl folosiți ca editor de cod principal. După cum se întâmplă, nucleul VS Code este, de asemenea, open source sub licența MIT. Deși proiectul de bază nu este un înlocuitor perfect pentru Web IDE, inginerul nostru de front-end, Paul Slaughter , a vrut să vadă dacă îl putem rula în GitLab.
Se pare că putem:
În acest videoclip, Paul Slaughter, inginer FE al personalului, îl prezintă pe Eric Schurter, manager senior de produs, prin demonstrația conceptului VS Code Web IDE. Consultați părțile a doua , trei și patru pentru o privire mai atentă asupra extensiilor, performanței și personalizării.
După cum puteți vedea în videoclipurile de mai sus, Paul a reușit să construiască o dovadă a conceptului care aduce experiența de editare VS Code în interfața de utilizare GitLab, rulând în întregime în browser. Nu este nevoie de infrastructură suplimentară.
În continuare, ne-am pus întrebarea: Dorim să investim în continuare în implementarea de caracteristici personalizate pentru IDE-ul web care oferă, în cele din urmă, aceeași valoare ca cele deja disponibile în VS Code? Sau îmbrățișăm VS Code în GitLab și investim în extinderea experienței pentru a ne integra mai strâns cu GitLab și fluxul de lucru DevOps?
Faceți cunoștință cu noul Web IDE
După cum probabil ați ghicit deja, am decis să înlocuim actualul Web IDE cu unul construit pe VS Code . În următoarele etape, vom construi suport personalizat pentru funcțiile care nu sunt deja disponibile în nucleul VS Code și vom valida că fluxurile de lucru de care depindeți deja în Web IDE sunt gestionate în noua experiență. Lucrăm cu echipa care creează uimitoarea noastră extensie GitLab Workflow pentru VS Code pentru a o face disponibilă în browser, astfel încât să o putem include în IDE-ul web și să aducem toate aceste funcții grozave. Aceasta include introducerea, pentru prima dată, a comentariilor privind cererile de îmbinare în Web IDE !
Apropo de extensii
Ai citit bine: extensii. Unul dintre cele mai convingătoare aspecte ale VS Code este comunitatea masivă și biblioteca de extensii disponibile pentru a vă personaliza experiența și pentru a vă integra cu alte instrumente. Un subset al acestor extensii este deja compatibil cu o instanță web a VS Code, iar scopul nostru este să le facem disponibile în IDE-ul web, astfel încât dvs. și echipele dvs. să puteți lucra cât mai eficient și consecvent posibil. Aducerea extensiilor în experiența GitLab nu este ceva pe care îl luăm cu ușurință, așa că vom evalua cea mai bună abordare pentru a asigura securitatea și confidențialitatea datelor dvs.
Cu o mare putere vine o mare responsabilitate
Această tranziție nu vine fără compromisuri. Știm că mulți dintre voi apreciați Web IDE pentru simplitatea sa și este sigur să spunem că creșterea funcționalității pe care VS Code o aduce la masă vine cu o creștere a complexității. Web IDE original a fost introdus ca o modalitate de a se asigura că toată lumea poate contribui. În conformitate cu acest spirit, vom investi în îmbunătățiri ale componentei noastre de editare de bază, care alimentează Editorul web , Snippets, Editorul Pipeline și editarea codului în altă parte în GitLab. Această componentă de bază va fi extinsă pentru a suporta editarea mai multor fișiere. Speranța noastră este că servește de fapt acele fluxuri de lucru care necesită editări simple, chiar mai bine decât a făcut-o vreodată Web IDE.
Sunt gata, când îl pot avea?
Suntem cu toții încântați să începem să folosim noul Web IDE cât mai curând posibil. Lucrăm activ la integrare și vă puteți aștepta să o vedeți cândva în ciclul de lansare 15.x. Dacă doriți să oferiți feedback din timp și să ne ajutați să optimizăm experiența, vă rugăm să completați acest scurt sondaj pentru a fi luat în considerare pentru acces anticipat.
Dar stai, cum rămâne cu chestiile de rulare?
Îți amintești la începutul acestei postări când am întrebat ce face un IDE? Piesa critică a puzzle-ului care încă lipsește VS Code este un mediu de rulare pentru compilarea codului. Fără acest mediu, nu puteți genera previzualizări în timp real, nu puteți rula teste sau nu puteți profita de completarea codului. Căutăm să abordăm această problemă cu noua categorie Remote Development , dar acesta este un subiect pentru o cu totul altă postare de blog.
Până atunci, editare fericită!
Această postare de blog și paginile asociate conțin informații legate de produsele, caracteristicile și funcționalitățile viitoare. Este important de reținut că informațiile prezentate au doar scop informativ. Vă rugăm să nu vă bazați pe aceste informații în scopuri de achiziție sau planificare. Ca și în cazul tuturor proiectelor, articolele menționate în această postare de blog și paginile asociate pot fi modificate sau întârziate. Dezvoltarea, lansarea și sincronizarea oricăror produse, caracteristici sau funcționalități rămân la discreția exclusivă a GitLab Inc.
Imagine de copertă de Johannes Plenio pe Unsplash
„Ce urmează pe lângă IDE-ul web @gitlab” – Eric Schurter
Faceți clic pentru a tweet