wp-now
— это новый бесплатный сервер для локальной разработки, который недавно внесли в WordPress Playground. С поддержкой от команды разработки ядра и Automattic. Быстрее чем Docker.
Находясь в своей альфа-версии, wp-now
уже является самым быстрым и простым способом создания локального сайта WordPress. Мы хотим помочь разработчикам сосредоточиться на том, что имеет наибольшее значение, а именно, превращение кофеина в строки кода и быстрая доставка продуктов.
В WordPress.com вклад в проекты, такие как WordPress Playground, соответствует нашей миссии предоставления лучшей управляемой платформы хостинга WordPress. За последний год мы обогатили опыт разработчика WordPress.com инструментами, такими как WP-CLI, SSH-доступ и стейджинг-сайты.
Оптимизировано для разработки тем с блоками
Представьте, что вы заняты сложным новым проектом: созданием темы с блоками для престижного университета.
Вы устали от повторения одних и тех же шагов: загрузки последней версии WordPress, настройки нового сайта и отслеживания ваших учетных данных. Вы вспоминаете блог, объявляющий о инновационном инструменте, который стоит исследовать: «Запустите локальную среду за секунды с wp-now».
И вы себе говорите: «Почему бы не попробовать? Единственным требованием является наличие npm, и я смогу прекратить использование Docker».
Вы пробуете…
За считанные секунды в вашем браузере автоматически открывается новый веб-сайт с выбранной вами темой. Вам не нужно устанавливать тему или вводить свои учетные данные. Вы уже вошли в систему как администратор.
После некоторой разработки вы решаете протестировать свою тему с использованием последней версии кандидата на релиз WordPress:
wp-now start --wp=6.3-RC1
Ваш сайт выглядит отлично на вашем компьютере, но клиент позвонил и сообщил, что хочет начать использовать PHP 8.2, а WordPress все еще на версии 6.1. Нет проблем для wp-now
:
wp-now start --php=8.2 --wp=6.1.3
С чувством выполненной работы вы возвращаетесь домой после продуктивного рабочего дня. Вы понимаете, что этот новый инструмент отлично подходит для разработки ваших продуктов, и решаете поделиться им с коллегами. Это может помочь им с их темами и плагинами. Кроме того, это даже облегчает вклад в WordPress.
Быстрее, чем Docker
Внутри себя wp-now
использует WordPress Playground, который выполняет PHP с помощью WebAssembly. Производительность важна, поэтому мы измерили, как wp-now
сравнивается с основанной на Docker локальной средой разработки wp-env.
В целом, wp-now
намного быстрее для начала работы, и так же быстр для работы:
Несмотря на то, что запросы к страницам, которые мы тестировали, занимают примерно в два раза больше времени в среде wp-now
, абсолютные различия находятся в диапазоне от 100 до 400 мс, что не должно существенно влиять на ежедневную работу разработчика.
Работает на WordPress Playground
wp-now
существенно является приложением NodeJS с встроенным PHP-сервером, управляемым WordPress Playground.
Когда вы используете wp-now
из каталога, мы создаем экземпляр php-wasm, загружаем выбранную версию WordPress и монтируем необходимые каталоги в виртуальную файловую систему (VFS). Затем мы инициируем сервер NodeJS express, который прослушивает и проксирует все запросы в php-wasm. В результате wp-now
может легко войти в систему WordPress автоматически, активировать плагины и темы и автоматически настроить ваш сайт WordPress.
wp-now
полагается на плагин SQLite Database Integration для своей базы данных и может также подключаться к существующей базе данных MySQL. Все файлы, специфичные для проекта, хранятся в вашей домашней директории в папке ~/.wp-now
. Каталоги создаются по этому шаблону: ~/.wp-now/wp-content/${projectFolderName}-${pathHash}
Готов к участию в разработке
Вклад сообщества является бесценным в улучшении wp-now
и WordPress Playground. Вы можете помочь и внести свой вклад, поделившись своими идеями, высказав свое мнение о том, какие функции наиболее полезны для вас, сообщив о проблемах или даже создав pull-запросы в репозиторий GitHub WordPress Playground. Мы движимы вашим отзывом — задавайте вопросы и делитесь своими идеями.
Вот некоторые будущие идеи, которые мы рассматриваем:
- Создать тему/плагин шаблон с помощью
wp-now create
. - Автоматическое обнаружение изменений в файле и автоматическое обновление браузера.
wp-now playground
для запуска сайта WordPress без каких-либо файлов.- Импортирование базы данных из другого сайта WordPress, находящегося на вашем компьютере или размещенного в другом месте.
- Добавить функцию развертывания, чтобы помочь разработчикам развернуть на любом хостинге SSH/SFTP.
- Поддержка пользовательских доменов.
Если вы хотите построить wp-now
из исходного кода, вы можете следовать шагам внесения своего вклада. Вы также можете присоединиться к нам в канале #meta-playground на Making WordPress Slack.
Благодаря Даниэлю Баххуберу, Хавьеру Арсе и Войтеку Нарунику за их вклад в этот пост. (перевод https://developer.wordpress.com/2023/05/23/wp-now-launch-a-local-environment-in-seconds/)