Гость

Нажмите для авторизации/регистрации

  • Назад
  • Меню
  • Статьи
    • Все
    • Интернет и технологии
    • Laravel и WebDev
    • Linux, Windows, Docker, Etc
    • Новости
    • Прочее
    • Геймдев
    • Смотри как я умею
  • Информация
    • Оферта на дополнительные функции
    • Политика конфиденциальности
    • Тарифы
    • Пользовательское соглашение

LaraDock или Homestead для разработки под Laravel?

  1. Главная
  2. Статьи
  3. Laravel и WebDev
  4. LaraDock или Homestead для разработки под Laravel?
LaraDock или Homestead для разработки под Laravel?
  • 25/11/2021
  • Chebukin Pavel
  • 562 просмотров
  • 0 комментариев

LaraDock или Homestead для разработки под Laravel?

В этом материале не будет подробностей по установке Laradock или Homestead. В нем я опишу лишь то, что по моему мнению стоит ставить. Если будет спрос, опишу установку отдельным материалом. Те кто изучают ларавел, вполне могут испугаться еще и докера, да и хомстеда. Мол, я еще это не выучил, а еще и то же нужно учить. Но все гораздо проще. Чаще всего все сводится к установке пары софтин и выполнению нескольких команд. Но, без знания линукса, хотя бы базового, будет сложновато.

Homestead - окружение для тестирования проектов Laravel

Homestead - для меня это было уже второе окружение под ларавел для локальной разработки. До этого был веб-сервер на Apache 2 + php 7. Если взять еще ранее, то до переезда на виндовс ввиду специфического софта, много лет пользовался линуксом как десктопом и веб-сервером локальным было тоже окружение что и на сервере - nginx + php-fpm. Но вот на винде такое поставить сложно в изначальном виде, а использовать WSL уже можно, но сейчас нет особой нужды и позже описывая Laradock, возможно станет понятнее почему.

Для установки Homestead нужно выбрать базовую технологию виртуальной машины. Для многих это VirtualBox, хотя есть и альтернативы, но они платные. Всем этим рулит Vagrant, который запускает виртуальную машину и останавливает. Vagrant имеет широкие возможности, но управление Homestead-ом сводится к запуску и остановке, в процессе которой настраиваются сеть и т.д.

В целом, после апача с пхп на винде процесс мне понравился. Сами папки проектов монтируются внутрь виртуальной машины. Потому удаление ее не приводит к повреждению проектов, а внесение изменений в проект сразу же отображается на виртуальной машине. Но есть свои Но.

  • Скорость работы. Откровенно говоря, всякими ухищрениями можно выжать чуток производительности, но в целом оно остается низким. Даже подключение через разные протоколы, повышая скорость увеличивало время синхронизации файлов внутри проекта и это было печально. Когда внесенные изменения сохраненные в файле отображались на проекте с задержкой.
  • Вагрант не всегда поднимался и причиной чаще всего были конфликты сетевых карт. При этом завершившись виртуалбокс мог не удалить устройство, но и не задействовать его же заново. Приходилось удалять его вручную и перезапускать вагрант на запуск. Вполне вероятно что победить это можно, но вопрос временных затрат и усилий.
  • Используемые ресурсы. Тут подразумевается как место на винте, под виртуальную машину и образ жесткого диска, так и выделенные ресурсы процессора и оперативной памяти. Машина по сравнению с докером значительно нагружает систему. Да, можно перекомпилировать часть пакетов системы под работу, чтобы производительность была выше. Но мы не садомазохизмом занимаемся и должны выполнять задачу ко времени, а не вечно настраивать/перенастраивать инструмент, а потом обновить образ и все по кругу. Но больше всего меня нагружало все больше разрастающаяся "черная дыра" на жестком диске, поглощающая много места на и без того не емком SSD.

Laradock - Docker окружение под проекты Laravel

Помучавшись с Homestead-ом некоторое время и определившись с плюшками такой среды, наступил период двигаться дальше. Но не сказать что выбор огромен. В целом после хостеда логичный шаг смотреть в сторону ларадока. Обьяснять что такое докер сильно не буду. Это, если сильно упростить, тоже виртуальная машина. Но в ней реализован луковичный принцип формирования файловой системы. То есть у вас к базовой файловой системе подключаются слои с разным установленным софтом, а с помощью специального YML файла, настраивается как-раз это подключение и взаимодействие софта из этих самых слоев. Laradock - это в целом уже готовое решение, сформированная подборка образов обьединенная специальным файлом конфигурации. В нем вам достаточно внести всего-лишь некоторые небольшие изменения, чтобы дальше ваш проект работал как нужно. В моем случае, на ларадоке, да и на хомстеде до этого, висели все мои проекты. А это несколько проектов по ларавел и даже пара на вордпрессе и Yii 1-2. Все это спокойно и легко работает на обеих средах, без какого-то шаманства. Под виндой это все работает на основе Docker Desktop, используя виртуализацию. И вот тут важно понимать, что Windows 10 Home не поддерживает виртуализацию, нужную для докера. Обновленная Windows 10 Pro уже имеет возможность использовать WSL2.

WSL(Windows Subsystem for Linux) - это подсистема в винде, позволяющая использовать софт написанный под линукс, без излишнего шаманизма и перекомпиляции. Проще говоря, в винду встроили основу линукса, заставив софт из последнего чувствовать себя как дома. WSL2 - это обновление этой подсистемы со значительными улучшениями. Но доступна она не без шаманизма, так как для ее установки недостаточно просто ее "включить" одной галочкой.

Ошибки в ларадоке тоже имеют место быть. Чаще всего это ошибка в конфигурационном файле сборки - yml, или же ошибка запуска Docker Engine при загрузке винды. Первое лечиться изучением ошибки при сборке докер композером, второе - перезапуском докер десктоп из-под админских прав, но до этого нужно убить текущий запущенный процесс докера.

Homestead vs Laradock 

Для себя я сделал вывод в пользу последнего, хотя обьективности ради, управлять хомстедом новичку немного проще. Для этого изучая линукс базово можно подключиться к виртуальной машине через SSH и установить/удалить нужные пакеты. Без знаний линукса, изменить файл сборки докер композера будет сложно, а делать это через SSH, как в Homestead, не имеет большого смысла. При пересборке пакеты будут сброшены и система просто соберет все заново забыв о внесенных изменениях.

Вероятно начать с Homestead начинающему будет проще, позже переключившись на Laradock. Но стоит помнить главное - если боятся и считать это страшным делом, то так оно и будет.

Отзывы

Пока нет комментариев


Для того чтобы оставить комментарий, авторизуйтесь.
Понравился материал? Поделись!
Простой LazyLoad для сайта на Laravel и не только
Ноя25
Простой LazyLoad для сайта на Laravel и не только

Что такое LazyLoad? Суть метода LazyLoad - подгружать картинки не в момент загрузки страницы, а по мере ее просмотра. Это облегчает первоначальную загрузку страницы, скорость отображения пользователям и отношение поисковых систем. На многих своих сайтах я использую LazyLoad картинок, для ускорения загрузки самого сайта. Сделать это легко. Заходим на сайт...

  • Chebukin Pavel
  • 0
  • 25.11.2021 23:30
Laravel: Nova, Orchid или кастомная/собственная админ панель
Июл23
Laravel: Nova, Orchid или кастомная/собственная админ панель

Очень часто под очередной проект приходится делать админ панель. Чаще всего в MVP проектах никто не закладывает дизайн админ панели. Берется уже или полу готовая, или делается с нуля, чаще всего на купленной теме. Чтобы сделать свою панель, перекрывающую 80% типовых потребностей многих сайтов потребуется пару дней возни, а в...

  • Chebukin Pavel
  • 0
  • 23.07.2022 10:30
PHPStorm vs InteliJ Ultimate для разработки под Laravel и PHP
Июл23
PHPStorm vs InteliJ Ultimate для разработки под Laravel и PHP

Это сравнение двух известных IDE компании JetBrains. Возможно в чем-то зацеплю и краем WebStorm. Это мое личное мнение и оно может отличаться. Сразу уточню, цену на IDE сравниваю с текущей своей скидкой - 40%. С меньшей скидкой разница в стоимости между продуктами значительно растет. Уточняю так же что в InteliJ...

  • Chebukin Pavel
  • 0
  • 23.07.2022 12:47
Добавляем на сайт комментарии Facebook для Laravel и не только
Дек02
Добавляем на сайт комментарии Facebook для Laravel и не только

Добавить комментарии можно на любой сайт. Но так как многих сайтов это означает добавление кода, работу с базой данных, модерацию и т.п. В этом ключе выгодно отличается установка комментариев от соц. сети Facebook. Аналогичные можно установить от VK, Disqus и других платформ. В этот раз рассмотрим именно подключение фейсбука. В...

  • Chebukin Pavel
  • 0
  • 02.12.2021 21:12
Laravel, подключаем комментарии Disqus на сайт
Дек11
Laravel, подключаем комментарии Disqus на сайт

Ранее я уже писал о том, как добавить комментарии Facebook на сайт. В этом материале мы добавим альтернативные комментарии, от сервиса Disqus.  Комментарии на сайт встроенные лучше, чем подключаемые. Но требуют разработки, внедрения, модерации и т.д. Все это время и ресурсы. Но такие комментарии будут работать быстрее даже. Не всем...

  • Chebukin Pavel
  • 0
  • 11.12.2021 18:29
Laravel + TinyMCE
Дек02
Laravel + TinyMCE

Какой сайт сейчас может обойтись без редактора? Да, можно добавить поля типа file и загружать. Но когда в материале нужен целых несколько картинок, то это неудобно и не технологично. Но чтобы редактор умел загружать картинку, как редактор должен знать как ее отправить, так и серверная часть знать то, как ее...

  • Chebukin Pavel
  • 0
  • 02.12.2021 20:06

Copyright 2023 © All rights reserved.

Мы в: