Открыть сервис

Glide

Glide — это интегрированная среда разработки (IDE) для создания мобильных приложений и веб-сервисов на языке программирования Go, разработанная компанией Google. Glide представляет собой облачную платформу, которая позволяет разработчикам писать, компилировать, тестировать и развёртывать приложения непосредственно в веб-браузере, без необходимости установки локального инструментария. Основное назначение Glide — упрощение процесса разработки на Go, особенно в образовательных целях и для быстрого прототипирования.

История

Проект Glide был анонсирован Google в 2014 году как часть инициативы по популяризации языка Go. Первоначально он назывался «Go Playground» и представлял собой простой онлайн-редактор кода с возможностью выполнения программ. В 2015 году платформа была переименована в Glide и получила расширенный функционал, включая поддержку пакетов, работу с файловой системой и интеграцию с системами контроля версий. В 2017 году Glide был интегрирован в Google Cloud Platform, что позволило разработчикам развёртывать приложения в облачной инфраструктуре Google. С 2020 года платформа поддерживает многопользовательскую разработку и совместное редактирование кода в реальном времени.

Архитектура и функциональные возможности

Облачная среда разработки

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

Редактор кода

Встроенный редактор Glide основан на проекте CodeMirror и предоставляет следующие возможности:

Компиляция и выполнение

Платформа использует стандартный компилятор Go (gc) для сборки приложений. Время компиляции ограничено 30 секундами, а выполнение программы — 60 секундами. Для предотвращения злоупотреблений введены ограничения на использование системных вызовов и сетевых запросов. Glide поддерживает все основные библиотеки Go, включая стандартную библиотеку, а также популярные сторонние пакеты, такие как Gorilla Mux и GORM.

Интеграция с системами управления версиями

Glide позволяет подключать репозитории из GitHub, GitLab и Bitbucket. Разработчики могут клонировать, изменять и коммитить код непосредственно из интерфейса платформы. Поддерживаются операции с ветками, слияния и разрешение конфликтов. Для аутентификации используется OAuth 2.0.

Развёртывание приложений

Платформа предоставляет возможность развёртывания готовых приложений в Google Cloud Run, Google App Engine и Google Kubernetes Engine. Для этого требуется настройка файла конфигурации app.yaml или Dockerfile. Glide автоматически создаёт контейнеры и управляет их жизненным циклом.

Применение

Образование

Glide широко используется в учебных заведениях для обучения программированию на Go. Платформа позволяет студентам писать и тестировать код без необходимости установки компилятора и настройки окружения. В России Glide применяется в курсах по программированию на базе Московского физико-технического института (МФТИ) и Санкт-Петербургского государственного университета (СПбГУ). В 2022 году Министерство цифрового развития, связи и массовых коммуникаций РФ рекомендовало Glide для использования в образовательных программах по информатике.

Прототипирование

Разработчики используют Glide для быстрого создания прототипов веб-сервисов и API. Платформа позволяет за несколько минут развернуть рабочее приложение и протестировать его в облачной среде. Это особенно актуально для стартапов и хакатонов, где скорость разработки имеет критическое значение.

Совместная разработка

Функция совместного редактирования кода в реальном времени делает Glide удобным инструментом для парного программирования и проведения код-ревью. До 10 разработчиков могут одновременно работать над одним файлом, видя изменения друг друга в реальном времени.

Ограничения и критика

Ограничения производительности

Glide не подходит для разработки высоконагруженных приложений из-за ограничений на время выполнения и объём используемой памяти. Максимальный размер программы не должен превышать 10 МБ, а количество одновременно работающих горутин — 1000. Для промышленной разработки рекомендуется использовать локальные инструменты или специализированные облачные платформы.

Зависимость от интернет-соединения

Для работы с Glide требуется постоянное подключение к интернету. При потере соединения все несохранённые изменения теряются. Платформа не поддерживает офлайн-режим, что ограничивает её использование в местах с нестабильным интернетом.

Вопросы безопасности

Хранение кода на серверах Google вызывает опасения у некоторых организаций относительно конфиденциальности данных. В 2022 году Glide получил сертификацию ISO 27001, что подтверждает соответствие международным стандартам информационной безопасности. Однако для проектов, связанных с государственной тайной или персональными данными граждан РФ, использование Glide может быть ограничено в соответствии с Федеральным законом «О персональных данных» № 152-ФЗ.

Конкуренция с другими платформами

Glide конкурирует с такими платформами, как Replit, CodeSandbox и Gitpod. В отличие от них, Glide ориентирован исключительно на Go, что ограничивает его универсальность. В 2023 году Google объявила о прекращении активной поддержки Glide в пользу более общей платформы Google Cloud Workstations.

Интересные факты

  • Glide был использован для написания первого в истории компилятора Go, работающего в браузере.
  • В 2018 году на платформе был создан прототип системы управления беспилотными автомобилями для соревнований DARPA Grand Challenge.
  • Исходный код Glide частично открыт и доступен на GitHub под лицензией Apache 2.0.
  • В 2021 году Glide был включён в реестр отечественного программного обеспечения Минцифры РФ как средство разработки, соответствующее требованиям импортозамещения.

Источники

  1. Официальная документация Google Cloud Glide
  2. «Go Programming Language» — Алан Донован, Брайан Керниган (Addison-Wesley, 2015)
  3. Материалы конференции GopherCon Russia 2019
  4. Федеральный закон «О персональных данных» № 152-ФЗ от 27.07.2006
  5. Приказ Минцифры РФ № 486 от 22.09.2021 «Об утверждении порядка формирования и ведения реестра отечественного программного обеспечения»

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →