GitHub postavlja Visual Studio Code na mrežu

U svojoj uvodnoj riječi na nedavnom Satelitskom događaju GitHub-a, izvršni direktor Nat Friedman rekao je: "U doba socijalnog distanciranja ljudi se okreću socijalnom kodiranju." Radimo od kuće, koristeći alate ugrađene u GitHub kako bismo nadomjestili praznine u našem tijeku rada koje su nekad bile popunjene interakcijama s kolegama. Alati kao što je GitHub postali su više od mjesta koje pohranjujemo i dijelimo kod. Oni su sada naša virtualna radna mjesta, koja obuhvaćaju više naših razvojnih tijekova.

Zanimljiv je odnos GitHub-a i Microsofta. Microsoft je vlasnik GitHub-a, ali on se vodi kao zaseban entitet s vrlo malo kontakata između dviju organizacija. To je podjela koja ima smisla, jer uloga GitHub-a kao globalnog spremišta za vlasnički softver i softver otvorenog koda zahtijeva da bude neutralno središte - Ujedinjeni narodi softvera. To je omogućilo GitHubu da nastavi raditi na vlastitoj infrastrukturi, izgrađenoj na vlastitim alatima i tehnologijama. U međuvremenu je Microsoft povećao ovisnosti o GitHubu, gradeći vlastite alate na GitHubovom Electron okviru i koristeći GitHub u vlastitim razvojnim procesima.

Izgradite ga u GitHub Codespacesu

Zanimljivo je vidjeti kako GitHub gradi jednu od svojih najnovijih značajki povrh Microsoftove tehnologije (iako onu s jakim temeljima otvorenog koda). Microsoft je nedavno promijenio ime svog razvojnog okruženja smještenog u oblaku Visual Studio Online u Visual Studio Codespaces, a Satellite je vidio da je GitHub lansirao sličan proizvod pod istim imenom.

Važno je napomenuti da, iako su i Visual Studio Codespaces i GitHub Codespaces izgrađeni na vrhu Microsoftovog uređivača Visual Studio Code, oni su vrlo različiti proizvodi. Kako Visual Studio Code koristi GitHub-ov Electron, to je TypeScript aplikacija. To olakšava prijenos na web i moderne web preglednike, s uređivačem koda Monako s otvorenim kodom. Microsoft koristi Codespaces kao način da proširi vaše okruženje za razvoj radne površine u oblak i podijeli ga s ad hoc suradnicima. GitHub se prema prostorima koda odnosi sasvim drugačije, dajući vam uređivačko okruženje koje je hostirano u pregledniku kao dio spremišta koda.

Ideja koja stoji iza GitHub Codespaces jest omogućiti suradnicima pristup kodu dok se on mijenja, gdje god se oni nalazili: pregled koda, rad s poteškoćama ili pregled koda koji je poslan sa zahtjevom za povlačenjem. To je način da brzo uđete u spremište za uređivanje koda ako imate besplatnu minutu i moderan web preglednik. Ako više volite koristiti uređivač, proširenje Visual Studio Codespaces za VS Code također će raditi s GitHub Codespaces.

Izgradnja okruženja za razvoj oblaka u GitHub Codespaces daje vam mogućnost definiranja zadanih resursa koje uređivač koristi kao dio spremišta, koristeći poznate dotfilove. Korisnici mogu imati vlastite konfiguracije koje se učitavaju iz njihovog profila. Postoji podrška za postojeći model proširenja VS Code i Visual Studio Code Marketplace, tako da možete instalirati proširenja potrebna za rad s određenim projektom. Ako radite s aplikacijom Go, možete instalirati odgovarajuća proširenja Go. Isto za Rust, C # i Flutter; okruženje GitHub Codespaces fleksibilno je kao i sam Code.

Da bi se stvari ubrzale, GitHub nudi spremište unaprijed konfiguriranih verzija spremnika Codespaces, s instancama za Node, Go, .NET Core, C ++ i druge. To uključuje alate za izgradnju i otklanjanje pogrešaka u kodu koji se izvode u spremniku Codespaces. Isporukom cijelog lanca alata u spremniku možete učiniti puno više od uređivanja koda, na primjer testiranje i provjeru promjena prije spajanja zahtjeva za povlačenjem.

Svaki uređivač Codespaces imat će verziju proširenja VS Code GitHub za pomoć u upravljanju problemima i povlačenju zahtjeva, kao i za rad s više grana vašeg koda. Možete klonirati spremišta, radeći sa poznatim Git tijekom rada. Codespaces ima prostora za rad s privatnim spremištima, ali beta će podržavati samo osobna i javna spremišta. Ako koristite GitHub Enterprise, možete koristiti druge alate za rad sa svojim kodom; možda čak i Visual Studio Codespaces.

GitHub Codespaces treba puno resursa za pokretanje, a iako je usluga besplatna tijekom beta verzije, vjerojatno će biti značajka uz naplatu nakon pokretanja. Svaka instanca zahtijeva spremnik za smještaj jezičnih poslužitelja Visual Studio Code. Korisničko sučelje nalazi se u vašem pregledniku, ali velik dio teškog dizanja potreban za pokretanje razvojnih alata VS koda mora se izvesti u spremniku Codespaces. S obzirom da milijuni programera koji koriste GitHub i svaki spremnik Codespaces zahtijevaju dvije jezgre i 4 GB memorije, upotreba bi se mogla brzo zbrojiti. Međutim, GitHub planira ponuditi cijene uz naplatu, koje bi troškove trebale svesti na minimum.

Raspravite o tome u GitHub Discussions 

Uređivanje u oblaku samo je dio GitHub-ove proširene priče o društvenom kodiranju. Mnogo nedavnog rada GitHub-a olakšava održavanje projektima da rade sa zajednicom koja se spojila oko njihovog koda. Iako je Slack ili druge platforme za suradnju moguće imati kao dio kombiniranog tijeka rada, projekti otvorenog koda često nisu u mogućnosti platiti planove koji im omogućuju arhiviranje rasprava. Razdvajanje razgovora i koda otežava pružanje izravnih veza između njih dvoje, i premda komentari i problemi unutar GitHub-a nude jedan od načina povezivanja, oni su i dalje puno formalniji od većine društvenih medija.

Satellite je lansirao GitHub Discussions, način ugradnje navojanih razgovora unutar spremišta. Podsjećajući pomalo na stare školske Usenet grupe vijesti, koristan su način za izgradnju suradničke dokumentacije oko projekta. Stack Overflow koristi takvu strukturu, ali razgovori su slobodnijeg oblika s mogućnošću glasovanja za sadržaj, kao i izravne veze do svakog elementa rasprave. Održavači mogu koristiti veze za unošenje sadržaja iz Rasprava u druge dokumente, tako da se element Rasprave može povezati s problemom kako bi se omogućio daljnji razgovor.

Upravljanje razgovorom je važno, a održavatelji imaju mogućnost zaključavanja rasprava kada korisni razgovor završi. Pristup zasnovan na ulogama može kontrolirati razgovore, na primjer, pružajući raspravu koju svi mogu pročitati, ali samo odobreni suradnici mogu je objaviti. Ako Diskusije mogu ispuniti svoja obećanja kao usredotočeni, relevantan prostor za suradnju oko koda i dokumentacije, trebalo bi uvelike pomoći razvojnim programerima da rade na GitHubu bez prebacivanja konteksta između aplikacija i gubitka fokusa, kao i izbjegavanja dugih razgovora zbog klimavih , nesigurne video veze.

Daljinska suradnja nije jednostavna, stoga je važno da web mjesta orijentirana na zajednicu, poput GitHub, nude što više različitih alata i usluga, s ciljem olakšavanja zajedničkog rada, bez obzira gdje i kako radite. GitHub Codespaces i GitHub Discussions čine se važnim koracima na tom putu, a bit će zanimljivo vidjeti kako se koriste.