Наш бесплатный браузерный Редактор кода теперь продолжает работать при отсутствии интернет-соединения. Если ваше соединение прервётся в середине урока или проекта, вы сможете продолжать писать и запускать код без сбоев, даже если страница будет перезагружена.

Нестабильное соединение — мелкая неприятность при чтении веб‑страницы, но намного серьёзнее, когда вы уже 20 минут создаёте программу. Раньше потеря соединения при работе в Редакторе кода могла означать потерю вашей работы: при неудачной перезагрузке страницы вы могли увидеть пустой экран или ошибку браузера вместо своей программы.

Чтобы лучше понять, что нужно ученикам и преподавателям по всему миру от Редактора кода, мы провели исследования в странах, включая Индию, Кению и Южную Африку. Одной из тем были доступность и надёжность интернета в городских и сельских районах. Хотя неудивительно, что в сельской местности доступ часто медленный, ненадёжный или дорогой, мы выяснили, что в городах также широко распространены проблемы с электроснабжением, такие как плановые отключения и понижение напряжения. Всё это определяет, что реально возможно при выполнении программных заданий в онлайн‑редакторе.

Проблемы с подключением могут возникнуть в любом школьном компьютерном классе, где 30 учеников одновременно используют одну Wi‑Fi сеть, в клубе программирования, работающем через мобильную точку доступа в общественном центре, или у того, кто дописывает домашнее задание на нестабильном мобильном интернете.

Поэтому для нас стало приоритетом улучшить поддержку офлайна в Редакторе кода, сделав его устойчивым к потере соединения.

Как мы указываем в недавно опубликованных принципах для безопасных и ответственных образовательных технологий

Одно из наших обязательств — проектировать с учётом разнообразных нужд, способностей и контекстов, включая отказ от предположения о постоянном интернет‑соединении. Это обновление Редактора кода — небольшая практическая часть этого обязательства.

Что это означает для учащихся и преподавателей

Редактор кода изначально создавали с расчётом на устойчивость: например, выполнение кода происходит в вашем браузере, а проект сохраняется локально на устройстве по ходу работы.

Наши недавние дополнения обеспечивают, что после единовременного открытия Редактора в онлайне ваш браузер удерживает ещё больше необходимых частей, чтобы вы могли продолжать кодить без подключения. Теперь, если вы потеряете соединение в процессе работы в Редакторе:

  • в Редакторе появится понятное сообщение о том, что вы офлайн;
  • полная перезагрузка страницы не приведёт к ошибке соединения или пустому экрану;
  • если вы вошли в аккаунт, всё, что вы делаете в Редакторе в офлайне, автоматически сохранится в ваш аккаунт, как только вы снова подключитесь;
  • вы всё ещё можете скачать свой код с помощью кнопки «скачать», например если вы знаете, что собираетесь быть офлайн длительное время и хотите сохранить файл программы на компьютер или носитель.

Это обновление основано на сервис‑воркере — скрипте, который ваш браузер запускает в фоновом режиме. Когда вы впервые загружаете Редактор кода, сервис‑воркер сохраняет в кэше браузера файлы, необходимые Редактору. Если затем сеть прерывается, сервис‑воркер выдаёт эти сохранённые файлы вместо попыток получить их по сети. Когда вы снова выходите в онлайн, он автоматически обновляет кэш, чтобы вы не продолжали работать со старыми файлами.

Редактор кода не является полноценным офлайн‑приложением

Это браузерное приложение, которое мы улучшили, чтобы оно лучше справлялось с потерей интернет‑соединения, а значит:

  • вам нужно хотя бы один раз загрузить Редактор кода в онлайне в том браузере и на том устройстве, где вы собираетесь работать;
  • при отключении вы не сможете открыть проекты, которые не были ранее загружены;
  • если вы очистите данные браузера, пока находитесь офлайн, все изменения в проектах исчезнут;
  • вы не сможете войти в аккаунт или выйти из него в офлайне, и сохранение в аккаунт приостановится до восстановления соединения;
  • любые функции, требующие сети, например обмен проектами с учениками в Code Classroom, будут недоступны до восстановления подключения.

Мы продолжим работать над расширением тех частей Редактора, которые работают в офлайне.

Редактор кода работает в браузере без настройки и всегда будет бесплатен для преподавателей и учащихся. Мы надеемся, что это обновление сделает его более полезным для людей в самых разных условиях.

Это одно из тех обновлений, которые некоторые пользователи никогда не заметят, и в этом весь смысл: должно казаться, что ничего не пошло не так. Если у вас ненадёжное соединение и вы опробуете обновлённый Редактор кода, нам было бы интересно узнать, насколько хорошо он работает для вас.

Мы хотим поблагодарить Cisco за щедрое финансирование, благодаря которому эта работа стала возможна.