Прежде чем говорить о codespaces, давайте подумаем, что изменилось до сих пор. В течение последнего десятилетия программное обеспечение для настольных компьютеров постепенно съедалось веб-браузером: музыка переместилась из iTunes в Spotify и Pandora, обработка текстов переместилась в онлайн в Google Docs и Office 365, а дизайн переместился из Photoshop в Figma.

Веб-разработка, тем не менее, осталась верной десктопу, требуя все более мощных компьютеров для управления современным программированием. При редактировании кода инструменты, такие как Glitch и CodePen позволили разработчикам сделать некоторую работу в Интернете, более сложные языки программирования остались упорно подключены к настольному программному обеспечению.

Codespaces

Популярная хостинговая платформа для разработки программного обеспечения GitHub может изменить этот статус. На прошлой неделе компания, принадлежащая Microsoft, представила новый редактор кода под названием Codespaces, который полностью работает в веб-браузере, независимо от используемого вами устройства. Основанный на той же кодовой базе, что и редактор кода Microsoft Visual Studio — который работает в Windows, Linux и macOSCodespaces создает кнопку на веб-сайте GitHub, которая является одним щелчком мыши для перехода ко всей вашей среде разработки в Интернете.
Поскольку GitHub — это место, где многие разработчики уже получают доступ и хранят свой код независимо от среды программирования, которую они используют, это удобное место для запуска редактора кода. И вам не нужно ничего устанавливать на ваше устройство.

Чтобы быть понятным, Codespaces — это не просто редактор кода, это также целая «контейнерная» версия ваших серверов, что означает, что вы можете предварительно сконфигурировать любые необходимые вам ресурсы, такие как сервер PHP и кэш Redis, для работы над проектом.

Контейнеры (производимые Docker) позволяют упаковывать функциональность сервера в крошечные, легкие кусочки, которые можно комбинировать для создания среды разработки. Например, если вы работаете над проектом Laravel на основе PHP, вам понадобится сервер PHP, MySQL и кэш Redis. С контейнеризацией вы указываете, что вам нужна каждая из этих технологий, и они настраиваются каждый раз, когда вы открываете свою кодовую базу, облегчая перемещение между компьютерами и воспроизведение среды разработки без перенастройки ее на каждом устройстве.

Каждая среда Codespaces содержит Dockerfile, который определяет контейнеры и конфигурацию вашей среды, а также файл, который сообщает Codespaces, как вы хотите настроить свою среду разработки.

В отличие от прошлых сред разработки, в Codespaces нет необходимости настраивать локальные серверы и приложения для начала написания кода. Если разработчику необходимо быстро освоить проект, достаточно одного клика, чтобы все ваши серверы и конфигурация были готовы к разработке.

Перемещение написания кода в облако также открывает двери для опытных разработчиков. Функция Live Share, которая работает аналогично общедоступным Google docs, позволяет удаленным разработчикам работать вместе в процессе решения проблем, благодаря встроенному аудио и текстовому чату.

Основным преимуществом Codespaces, однако, является «удаленная» функция, которая позволяет разработчикам использовать свои существующие установки Microsoft Visual Studio Code на рабочем столе в любое время, даже если у них нет сверхмощного компьютера. Когда они находятся в пути, они могут подключаться к своей среде кода Visual Studio с помощью этой функции и использовать веб-редактор в облаке со всеми теми же настройками, расширениями и даже цветовыми схемами, как если бы они работали в своей локальной среде.

Хотя облачные продукты, подобные Codespaces, такие как Coder и Amazon Cloud9, существуют уже три года, преимущество Codespaces заключается в том, что они напрямую интегрированы в GitHub.

Стоит признать, что правильная настройка Codespaces требует вложений в первый раз: вам нужно выяснить, какие технологии нужны вашему проекту, и убедиться, что все это собрано правильно. Но без особых усилий, когда вы в будущем нажмете «код» на GitHub, все это будет настроено в облаке за считанные секунды и готово к работе.

Дебют Codespaces является последним в серии усилий Microsoft по созданию лучшего опыта разработчиков в отрасли. Это началось с решения 2016 года о добавлении поддержки Linux в Windows, что удивило всю отрасль. Никто не ожидал, что Microsoft добавит поддержку операционной системы с открытым исходным кодом в свою собственную систему.

Затем, в 2018 году, Microsoft приобрела GitHub, после чего в этом году была приобретена npm. Тем временем, согласно последнему опросу разработчиков Stack Overflow Developer Survey, компания превратила Visual Studio Code в самый популярный редактор кода, которым пользуются более 50% разработчиков.

Предположительно Microsoft надеется монетизировать все эти продукты, привлекая разработчиков, которые, вероятно, в конечном итоге разместят свои проекты на своей платформе облачного хостинга Azure.

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

Для меня вот что интересно в переносе разработки программного обеспечения в облако: свобода использования компьютера, который я хочу использовать, даже если это технически не очень хорошее устройство для разработчиков (например, Surface Pro X, в котором используется ограниченный процессор на основе ARM). Все, что мне нужно, это современный веб-браузер, не более того.

С этой целью Codespaces может стать отличным эквалайзером для новых разработчиков — если ваша среда разработки находится в облаке, не имеет значения, пишете ли вы код на MacBook Pro стоимостью 5000 долларов или Chromebook стоимостью 300 долларов.

About the Author

Ergashev Lazizbek

Добрый день, дорогие мои читатели, позвольте мне рассказать вам немного о себе. Я Лазизбек Эргашев, я веб-разработчик из Узбекистана. В основном я использую laravel/php для бэкэнда и vuejs/javascript для фронтэнда. Основная цель моего блога - поделиться с вами своим опытом и знаниями.

View All Articles