Разработка веб-приложений на ChromeOS практически ничем не отличается от разработки веб-приложений на любой другой операционной системе. Любой редактор кода, IDE, инструмент или язык, работающие в Linux, работают и на ChromeOS. ChromeOS даже имеет функции, специально разработанные для облегчения веб-разработки.
Редакторы кода и IDE
Любой редактор кода или IDE, работающие на Linux, будут работать и на ChromeOS. Linux на ChromeOS — это установка Debian , и редакторы кода и IDE для Debian обычно устанавливаются одним из трех способов. Например, Visual Studio Code предоставляет файл .deb , который можно установить двойным щелчком из приложения «Файлы». IntelliJ, с другой стороны, требует загрузки архива tar, содержащего исполняемый файл, который можно распаковать в контейнер Linux и запустить. Sublime Text устанавливается через apt .
Языки и инструменты
Независимо от того, используете ли вы JAM или LAMP, Python или Go, если это работает на Linux, вы сможете запустить это и на ChromeOS. При установке языков и инструментов мы рекомендуем использовать менеджеры версий языков, чтобы упростить процесс установки и обновления, а также позволить вам переключаться между несколькими версиями языка для каждого проекта, над которым вы работаете. RVM , менеджер версий Ruby, является одним из старейших и лучших примеров менеджера версий языков, позволяющим управлять как Ruby, так и зависимостями (называемыми гемами) для нескольких версий Ruby. Для большинства других языков существуют аналогичные менеджеры версий. Этот сайт, построенный на Node.js, поддерживает Volta и NVM для управления версиями Node. Если вы предпочитаете управлять языками и инструментами через Docker, вы также можете это сделать.
Туннелирование и переадресация портов на локальном хосте
В то время как Linux для ChromeOS работает внутри виртуальной машины, серверы, работающие в среде Linux, автоматически перенаправляются в основной браузер Chrome. Это означает, что вы можете использовать все любимые инструменты Chrome для разработки веб-приложений и не беспокоиться о тестировании разрабатываемого продукта. Однако иногда возникает необходимость предоставить доступ к порту вашего компьютера другим устройствам в той же сети. В этом случае ознакомьтесь с инструкцией по настройке переадресации портов .
Chrome, который вы любите
Все знакомые и любимые инструменты разработки из Chrome также доступны в ChromeOS. Благодаря переадресации портов Linux на Chrome , вы можете использовать все возможности Chrome DevTools , включая Lighthouse для разработки приложений, а также отличные расширения Chrome, такие как Accessibility Insights of Web . Для этого запустите веб-сервер в среде Linux и перейдите по адресу localhost:PORT (замените PORT на номер порта вашего сервера) в основном браузере Chrome. При необходимости вы также можете использовать penguin.linux.test в качестве резервного варианта для localhost .
Больше, чем просто Chrome
Разработка веб-приложений на ChromeOS обладает уникальной особенностью, которой не может похвастаться ни одна другая настольная операционная система: поддержкой на уровне платформы для реальных мобильных браузеров. При разработке веб-приложений на ChromeOS вы не ограничены тестированием только в Chrome. С помощью магазина Google Play вы можете установить реальные мобильные браузеры и использовать их для тестирования вашего веб-приложения. Вы даже можете установить другие полнофункциональные настольные браузеры, работающие на Linux, и тестировать их там. Хотя пользователи ChromeOS будут использовать ваше веб-приложение в Chrome, мы понимаем важность создания веб-приложений, доступных каждому, независимо от выбора браузера.
Тестирование вашего веб-приложения в других браузерах Linux довольно просто: установите эти браузеры в соответствии с инструкциями по установке Linux и используйте их как обычно, включая доступ к localhost . Однако браузеры, установленные через магазин Google Play, необходимо рассматривать как находящиеся на внешнем устройстве. Чтобы ваш сервер был доступен в этих браузерах, найдите свой IP-адрес, выполнив команду hostname -I в терминале, и используйте полученный IP-адрес вместо localhost при навигации, не забывая также указать порт.