Ohjelmointi

Pilvien IDE-ampuma: AWS Cloud9 vs. Eclipse Che vs. Eclipse Theia

Uuden kehittäjän tuominen moniin riippuvuuksiin perustuvaan ohjelmointiprojektiin voi joskus olla painajainen. Olen nähnyt äärimmäisen tapauksen, jossa yritys lopulta luopui ja osti kehittäjälle uuden tietokoneen, kun kuukauden ongelmat yrittivät konfiguroida vanhaa. Yleisemmin uuden kehitysympäristön luominen uudelle kehittäjälle voi kestää kolmesta päivästä kahteen viikkoon.

Tämä asia on yksi motivaatio web-pohjaisten kehittäjien työtiloista. Toinen motivaatio on, että paikallisen kehityksen koneet tarvitsevat merkittäviä suorittimen ja RAM-resursseja, mikä lisää laitteistokustannuksia; näiden resurssien avulla kehittäjä voi rakentaa projektin nopeasti. Tietokoneet, jotka käyttävät verkkopohjaisia ​​työtiloja, voivat päästä eroon alemman tason laitteistoista kuin tietokoneet paikalliseen kehittämiseen.

Lisäetuna verkkopohjaiset kehittäjien työtilat voivat keskittää ja standardoida kokoonpanon. Kuinka monta kertaa olet kuullut "Se toimii koneellani" vastauksena virheraporttiin? Standardoidut ympäristöt voivat poistaa ongelman.

Tässä artikkelissa keskustelen kolmesta pilvi-IDE: stä, jotka tarjoavat verkkopohjaisia ​​kehittäjien työtiloja. Kaksi niistä - Eclipse Theia ja Eclipse Che - ovat melko tuoreita avoimen lähdekoodin projekteja, jotka ovat tällä hetkellä Eclipse Foundationin suojeluksessa. Kolmas - AWS Cloud9 - on vanhempi tuote, jonka omistaa nyt Amazon Web Services ja integroitu siihen.

Pimennys Theia

Eclipse Theia on avoimen lähdekoodin projekti, joka tarjoaa Visual Studio Code -kehityskokemuksen selaimessa; se voi toimia myös työpöydällä Electron-kuoressa. Theia luottaa Visual Studio Code's Language Server Protocoliin tarjoamaan kielikohtaisen koodin täydennyksen ja muut ominaisuudet, joita odotamme modernissa koodieditorissa.

Koska Theialla on mahdollisuus hyödyntää Visual Studio -koodiin kirjoitettuja kielipalvelimia, sillä on pääsy yli 60 käytettävissä olevaan kielipalvelimeen, mukaan lukien JavaScript, Java, Python ja TypeScript. Theia tukee myös virheenkorjaussovitinprotokollaa.

Theia itse on kirjoitettu TypeScript-muodossa ja käyttää PhosphorJS: ää kuoren ja vedettävien telakointiasemien perustana. Se integroi päätelaitteen, joka muodostaa yhteyden uudelleen selaimen uudelleenlataukseen ylläpitääkseen komentorivihistoriaa. Voit halutessasi luoda omia laajennuksia Theialle.

Theiaa voi kokeilla kolmella tavalla. Yksi on ajaa se Dockerissa:

telakointiajo -it -p 3000: 3000 -v “$ (pwd): / home / project: cached” theiaide / theia: seuraava

Toinen on ajaa se Gitpodissa (katso sivupalkki ja kuvakaappaus alla). Kolmas on ajaa Eclipse Che -versio 7 tai uudempi (katso seuraava osa), joka käyttää Theiaa käyttöliittymänä Chen vanhemmissa versioissa käytetyn Java-käyttöliittymän sijaan.

Eclipse Theia -projekti sisältää TypeFoxin, Ericssonin, Red Hatin, IBM: n, Googlen ja ARM: n julkaisuja. Projektin tiekartta sisältää laajennusjärjestelmän, joka tukee VS-koodilaajennuksia (kielipalvelimien ulkopuolella), integrointia testauskehyksiin ja muita parannuksia.

TypeFox Gitpod

Gitpod on kaupallinen isännöity ympäristö (katso yllä oleva kuvakaappaus), joka on suunniteltu avaamaan GitHub-arkistot työtiloissa. Gitpod IDE on avoimen lähdekoodin ja perustuu Eclipse Theiaan. Tällä hetkellä ilmaisessa beetatestivaiheessa Gitpod on aina ilmainen avoimen lähdekoodin projekteille, mutta edellyttää lopulta tilausta yksityisten arkistojen avaamiseen ja käyttämiseen yli 100 tuntia kuukaudessa.

Gitpod.io-pilvi toimii tällä hetkellä useissa Kubernetes-klustereissa, joita isännöi Google Cloud -infrastruktuuri kolmella eri alueella ympäri maailmaa. Gitpod-tuote on saatavana myös yksityiseen ylläpitoon.

Eclipse Che

Eclipse Che on avoimen lähdekoodin kehittäjien työtilapalvelin ja pilvi-IDE, joka on suunniteltu tiimeille ja organisaatioille. Tällä hetkellä beetaversiossa oleva Che-versio 7 käyttää Eclipse Theiaa IDE: n perustana. Chen vanhemmat versiot käyttävät GWT-pohjaista IDE: tä. Che-työtilat toimivat Dockerin, OpenShiftin tai Kubernetesin säiliöissä.

Voit suorittaa Chen julkisessa pilvessä, yksityisessä pilvessä tai asentaa sen mihin tahansa käyttöjärjestelmään. Che on testattu Ubuntu, Linux, MacOS ja Windows. Voit suorittaa Chen myös itsepalvelutyötilassa, joka on isännöity osoitteessa //che.openshift.io/, johon sinulla on oltava ilmainen OpenShift- tai Red Hat -kirjautuminen tai luot ne.

Lisäksi Eclipse Che sisältää Red Hat CodeReady Workspacesin, OpenShiftin uuden kehitysympäristön, ytimen. Red Hatin tukemien lisäksi CodeReady Workspaceissa on valmiiksi rakennettuja pinoja tuetuilla Red Hat -tekniikoilla, ja niihin sisältyy Red Hat SSO -palvelu, joka käsittelee todennuksen ja tietoturvan kehittäjien välillä.

Eclipse Che -hankkeeseen osallistuu yli 20 yritystä, mukaan lukien CodeEnvy (Chen alkuperäinen kehittäjä), Docker, IBM, Red Hat ja TypeFox. Che-etenemissuunnitelma sisältää Theian integraation viimeistelyn sekä Theian ja Chen laajennusjärjestelmät.

AWS-pilvi9

Cloud9 IDE, jonka mainitsin Go IDE: ksi vuonna 2017, kuuluu nyt Amazon Web Services -palveluun. Sen lisäksi, että Cloud9: llä on selainpohjainen, monikielinen koodieditori, useiden kielten virheenkorjaajat ja päätelaite, jolla on ennakkolupa AWS-palveluille, Cloud9 sallii nyt myös yhteistyökoodauksen.

Voit ajaa Cloud9-kehitysympäristöjä hallituissa Amazon EC2 -esiintymissä tai missä tahansa Linux-palvelimessa, joka tukee SSH: ta. Cloud9 sisältää työkalut yli 40 ohjelmointikielelle, vaikka vain viidellä on virheenkorjausohjelmia, seitsemällä on nukkausta ja 12: lla on koodin viimeistely.

Jos suoritat Cloud9: n EC2: lla, EC2-ilmentymä pysähtyy automaattisesti, kun suljet Cloud9: n, oletuksena 30 minuutin kuluttua, ja koodisi pysyy Amazon EBS -muistissa. Jos suoritat Cloud9: n omalla Linux-palvelimellasi, koodi pysyy paikallisessa tallennustilassa. Jos käynnistät Cloud9: n uudelleen sen jälkeen, kun sen taustalla oleva ilmentymä on pysähtynyt, Cloud9 käynnistää ilmentymän automaattisesti uudelleen ja palauttaa muokkausistunnon siitä, mihin jäit.

Voit helposti täyttää Cloud9-ilmentymän arkistosta tai paikallisista tiedostoista. Alla olevassa kuvakaappauksessa käytin Gitiä Cloud9-komentoriviltä tarkistaaksesi GerasHub-arkiston Kerasille. Jos muokkaat projektia sellaisen arkiston perusteella, jolle sinulla on sitoutumisoikeus, voit päivittää repon ja vetää tarvittavat muutokset komentoriviltä. Cloud9: llä ei ole graafista tukea versionhallintaan.

Huomaa alla olevan kuvakaappauksen oikealla puolella oleva ääriviivanäkymä, joka toimii hyvin tiedostojen bruttomuodossa. Vasemmassa yläkulmassa näkyvä Go-valikko toimii hienosti yleisempää navigointia varten. Cloud9: ssä ei ole uudelleenrakennustoimintoja, vaikka koodin muotoilu on yksinkertaista.

AWS Cloud9 on integroitu Amazon Lightsailiin, AWS CodeStariin, AWS Lambda -toimintoihin ja AWS CodePipelineen. Lambda-integraatio näyttää olevan erityisen hyvä.

Mikä pilvi IDE?

Eclipse Theian, Eclipse Chen ja AWS Cloud9: n avulla voit muokata ja virittää koodia useilla ohjelmointikielillä selaimella. Asettelussa ja toiminnallisuudessa on eroja, mutta ei tarpeeksi väliä, ellet halua saavuttaa jotain melko edistynyttä, kuten refaktorointia.

Cloud9 on erityisen hyvä valinta, jos työskentelet AWS-projektien kanssa, ja Che on erityisen hyvä valinta (kuten CodeReady), jos työskentelet Red Hat -järjestelmien koodin parissa. Theia tarjoaa mukavimman muokkausympäristön näistä kolmesta, mutta kun Che 7 tulee ulos beta-versiosta, sillä on myös Theia IDE.