Programavimas

„Cloud IDE“ šaudymas: „AWS Cloud9“ prieš „Eclipse Che“ ir „Eclipse Theia“

Naujo kūrėjo įtraukimas į programavimo projektą, kuriame yra daug priklausomybių, kartais gali būti košmaras. Mačiau kraštutinį atvejį, kai įmonė pagaliau atsisakė ir kūrėjui nusipirko naują kompiuterį po mėnesio problemų, bandančių sukonfigūruoti jo senąjį. Paprastai naujos kūrėjo aplinkos kūrimas gali užtrukti nuo trijų dienų iki dviejų savaičių.

Ši problema yra viena iš žiniatinklio kūrėjų darbo vietų motyvų. Kita motyvacija yra ta, kad vietos plėtros mašinoms reikia didelių procesoriaus ir RAM išteklių, o tai padidina aparatūros kainą; šie ištekliai leidžia kūrėjui greitai sukurti projektą. Kompiuteriai, skirti patekti į internetines darbo sritis, gali išsivystyti iš žemesnės klasės aparatūros nei kompiuteriai, skirti vietos plėtrai.

Kaip papildomą naudą žiniatinklio kūrėjų darbo vietos gali centralizuoti ir standartizuoti konfigūraciją. Kiek kartų girdėjote „Tai veikia mano kompiuteryje“, atsakydamas į pranešimą apie klaidą? Standartizuota aplinka gali pašalinti šią problemą.

Šiame straipsnyje aptarsiu tris debesies IDE, kurios teikia žiniatinklio kūrėjų darbo sritis. Du iš jų - „Eclipse Theia“ ir „Eclipse Che“ yra gana neseniai vykdomi nemokami atvirojo kodo projektai, šiuo metu globojami „Eclipse“ fondo. Trečiasis - „AWS Cloud9“ - yra senesnis produktas, kuris dabar priklauso „Amazon Web Services“ ir yra su jais integruotas.

Užtemimas Teija

„Eclipse Theia“ yra atviro kodo projektas, skirtas naršyklėje teikti „Visual Studio Code“ kūrimo patirtį; jis taip pat gali veikti darbalaukyje „Electron“ apvalkale. „Theia“ remiasi „Visual Studio Code“ kalbos serverio protokolu, kad suteiktų konkrečios kalbos kodo užbaigimą ir kitas funkcijas, kurių tikimės šiuolaikiniame kodų redaktoriuje.

Kadangi „Theia“ gali pasinaudoti „Visual Studio Code“ parašytų kalbos serverių teikiamais pranašumais, „Theia“ turi prieigą prie daugiau nei 60 galimų kalbos serverių, įskaitant „JavaScript“, „Java“, „Python“ ir „TypeScript“. Theia taip pat palaiko derinimo adapterio protokolą.

Pati Theia yra parašyta „TypeScript“ ir naudoja „PhosphorJS“ kaip pagrindą savo apvalkalui ir tempiamiems dokų išdėstymams. Jame integruotas terminalas, kuris iš naujo prisijungia prie naršyklės įkrovimo, kad būtų išsaugota komandinės eilutės istorija. Jei norite, galite patys sukurti „Theia“ plėtinius.

Yra trys pagrindiniai „Theia“ išbandymo būdai. Vienas yra paleisti jį „Docker“:

„docker run“ - tai -p 3000: 3000 -v „$ (pwd): / home / project: cached“ theiaide / theia: kitas

Antrasis yra paleisti jį „Gitpod“ (žr. Šoninę juostą ir ekrano kopiją žemiau). Trečiasis - paleisti „Eclipse Che“ 7 ar naujesnę versiją (žr. Kitą skyrių), kurioje „Theia“ naudojama kaip vartotojo sąsaja, o ne „Java“ sąsaja, naudojama senesnėse „Che“ versijose.

„Eclipse Theia“ projektas apima „TypeFox“, „Ericsson“, „Red Hat“, IBM, „Google“ ir ARM indėlį. Projekto plane yra papildinių sistema, palaikanti „VS Code“ plėtinius (ne tik kalbos serveriuose), integracija su testavimo sistemomis ir kiti patobulinimai.

„TypeFox Gitpod“

„Gitpod“ yra komercinė talpinama aplinka (žr. Viršuje pateiktą ekrano kopiją), skirta „GitHub“ saugykloms atidaryti darbo vietose. „Gitpod IDE“ yra atviro kodo ir paremta „Eclipse Theia“. Šiuo metu nemokamo beta testavimo etape „Gitpod“ visada bus nemokama atvirojo kodo projektams, tačiau galiausiai reikės prenumeratos atidaryti privačias saugyklas ir naudoti daugiau nei 100 valandų per mėnesį.

Šiuo metu „Gitpod.io“ debesys veikia keliuose „Kubernetes“ klasteriuose, priglobtuose „Google Cloud“ infrastruktūroje trijuose skirtinguose pasaulio regionuose. „Gitpod“ produktas taip pat yra prieinamas privačiam prieglobai.

Užtemimas Che

„Eclipse Che“ yra komandoms ir organizacijoms skirtas atvirojo kodo kūrėjų darbo vietos serveris ir debesies IDE. Šiuo metu beta versijoje esanti „Che“ versija naudoja „Eclipse Theia“ kaip savo IDE pagrindą. Senesnėse „Che“ versijose naudojamas GWT pagrįstas IDE. „Che“ darbo vietos veikia „Docker“, „OpenShift“ arba „Kubernetes“ talpyklose.

„Che“ galite paleisti viešajame debesyje, privačiame debesyje arba įdiegti bet kurioje operacinėje sistemoje. Che buvo išbandytas naudojant „Ubuntu“, „Linux“, „MacOS“ ir „Windows“. Taip pat galite paleisti „Che“ savitarnos darbo srityje, esančioje //che.openshift.io/, kuriai reikės turėti arba sukurti nemokamą „OpenShift“ arba „Red Hat“ prisijungimą.

Be to, „Eclipse Che“ sudaro „Red Hat CodeReady Workspaces“, naujos „OpenShift“ kūrimo aplinkos, pagrindas. Be to, kad „CodeReady Workspaces“ palaiko „Red Hat“, jie turi iš anksto sukauptus paketus su palaikomomis „Red Hat“ technologijomis ir apima „Red Hat“ SSO, skirtą kūrėjų komandų autentifikavimui ir saugumui tvarkyti.

„Eclipse Che“ projekte dalyvauja daugiau nei 20 įmonių, įskaitant „CodeEnvy“ (originalus „Che“ kūrėjas), „Docker“, IBM, „Red Hat“ ir „TypeFox“. „Che“ plane numatyta integruoti „Theia“ integraciją ir „Theia“ bei „Che“ papildinių sistemas.

9. AWS debesis

„Cloud9 IDE“, kurį minėjau kaip „Go IDE“ 2017 m., Dabar priklauso „Amazon Web Services“. Be to, kad „Cloud9“ turi naršyklės pagrindu veikiantį daugiakalbį kodų redagavimo priemonę, derintuvus kelioms kalboms ir terminalą, kuriam iš anksto suteikta teisė naudoti AWS paslaugas, galima koduoti bendradarbiaujant.

„Cloud9“ kūrimo aplinkas galite paleisti valdomuose „Amazon EC2“ egzemplioriuose arba bet kuriuose „Linux“ serveriuose, palaikančiuose SSH. „Cloud9“ apima įrankius, skirtus daugiau nei 40 programavimo kalbų, nors tik penki turi derintuvus, septyni turi pūkuotukus ir 12 turi kodą.

Jei „Cloud9“ paleidžiate EC2, EC2 egzempliorius automatiškai sustos uždarius „Cloud9“, pagal numatytuosius nustatymus po 30 minučių, o jūsų kodas išliks „Amazon EBS“ saugykloje. Jei paleisite „Cloud9“ savo „Linux“ serveryje, kodas išliks vietinėje saugykloje. Jei „Cloud9“ paleisite iš naujo po to, kai jo pagrindinis egzempliorius bus sustabdytas, „Cloud9“ automatiškai iš naujo paleis egzempliorių ir atkurs jūsų redagavimo sesiją ten, kur baigėte.

Galite lengvai užpildyti „Cloud9“ egzempliorių iš saugyklos arba iš vietinių failų. Žemiau pateiktoje ekrano kopijoje aš naudoju „Git“ iš „Cloud9“ komandų eilutės, kad patikrinčiau „Keras“ „GitHub“ saugyklą. Jei redaguojate projektą, remdamiesi saugykla, kuriai turite leidimą, galite atnaujinti repo ir prireikus ištraukti pakeitimus iš komandinės eilutės. „Cloud9“ neturi grafinio palaikymo versijų valdymui.

Atkreipkite dėmesį į žemiau esančio ekrano kopijos dešinėje esantį kontūro rodinį, kuris puikiai tinka norint naršyti faile. Viršutiniame kairiajame kampe rodomas meniu „Go“ veikia gerai, jei norite naršyti daugiau. „Cloud9“ nėra pertvarkymo funkcijų, nors yra paprastas kodo performatavimas.

„AWS Cloud9“ yra integruotas su „Amazon Lightsail“, AWS CodeStar, AWS Lambda funkcijomis ir AWS CodePipeline. Atrodo, kad „Lambda“ integracija yra ypač gera.

Kuris debesies IDE?

„Eclipse Theia“, „Eclipse Che“ ir „AWS Cloud9“ leidžia iš naršyklės redaguoti ir derinti kodą keliomis programavimo kalbomis. Yra išdėstymo ir funkcionalumo skirtumų, tačiau jų nepakanka svarbai, nebent norite pasiekti kažką gana pažangaus, pavyzdžiui, pertvarkyti.

„Cloud9“ yra ypač geras pasirinkimas, jei dirbate su AWS projektais, o „Che“ yra ypač geras pasirinkimas (kaip „CodeReady“), jei dirbate su „Red Hat“ sistemų kodu. „Theia“ yra pati geriausia redagavimo aplinka iš visų trijų, tačiau kai „Che 7“ pasirodys beta versija, ji taip pat turės „Theia IDE“.