Programiranje

Izstrelitev v oblaku IDE: AWS Cloud9 proti Eclipse Che proti Eclipse Theia

Pripeti novega razvijalca k programskemu projektu z veliko odvisnostmi je včasih lahko nočna mora. Videl sem skrajni primer, ko je podjetje končno odnehalo in razvijalcu kupilo nov računalnik po enem mesecu težav pri poskusu konfiguriranja njegovega starega. Pogosteje lahko postavitev novega razvojnega okolja za novega razvijalca traja od treh dni do dveh tednov.

To vprašanje je ena od motivacij za delovne prostore spletnih razvijalcev. Druga motivacija je, da stroji za lokalni razvoj potrebujejo znatna sredstva CPU in RAM, kar poveča stroške strojne opreme; ti viri omogočajo razvijalcu, da projekt hitro zgradi. Računalniki za dostop do spletnih delovnih prostorov se lahko izognejo strožji strojni opremi kot računalniki za lokalni razvoj.

Kot dodatno prednost lahko spletni prostori za razvijalce centralizirajo in standardizirajo konfiguracijo. Kolikokrat ste kot odziv na poročilo o napaki slišali "V mojem računalniku deluje"? Standardizirana okolja lahko to težavo odpravijo.

V tem članku bom obravnaval tri IDE-je v oblaku, ki ponujajo delovne prostore za spletne razvijalce. Dva izmed njih - Eclipse Theia in Eclipse Che - sta dokaj nedavna odprtokodna projekta, ki sta trenutno pod okriljem fundacije Eclipse. Tretji - AWS Cloud9 - je starejši izdelek, ki je zdaj v lasti in je integriran s spletnimi storitvami Amazon.

Eclipse Theia

Eclipse Theia je odprtokodni projekt za zagotavljanje izkušenj z razvojem kode Visual Studio v brskalniku; lahko deluje tudi na namizju v lupini Electron. Theia se zanaša na jezikovni strežniški protokol kode Visual Studio za zagotavljanje dokončanja jezikovne kode in druge funkcije, ki jih pričakujemo v sodobnem urejevalniku kod.

Ker lahko izkorišča jezikovne strežnike, napisane za Visual Studio Code, ima Theia dostop do več kot 60 razpoložljivih jezikovnih strežnikov, vključno z JavaScript, Java, Python in TypeScript. Theia podpira tudi protokol za odpravljanje napak.

Theia je napisana v TypeScript-u in uporablja PhosphorJS kot temelj za svojo lupino in postavitve doka, ki jih je mogoče povleči. Vključuje terminal, ki se ob ponovnem nalaganju brskalnika znova poveže, da ohrani zgodovino ukazne vrstice. Če želite, lahko ustvarite lastne razširitve Theia.

Obstajajo trije glavni načini, kako preizkusiti Theio. Eno je zagnati v Dockerju:

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

Drugi je, da ga zaženete v Gitpodu (glejte stransko vrstico in posnetek zaslona spodaj). Tretji je zagon programa Eclipse Che različice 7 ali novejše (glejte naslednji razdelek), ki uporablja Theia kot svoj uporabniški vmesnik namesto uporabniškega vmesnika Java, ki se uporablja v starejših različicah Che.

Projekt Eclipse Theia vključuje prispevke TypeFox, Ericsson, Red Hat, IBM, Google in ARM. Načrt projekta vključuje vtični sistem za podporo razširitev kode VS (poleg jezikovnih strežnikov), integracijo s testnimi okviri in druge izboljšave.

TipFox Gitpod

Gitpod je komercialno gostovano okolje (glej zgornji posnetek zaslona), zasnovano za odpiranje skladišč GitHub v delovnih prostorih. Gitpod IDE je odprtokoden in temelji na Eclipse Theia. Trenutno je v fazi brezplačnega preskusa beta Gitpod vedno brezplačen za odprtokodne projekte, vendar bo sčasoma zahteval naročnino na odpiranje zasebnih skladišč in uporabo več kot 100 ur na mesec.

Oblak Gitpod.io trenutno deluje v več grozdih Kubernetes, ki jih gosti infrastruktura Google Cloud v treh različnih regijah po vsem svetu. Izdelek Gitpod je na voljo tudi za zasebno gostovanje.

Eclipse Che

Eclipse Che je odprtokodni strežnik delovnega prostora za razvijalce in IDE v oblaku, zasnovan za ekipe in organizacije. Različica Che, ki je trenutno v različici beta, uporablja Eclipse Theia kot osnovo svojega IDE. Starejše različice Che uporabljajo IDE, ki temelji na GWT. Delovni prostori Che delujejo v vsebnikih v Dockerju, OpenShift ali Kubernetes.

Che lahko zaženete v javnem oblaku, zasebnem oblaku ali ga namestite v kateri koli operacijski sistem. Che je bil preizkušen na Ubuntu, Linux, MacOS in Windows. Che lahko zaženete tudi v samopostrežnem delovnem prostoru, ki gostuje na //che.openshift.io/, za kar boste morali imeti ali ustvariti brezplačno prijavo v OpenShift ali Red Hat.

Poleg tega Eclipse Che vsebuje jedro Red Hat CodeReady Workspaces, novega razvojnega okolja za OpenShift. Poleg tega, da ga podpira Red Hat, ima CodeReady Workspaces že vgrajene sklade s podprtimi tehnologijami Red Hat in vključuje Red Hat SSO, ki skrbi za preverjanje pristnosti in varnost med skupinami razvijalcev.

Projekt Eclipse Che vključuje prispevke več kot 20 podjetij, med njimi CodeEnvy (prvotni razvijalec Che), Docker, IBM, Red Hat in TypeFox. Načrt Che vključuje zaključek integracije Theia in vtičnih sistemov za Theia in Che.

AWS Cloud9

ID9 Cloud9, ki sem ga leta 2017 omenil kot Go IDE, zdaj pripada Amazon Web Services. Poleg tega, da ima večjezični urejevalnik kod, brskalnik, razhroščevalnike za več jezikov in terminal, ki je predhodno pooblaščen za storitve AWS, zdaj Cloud9 omogoča tudi skupno kodiranje.

Razvojna okolja Cloud9 lahko zaženete na upravljanih primerkih Amazon EC2 ali katerem koli strežniku Linux, ki podpira SSH. Cloud9 vključuje orodja za več kot 40 programskih jezikov, čeprav ima le pet razhroščevalnike, sedem povezovanje in 12 dokončanje kode.

Če zaženete Cloud9 na EC2, se bo primerek EC2 samodejno ustavil, ko zaprete Cloud9, privzeto po 30 minutah in vaša koda ostane v shrambi Amazon EBS. Če Cloud9 zaženete na svojem Linux strežniku, bo koda ostala v lokalnem pomnilniku. Če Cloud9 znova zaženete, ko se osnovni primerek ustavi, bo Cloud9 samodejno znova zagnal primerek in obnovil sejo urejanja, kjer ste končali.

Primerek Cloud9 lahko enostavno zapolnite iz skladišča ali iz lokalnih datotek. Na spodnjem posnetku zaslona sem uporabil Git iz ukazne vrstice Cloud9 za pregled skladišča GitHub za Keras. Če urejate projekt, ki temelji na repozitoriju, za katerega imate dovoljenje za odobritev, lahko repo posodobite in po potrebi povlečete spremembe iz ukazne vrstice. Cloud9 nima grafične podpore za nadzor različic.

Upoštevajte orisni pogled na desni strani spodnjega posnetka zaslona, ​​ki je primeren za grobo navigacijo znotraj datoteke. Meni Go, prikazan zgoraj levo, lepo deluje za bolj splošno navigacijo. V Cloud9 ni funkcije preoblikovanja, čeprav obstaja preprosto preoblikovanje kode.

AWS Cloud9 je integriran z Amazon Lightsail, AWS CodeStar, funkcijami AWS Lambda in AWS CodePipeline. Zdi se, da je integracija Lambda še posebej dobra.

Kateri IDE v oblaku?

Eclipse Theia, Eclipse Che in AWS Cloud9 vam omogočajo urejanje in odpravljanje napak v več programskih jezikih iz brskalnika. Razlike so v postavitvi in ​​funkcionalnosti, vendar ne dovolj, da bi bile pomembne, razen če želite narediti nekaj dokaj naprednega, na primer refaktoring.

Cloud9 je še posebej dobra izbira, če delate na projektih AWS, Che pa je še posebej dobra izbira (kot CodeReady), če delate s kodo za sisteme Red Hat. Theia ponuja najlepše urejevalno okolje izmed treh, a ko bo Che 7 izstopil iz beta, bo imel tudi Theia IDE.

$config[zx-auto] not found$config[zx-overlay] not found