Cloud IDE изстрел: AWS Cloud9 срещу Eclipse Che срещу Eclipse Theia

Привличането на нов разработчик към програмен проект с много зависимости понякога може да бъде кошмар. Виждал съм екстремен случай, когато компанията най-накрая се отказа и купи на разработчика нов компютър след месец проблеми, опитващи се да конфигурира стария му. По-често създаването на нова среда за разработка за нов разработчик може да отнеме между три дни и две седмици.

Този проблем е една от мотивациите за уеб базирани работни пространства за разработчици. Друга мотивация е, че машините за локално развитие се нуждаят от значителни CPU и RAM ресурси, които увеличават разходите за хардуер; тези ресурси позволяват на разработчика да изгради проекта експедитивно. Компютрите за достъп до уеб базирани работни пространства могат да се измъкнат с хардуер от по-нисък клас, отколкото компютрите за локално развитие.

Като допълнителна полза, уеб-базираните работни пространства за разработчици могат да централизират и стандартизират конфигурацията. Колко пъти сте чували „Работи на моята машина“ в отговор на доклад за грешка? Стандартизираната среда може да елиминира този проблем.

В тази статия ще обсъдя три облачни IDE, които предоставят уеб базирани работни пространства за разработчици. Две от тях - Eclipse Theia и Eclipse Che - са сравнително скорошни проекти с безплатен отворен код, които в момента са под егидата на Eclipse Foundation. Третото - AWS Cloud9 - е по-стар продукт, който сега е собственост и интегриран с Amazon Web Services.

Затъмнение Тея

Eclipse Theia е проект с отворен код за предоставяне на опит за разработка на Visual Studio Code в браузър; може да работи и на работния плот в обвивката на Electron. Theia разчита на езиковия сървърен протокол на Visual Studio Code, за да осигури завършване на специфичен за езика код и другите функции, които очакваме в модерен редактор на кодове.

Тъй като може да се възползва от езиковите сървъри, написани за Visual Studio Code, Theia има достъп до над 60 налични езикови сървъра, включително JavaScript, Java, Python и TypeScript. Theia също така поддържа протокола за отстраняване на грешки.

Самата Theia е написана на TypeScript и използва PhosphorJS като основа за нейната обвивка и нейните плъзгащи се оформления на дока. Той интегрира терминал, който се свързва отново при презареждане на браузъра, за да поддържа историята на командния ред. Можете да създадете свои собствени разширения за Theia, ако желаете.

Има три основни начина да опитате Theia. Единият е да го стартирате в Docker:

docker run -it -p 3000: 3000 -v “$ (pwd): / home / project: cached” theiaide / theia: следващ

Второто е да го стартирате в Gitpod (вижте страничната лента и екранната снимка по-долу). Третото е да стартирате Eclipse Che версия 7 или по-нова (вижте следващия раздел), която използва Theia като свой потребителски интерфейс, вместо Java Java, използван в по-старите версии на Che.

Проектът Eclipse Theia включва приноси от TypeFox, Ericsson, Red Hat, IBM, Google и ARM. Пътната карта на проекта включва приставка за поддръжка на разширения на VS Code (извън езиковите сървъри), интеграция с тестови рамки и други подобрения.

TypeFox Gitpod

Gitpod е търговска хоствана среда (вижте екранната снимка по-горе), предназначена да отваря хранилища на GitHub в работни пространства. Gitpod IDE е с отворен код и се основава на Eclipse Theia. В момента във фаза на безплатен бета-тест Gitpod винаги ще бъде безплатен за проекти с отворен код, но в крайна сметка ще изисква абонамент за отваряне на частни хранилища и за използване за повече от 100 часа на месец.

Понастоящем облакът Gitpod.io работи в множество клъстери Kubernetes, хоствани в инфраструктурата на Google Cloud в три различни региона по света. Продуктът Gitpod се предлага и за частен хостинг.

Eclipse Che

Eclipse Che е сървър за работно пространство за разработчици с отворен код и IDE в облак, предназначен за екипи и организации. Che версия 7, в момента в бета версия, използва Eclipse Theia като основа на своята IDE. По-старите версии на Che използват GWT-базирана IDE. Работните пространства на Che се изпълняват в контейнери на Docker, OpenShift или Kubernetes.

Можете да стартирате Che в публичния облак, частен облак или да го инсталирате на която и да е операционна система. Che е тестван на Ubuntu, Linux, MacOS и Windows. Можете също така да стартирате Che в работно пространство за самообслужване, хоствано на //che.openshift.io/, за което ще трябва да имате или да създадете безплатен вход в OpenShift или Red Hat.

В допълнение, Eclipse Che съдържа ядрото на Red Hat CodeReady Workspaces, новата среда за разработка на OpenShift. Освен че се поддържат от Red Hat, CodeReady Workspaces имат предварително изградени стекове с поддържани технологии на Red Hat и включват Red Hat SSO за обработка на удостоверяването и защитата между екипите на разработчиците.

Проектът Eclipse Che включва вноски от повече от 20 компании, включително CodeEnvy (първоначалният разработчик на Che), Docker, IBM, Red Hat и TypeFox. Пътната карта на Che включва завършване на интеграцията на Theia и приставките за Theia и Che.

AWS Cloud9

Cloud9 IDE, който споменах като Go IDE през 2017 г., вече принадлежи на Amazon Web Services. Освен че има базиран на браузър многоезичен кодов редактор, програми за отстраняване на грешки за няколко езика и терминал, който е предварително разрешен за услугите на AWS, Cloud9 вече позволява съвместно кодиране.

Можете да стартирате среди за разработка на Cloud9 на управлявани екземпляри на Amazon EC2 или други Linux сървъри, които поддържат SSH. Cloud9 включва инструменти за над 40 езика за програмиране, въпреки че само пет имат дебъгъри, седем имат свързване и 12 имат завършен код.

Ако стартирате Cloud9 на EC2, екземплярът EC2 ще спре автоматично, след като затворите Cloud9, по подразбиране след 30 минути и вашият код ще продължи в хранилището на Amazon EBS. Ако стартирате Cloud9 на вашия собствен Linux сървър, кодът ще продължи в локалното хранилище. Ако рестартирате Cloud9, след като основният екземпляр е спрял, Cloud9 автоматично ще рестартира екземпляра и ще възстанови вашата сесия за редактиране, където сте спрели.

Можете лесно да попълните екземпляр на Cloud9 от хранилище или от локални файлове. На екранната снимка по-долу използвах Git от командния ред на Cloud9, за да проверя хранилището на GitHub за Keras. Ако редактирате проект, базиран на хранилище, за което имате разрешение за фиксиране, можете да актуализирате репото и да изтеглите промените, ако е необходимо, от командния ред. Cloud9 няма графична поддръжка за контрол на версиите.

Обърнете внимание на контурния изглед вдясно на екранната снимка по-долу, който работи добре за груба навигация във файл. Менюто Go, показано горе вляво, работи добре за по-обща навигация. В Cloud9 няма функционалност за рефакторинг, въпреки че има просто преформатиране на кода.

AWS Cloud9 е интегриран с Amazon Lightsail, AWS CodeStar, AWS Lambda функции и AWS CodePipeline. Интеграцията на Lambda изглежда особено добра.

Кой IDE на облак?

Eclipse Theia, Eclipse Che и AWS Cloud9 ви позволяват да редактирате и отстранявате грешки в множество езици за програмиране от браузър. Има разлики в оформлението и функционалността, но не достатъчно, за да има значение, освен ако не искате да постигнете нещо доста напреднало, като рефакторинг.

Cloud9 е особено добър избор, ако работите по проекти на AWS, а Che е особено добър избор (като CodeReady), ако работите по код за системи Red Hat. Theia осигурява най-приятната среда за редактиране от трите, но след като Che 7 излезе от бета версия, ще има и Theia IDE.