Избавьтесь от проблем, связанных с управлением средами разработки

Обновление (19.02.2021): опубликована новая версия этой статьи:



Исходная статья приведена ниже.

Сама по себе установка и поддержка среды разработки - это достаточно хлопот. Но если вы работаете над несколькими проектами одновременно, у вас возникает другая проблема: управление несколькими средами разработки!

За годы работы я перепробовал множество инструментов и стратегий для управления множеством сред разработки, от nodenv и rbenv до таких инструментов, как vagrant. У каждого было свое время и место.

Но теперь я пошел дальше и нашел новый инструмент для своего набора инструментов - облачную IDE. Это мой новый любимый способ полностью избавиться от необходимости управлять средой разработки. Облачные IDE позволяют легко предоставить каждому проекту отдельную изолированную среду разработки в контейнере, управляемую кем-то другим.

Когда я говорю «облачная IDE», я имею в виду среду разработки как услугу. Полностью размещенная, полнофункциональная среда с доступом на уровне терминала для выполнения команд и доступа к файловой системе, доступная через веб-браузер.

Существует множество облачных IDE на любой вкус. При составлении этого списка своих фаворитов я рассмотрел более двадцати вариантов. Поскольку меня в первую очередь интересует работа над проектами JAMstack как хобби, моими основными критериями были:

  • Поддержка nodejs.
  • Интеграция с GitHub.
  • Внешний вид Visual Studio Code.
  • Веселье.
  • Недорого.

Мои любимые

Самое интересное: Глюк

Если вас больше всего интересует создание веб-приложений на основе Node.js, Glitch - отличный выбор. Glitch очень самоуверен, что позволяет невероятно легко начать писать код без необходимости принимать решения о настройке множества неудобных деталей. Интерфейс прост и удобен в использовании, позволяя сосредоточиться на коде. Лучше всего то, что Glitch бесплатен!

Glitch - это больше, чем облачная IDE. Это онлайн-сообщество, управляемый репозиторий системы контроля версий и платформа для развертывания. Платформа развертывания означает, что вы можете делиться своими проектами со всем миром без использования каких-либо других инструментов, что очень удобно. Он также предоставляет расширение Visual Studio Code, которое позволяет использовать настольное приложение для редактирования проектов Glitch, размещенных в облаке. Glitch может импортировать и экспортировать проекты на GitHub.

Если вы новичок в программировании и хотите учиться в совместной среде, или вы работаете над дополнительным проектом, который может стать следующим большим достижением, Glitch поможет вам.

Самый цельный рабочий процесс: Gitpod

Gitpod - мой выбор, когда вы хотите использовать GitHub или GitLab для их управляемых репозиториев системы контроля версий, интеграции и инструментов сообщества, а также когда вы хотите использовать другие среды выполнения, помимо Node.js.

Gitpod похож на Visual Studio Code и поддерживает многие из тех же расширений. Gitpod не приносит удовольствия, как Glitch, но он гораздо более гибок с точки зрения поддерживаемых языков. Однако больше всего в Gitpod выделяется то, насколько хорошо он интегрирован с GitHub и GitLab. От входа в систему до проверки проектов и фиксации изменений - все это легко интегрируется с исходными хостинговыми платформами. Gitpod - также отличный способ быстро проверить те проекты, с которыми вы сталкиваетесь на GitHub или GitLab, и поиграть с ними. И это легко начать, потому что у Gitpod также есть бесплатный уровень!

Gitpod - это тоже больше, чем облачная IDE, но по-другому, чем Glitch. Это платформа для непрерывной разработки. Это означает, что Gitpod можно настроить так, чтобы он автоматически перестраивал вашу среду разработки каждый раз, когда что-то меняется, что позволяет вашей среде всегда иметь все предустановленные зависимости и ждать вас, когда вы откроете IDE.

Общая философия Gitpod заключается в том, что среды разработки должны быть дешевыми и эфемерными. Их следует использовать по запросу для внесения и проверки изменений, а затем отбрасывать после фиксации или проверки кода.

В отличие от Glitch, Gitpod не включает собственную платформу для непрерывного развертывания или хостинга. Вместо этого вы подключаете эти службы напрямую к репозиториям GitHub или GitLab, чтобы они запускались при каждой фиксации из Gitpod.

Также интересно

Самый веселый, занявший второе место: repl.it

Служба repl.it - это увлекательная облачная среда разработки, в которой больше внимания уделяется управляемому обучению. Он поддерживает множество языков программирования. Он основан на Visual Studio Code, ориентирован на сообщество и имеет возможность импорта из GitHub. Услуга также включает управление версиями и веб-хостинг, что сокращает количество инструментов, необходимых для продуктивной работы. И это бесплатно!

Самый умопомрачительный: RunKit

RunKit - это не облачная среда разработки, а интерактивный блокнот Node.js. В отличие от большинства игровых площадок для кода, он может запускать постоянные серверные процессы и предоставлять веб-конечные точки. Но это выходит далеко за рамки этого, с визуализацией вывода и отладкой во времени. Смотрите видео и приготовьтесь удивиться.

Большие облака

У каждого из основных поставщиков облачных услуг есть размещенная IDE. Один из них может подойти вам. Обычно они включают в себя такие удобства, как предоставление инструментов командной строки облачной платформы и токенов аутентификации по умолчанию.

Редактор файлов Google Cloud Shell

Google Cloud Shell бесплатен для пользователей Google Cloud Platform. Он включает редактор файлов на основе Theia, который будет знаком пользователям Visual Studio Code.

AWS Cloud9

AWS Cloud9 IDE - одна из первых. Он не похож на Visual Studio Code и не является бесплатным.

Код Azure Visual Studio Online

Visual Studio Code Online - от компании, которая представила вам Visual Studio Code. Кто не любит оригинал? В любом случае, я этим не пользовался, но если вы уже используете Azure, возможно, это имеет смысл. Это не бесплатно.

Моя любимая альтернатива облаку

Иногда вам могут понадобиться преимущества разработки в контейнере, не полагаясь на облако. В этом случае функция Контейнеры разработки Visual Studio Code - отличный вариант. Это похоже на использование Gitpod, но все работает локально с помощью Docker.

DIY Cloud IDE

В некоторых проектах, с которыми я столкнулся при поиске облачных IDE, использовался подход «сделай сам», когда от пользователя требовалось предоставить собственный сервер для размещения среды разработки. Я не хотел этого, но в вашей ситуации может потребоваться использование ваших собственных серверов, и в этом случае могут быть интересны следующие проекты:

  • Code-server от Coder - запускать Visual Studio Code в браузере, размещенном на любой машине разработки, к которой у вас есть доступ по ssh.
  • Koding - позволяет вашей организации создавать и совместно использовать полностью автоматизированные среды разработки.
  • Eclipse Che - среда разработки Kubernetes для команд разработчиков.
  • ICEcoder - редактор кода браузера на базе PHP.
  • Codiad - не обслуживается с 2018 года.

Веб-площадки

Следующие услуги представляют собой веб-площадки; они похожи на облачные IDE, но не включают среду server / vm / container:

  • CodeSandbox - мгновенная IDE и инструмент для создания прототипов для быстрой веб-разработки.
  • CodePen - социальная среда разработки для фронтенд-дизайнеров и разработчиков.
  • JSFiddle - скромная игровая площадка для кода.
  • JSBin - инструмент для экспериментов с веб-языками.
  • Codeply - быстрый бесплатный онлайн-редактор, включающий десятки фреймворков, начальных шаблонов и более 40 000 фрагментов кода.
  • StackBlitz - полный стек в бета-версии.

Прочее

Вот список оставшихся облачных служб IDE, с которыми я столкнулся:

  • Codeanywhere - платформа для совместной работы разработчиков.
  • Goormide - мощная облачная среда IDE для максимальной производительности разработчиков и команд.
  • SourceLair - удобная разработка в вашем браузере с привязками клавиш Sublime Text.
  • ShiftEdit - мощная онлайн-среда для разработки веб-сайтов.
  • PaizaCloud - браузерная среда веб-разработки.
  • CodeTasty - современная, умная и расширяемая облачная IDE.
  • OrionHub - современная среда разработки программного обеспечения с открытым исходным кодом, работающая в облаке.

Заключение

В вариантах нет недостатка. Независимо от того, нужна ли вам облачная среда IDE, или гибридная облачная среда, или среда разработки частного облака; независимо от того, являетесь ли вы новичком в изучении JavaScript или опытным профессионалом, пишущим на C ++ / Java. Надеюсь, этот обзор доступных опций был вам полезен!