Izbacivanje iz IDE-a u oblaku: AWS Cloud9 protiv Eclipse Che protiv Eclipse Theia

Dovođenje novog programera na programski projekt s mnogo ovisnosti ponekad može biti noćna mora. Vidio sam ekstreman slučaj da je tvrtka napokon odustala i kupila programeru novo računalo nakon mjesec dana problema s pokušajem konfiguriranja njegovog starog. Češće postavljanje novog razvojnog okruženja za novog programera može potrajati između tri dana i dva tjedna.

To je pitanje jedna od motivacija za radne prostore za programere zasnovane na webu. Druga motivacija je da strojevi za lokalni razvoj trebaju značajne CPU i RAM resurse, što povećava troškove hardvera; ti resursi omogućuju programeru da ekspeditivno izgradi projekt. Računala za pristup mrežnim radnim prostorima mogu se riješiti nižeg hardvera od računala za lokalni razvoj.

Kao dodatnu prednost, radni prostori za web programere mogu centralizirati i standardizirati konfiguraciju. Koliko ste puta čuli "Radi na mom stroju" kao odgovor na prijavu greške? Standardizirana okruženja mogu ukloniti taj problem.

U ovom ću članku razgovarati o tri IDE-a u oblaku koji pružaju web-programere za razvojne programere. Dvije od njih - Eclipse Theia i Eclipse Che - prilično su nedavni projekti s otvorenim kodom koji su trenutno pod pokroviteljstvom Eclipse Foundation. Treći - AWS Cloud9 - stariji je proizvod koji je sada u vlasništvu i integriran s Amazon Web Services.

Pomrčina Theia

Eclipse Theia je projekt otvorenog koda za pružanje iskustva razvoja Visual Studio Code u pregledniku; može se izvoditi i na radnoj površini u ljusci Electron. Theia se oslanja na Visual Studio Code's Language Server Protocol kako bi pružio dovršavanje koda specifičnog za jezik i ostale značajke koje očekujemo u modernom uređivaču koda.

Budući da može iskoristiti jezične poslužitelje napisane za Visual Studio Code, Theia ima pristup više od 60 dostupnih jezičnih poslužitelja, uključujući JavaScript, Java, Python i TypeScript. Theia također podržava protokol za ispravljanje pogrešaka.

Sama Theia napisana je TypeScript-om i koristi PhosphorJS kao temelj svoje ljuske i rasporeda dokova koji se mogu povući. Integrira terminal koji se ponovno spaja prilikom ponovnog učitavanja preglednika radi održavanja povijesti naredbenog retka. Ako želite, možete stvoriti vlastita proširenja za Theia.

Tri su glavna načina da isprobate Theia. Jedno je pokrenuti ga u Dockeru:

docker pokreni -it -p 3000: 3000 -v “$ (pwd): / home / project: cached” theiaide / theia: next

Druga je pokretanje u Gitpodu (vidi bočnu traku i snimak zaslona u nastavku). Treće je pokretanje Eclipse Che verzije 7 ili novije (pogledajte sljedeći odjeljak), koje koristi Theia kao svoje korisničko sučelje umjesto Java korisničkog sučelja korištenog u starijim verzijama Chea.

Projekt Eclipse Theia uključuje doprinose TypeFox, Ericsson, Red Hat, IBM, Google i ARM. Mapa projekta uključuje dodatak za podršku proširenjima VS koda (izvan jezičnih poslužitelja), integraciju s okvirima za testiranje i druga poboljšanja.

TipFox Gitpod

Gitpod je komercijalno hostirano okruženje (vidi gornju snimku zaslona) dizajnirano za otvaranje GitHub spremišta u radnim prostorima. Gitpod IDE je otvorenog koda i zasnovan je na Eclipse Theia. Trenutno u fazi besplatnog beta-testiranja, Gitpod će uvijek biti besplatan za projekte otvorenog koda, ali na kraju će trebati pretplatu za otvaranje privatnih spremišta i za upotrebu više od 100 sati mjesečno.

Oblak Gitpod.io trenutno se izvodi u više klastera Kubernetes hostiranih na Google Cloud infrastrukturi u tri različite regije širom svijeta. Proizvod Gitpod dostupan je i za privatni hosting.

Eclipse Che

Eclipse Che je poslužitelj radnog prostora za razvojne programere otvorenog koda i IDE u oblaku dizajniran za timove i organizacije. Che verzija 7, trenutno u beta verziji, koristi Eclipse Theia kao osnovu svog IDE-a. Starije verzije Chea koriste IDE zasnovan na GWT-u. Che radni prostori rade u spremnicima na Dockeru, OpenShiftu ili Kubernetesu.

Che možete pokrenuti u javnom oblaku, privatnom oblaku ili ga instalirati na bilo koji operativni sustav. Che je testiran na Ubuntuu, Linuxu, MacOS-u i Windowsima. Također možete pokrenuti Che u samoposlužnom radnom prostoru hostiranom na //che.openshift.io/, za koji ćete morati imati ili stvoriti besplatnu prijavu na OpenShift ili Red Hat.

Uz to, Eclipse Che sadrži jezgru Red Hat CodeReady Workspaces, novog razvojnog okruženja za OpenShift. Osim što ih Red Hat podržava, CodeReady Workspaces imaju unaprijed izgrađene hrpe s podržanim Red Hat tehnologijama i uključuju Red Hat SSO za obradu provjere autentičnosti i sigurnosti između razvojnih timova.

Projekt Eclipse Che uključuje doprinose više od 20 tvrtki, uključujući CodeEnvy (izvorni programer Chea), Docker, IBM, Red Hat i TypeFox. Mapa Chea uključuje završetak integracije Theia i plug-in sustava za Theia i Che.

AWS Cloud9

Cloud9 IDE, kojeg sam spomenuo kao Go IDE 2017. godine, sada pripada Amazon Web Services. Osim što ima višejezični uređivač koda na temelju preglednika, programe za otklanjanje pogrešaka za nekoliko jezika i terminal koji je unaprijed autoriziran za AWS usluge, Cloud9 sada omogućuje zajedničko kodiranje.

Možete pokrenuti razvojna okruženja Cloud9 na upravljanim instancama Amazon EC2 ili bilo kojim Linux poslužiteljima koji podržavaju SSH. Cloud9 uključuje alate za više od 40 programskih jezika, iako samo pet ima programe za otklanjanje pogrešaka, sedam s povezivanjem i 12 s dovršenjem koda.

Ako pokrenete Cloud9 na EC2, instanca EC2 zaustavit će se automatski nakon što zatvorite Cloud9, prema zadanim postavkama nakon 30 minuta, a vaš će kôd trajati u Amazon EBS pohrani. Ako pokrenete Cloud9 na vlastitom Linux poslužitelju, kôd će se zadržati u lokalnoj pohrani. Ako ponovo pokrenete Cloud9 nakon što je osnovna instanca zaustavljena, Cloud9 će automatski ponovo pokrenuti instancu i vratiti vašu sesiju uređivanja tamo gdje ste stali.

Instancu Cloud9 možete lako popuniti iz spremišta ili iz lokalnih datoteka. Na donjoj snimci zaslona koristio sam Git iz naredbenog retka Cloud9 za provjeru spremišta GitHub za Keras. Ako uređujete projekt na temelju spremišta za koje imate odobrenje za urezivanje, možete ažurirati repo i povući promjene po potrebi iz naredbenog retka. Cloud9 nema grafičku podršku za kontrolu verzija.

Obratite pažnju na okvirni prikaz s desne strane snimke zaslona u nastavku, koji dobro funkcionira za brzu navigaciju unutar datoteke. Izbornik Go prikazan u gornjem lijevom dijelu lijepo djeluje za općenitiju navigaciju. U Cloud9 ne postoji funkcija refaktoriranja, iako postoji jednostavno preoblikovanje koda.

AWS Cloud9 integriran je s Amazon Lightsail, AWS CodeStar, AWS Lambda funkcijama i AWS CodePipeline. Čini se da je Lambda integracija posebno dobra.

Koji IDE oblaka?

Eclipse Theia, Eclipse Che i AWS Cloud9 omogućuju vam uređivanje i uklanjanje pogrešaka u više programskih jezika iz preglednika. Postoje razlike u rasporedu i funkcionalnosti, ali nedovoljne da bi bile bitne ako ne želite postići nešto prilično napredno, poput refaktoriranja.

Cloud9 je posebno dobar izbor ako radite na AWS projektima, a Che je posebno dobar izbor (kao CodeReady) ako radite na kodu za Red Hat sustave. Theia pruža najljepše uređivačko okruženje od ove tri, ali kad Che 7 izađe iz beta verzije, imat će i Theia IDE.