Всем привет. Занимаюсь fullstack разработкой vue + php. Недавно пересел с macos на windows.
Вроде как привык, ничего критичного, но не хватает нормального терминала, например oh my zsh.
Поделитесь опытом, как на windows создать удобное окружение для разработки? Что используете вы? WSL? Docker? Или еще может что можете посоветовать?
Дополнительно:
Содержание
Если на бэке нет ничего специфичного для линя, то стандартное виндовое окружение вполне годится для веб-разработки. Если штатные cmd или powershell не устраивают, то есть много сторонних терминалов.
Ответы:
Вроде как привык, ничего критичного, но не хватает нормального терминала, например oh my zsh.
1. oh my zsh - это не терминал, а расширение для zsh, которое добавляет всякие красивости.
На Windows это есть. Если для powershell, то это oh-my-posh либо starship.rs, либо можно установить альтернативный шелл - nushell, например.
2. zsh не терминал. zsh - это шелл. На windows основным шеллом лично я бы назвал powershell core - он достаточно мощный и имеет нормальный синтаксис, в отличие от старого cmd.exe и он кроссплатформенный (если вдруг захочешь его использовать где-то ещё), в отличие от старого windows powershell.
3. А в качестве терминала на Windows сейчас используется windows terminal, который, имхо, один из лучших терминалов в принципе, а не только на винде.
Поделитесь опытом, как на windows создать удобное окружение для разработки? Что используете вы? WSL? Docker? Или еще может что можете посоветовать?
В моём случае:
1. Jetbrains-овская IDE
2. Docker или podman на твой вкус и применимость в организации. (docker desktop нельзя бесплатно в крупных организациях использовать)
3. WSL2 для докера и всего того что должно на линуксе крутиться (туда же и zsh можешь впихнуть)
4. Windows Terminal + powershell core + PSReadLine + starship для красивого и удобного терминала (вместо starship можно взять oh-my-posh)
5. Powertoys и Devtoys - просто набор всяких мелких полезных утилит, типа caffeine, полоски для запуска приложений и прочего. А devtoys - это чтобы в интернет или в консоль не лезть, чтобы что-нибудь в-из base64 переложить и всякого такого.
PS: wamp я бы не стал использовать вообще, как бы не советовали другие отвечающие.
1. apache давно надо выкинуть в помойку. Вместо него php-fpm+nginx
2. как и mysql
3. php требует доустановки целой кучи пакетов, так что пусть живёт в отдельном docker-контейнере
4. w отсюда тоже следует убрать, так как очень врядли у тебя на проде тоже будет винда.
VirtualBox + линукс внутри...
- А чем лучше чем WSL?
- a9105051396, я избавлен от возможных виндовых глюков.
да и как по мне - лучше ВМ с линукс, так нативно всё, как и в продакшенеу WSL есть свои заморочки
- a9105051396, стабильностью, широким функционалом - бэкапы, снимки, сети, диски, и т.п., большим сообществом и еще кучей полезных мелочей.
- VoidVolker,
стабильностью
А чем всл нестабилен? Уже года 3 его использую, но нестабильности незамечал.
широким функционалом - бэкапы, снимки, сети, диски, и т.п., большим сообществом и еще кучей полезных мелочей.
Разве почти все решения для линухи не работают для всл? Там же специфические решения только для взаимодействия между виндой и самим вслом.
- a9105051396, товарищ Drno радикально против wsl
- WbICHA,
А чем всл нестабилен? Уже года 3 его использую, но нестабильности незамечал.
Он вполне стабилен, пока у тебя обычный сценарий работы на личном компьютере.
На рабочем ноуте у меня, например, он работает просто отвратительно.
В том числе из-за использования корпоративного vpn, корпоративного dns, кучи трекеров и mitm.
Очень частая ситуация - если не в том порядке подключаться к vpn и запуcкать wsl, то dns и сетка как-то не так настроятся и у тебя WSL будет оторван либо от корпоративной сети, либо от сети вообще.Как-то настроить сети в WSL можно только через poweshell и диспетчер hyper-v, а выделение ресурсов - через текстовый конфиг.
Virtual box в этом плане действительно чуть удобнее.Хотя при этом на своём личном пк и ноуте всё работает прекрасно.
Минусы virtual box лично он меня:
1. Холодный запуск будет достаточно долгим
2. Очень многое нужно будет настраивать вручную и многие вещи для новичка неочевидны (типа как его в автозапуск впихнуть, как сделать динамическое выделение памяти, и как примонтировать виндовые диски в обе стороны. Отдельный вопрос - а как видеокарту подключить и запускать оконные приложения)
3. Нужно будет руками настроить подключение по ssh из винды в виртуалку
4. Некоторые сторонние инструменты могут плохо работать с твоим велосипедом. Тот же docker desktop вроде отказался от virtual box. - WbICHA, ага, там достаточно много специфичного даже в рамках винды при общении винды с wsl.
- Василий Банников,
1. Убунты обычно быстро грузится
2.диски ненадо туда монтировать. Зачем? Собственно как и видяху. Там же без гуи система стоит…
3. Настраивать нечего. Достаточно на ip обратиться жеж)
4. Зачем на ubuntu server докер десктоп?
Компос ставится в пару кликов и всё - Василий Банников, конечно против.
Просто потому, что это «обрубок» докера.
А в виртуалке мы имеем полнценный вариант, как на продакшене)И, если не ошибаюсь, wsl для устаеовки еще и магазин требует МСовский?
- Drno,
Просто потому, что это «обрубок» докера.
Обрубок или нет - это уже вопрос к докеру.
Никто не запрещает и на wsl установить docker engine, а не docker Desktop.И, если не ошибаюсь, wsl для устаеовки еще и магазин требует МСовский?
Ошибаешься. Не требует
- Drno,
1. Убунты обычно быстро грузится
Со скоростью запуска wsl всё равно не сравнить.
2.диски ненадо туда монтировать. Зачем? Собственно как и видяху. Там же без гуи система стоит…
Диски - например чтобы файлы из родительской машины в дочернюю передавать и наоборот.
Гуй - ну например недавно я профайлил память под wsl и чтобы посмотреть результат использовал гуйовый massif-visualizer.А видеокарту может захотеть подключить какой-нибудь ml-щик, чтобы с нейросетаками работать.
3. Настраивать нечего. Достаточно на ip обратиться жеж)
Я жеж не только про это) Надо ещё профиль в wt добавить)
4. Зачем на ubuntu server докер десктоп?
Docker Desktop на винде, а не на убунте)
Вот он разучился engine на VB ставить. -
1. Холодный запуск будет достаточно долгим
Не намного дольше, чем нативный. В виртуалбоксе есть такая замечательная штука, как "снимок работающей ВМ", который легко сохранятся на диск и при запуске ВМ вся работа восстанавливается. И вот эта фича работает достаточно быстро и качественно. Да, скорость сохранения/запуска зависит от количества ОЗУ ВМ и скорости диска. Конечно, активные сетевые соединения вроде SSH надо будет переподключить, но все запущенные приложения прекрасно продолжают работу. Это очень удобная фича и холодный запуск достаточно редко нужен. У меня многие машины так месяцами и годами спокойно работают. Как и хост, который тоже работает месяцами. Перезагружаю только при обновлениях и когда что-то где-то нагадит и все плохо становится.
2. Очень многое нужно будет настраивать вручную и многие вещи для новичка неочевидны (типа как его в автозапуск впихнуть, как сделать динамическое выделение памяти, и как примонтировать виндовые диски в обе стороны. Отдельный вопрос - а как видеокарту подключить и запускать оконные приложения)
Да, многие вещи не очевидны для новичков, но это вообще характерно для большинства инструментов и новичков. Зато прекрасно компенсируется отличным мануалом и большим сообществом, благодаря чему абсолютное большинство задач решаются в пару кликов в гугле. Автозапуск, например, делается очень просто, как и в любой винде: создается ярлык на виртуалку в контекстном меню и кидается в каталог автозапуска. Для запуска без окна надо ярлыку будет дополнительный аргумент (ЕМНИП).
Да, с видеокартой сложнее - тут согласен. Жаль, что проброса видеокарты нет, но стандартный режим по умолчанию вполне позволяет без проблем поставить любую ось в графическом режиме и начать использовать. Хоть несколько режимов работы с графикой есть. Скорость работы графики вполне достаточна для большинства офисных приложений и даже в Visual Studio вполне можно комфортно работать. Да, разница заметна, но пользоваться вполне можно без проблем. Вот видео тормозит - да, тут уж ничего не поделаешь.как примонтировать виндовые диски в обе стороны
В смысле в "обе"? В смысле, чтобы не только в виртуалку монтировать каталог, но и каталог виртуалки ВМ на хосте? Из коробки есть фича монтирования только каталога хоста в виртуалку, а вот в обратную сторону нет и это уже надо стандартные сетевые шары использовать.
3. Нужно будет руками настроить подключение по ssh из винды в виртуалку
Вот тут уже за уши притянуто - настраивается все стандартным способом. Запустил ssh, зашел по паролю, добавил ключ, включил вход по ключу и все в общем-то.
Тот же docker desktop вроде отказался от virtual box.
Вот ту да, есть такое. Зато сам консольный докер прекрасно работает в виртуалках в VB. Сейчас вот погуглил: оказывается докер десктоп умеет подключаться к удаленному докер демону -
https://kifarunix.com/connect-to-remote-docker-env...
Ни разу не пользовал, но выглядит практично. Возможно даже пощупаю, как будет возможность. - Drno,
Просто потому, что это «обрубок» докера.
Почему обрубок? Он же по умолчанию всл использует.
И, если не ошибаюсь, wsl для устаеовки еще и магазин требует МСовский?
Так было только для первых версий первого всла. И то, это было не для самого всла, а для обёртки (на тот момент тольку убунту была, по моему).
- WbICHA, про магазин не знал, спс.
А обрубок, потому что сам WSL это обрубок))
- wamp в разнообразии (amp можно и ручками ставить, все под винду есть)
- виндовый терминал можно не плохо развеселить вот этой штукой, просто не узнать потом
https://github.com/starship/starship/blob/master/d...
- wsl динамически разделяет память, но его вспотеешь публиковать наружу, если только ngrok прямо внутри
... в общем вариантов много... недостатки вирталок типа VirtualBox и VMWare, это фиксированный расход памяти
- Hyper-V работает только под проф виндой, динамически распределяет память даже с консольными линуксани (но боже упаси туда гуи) шикарно разруливает сеть, можно публиковать, и даже автозапуск машинок делать
ps
- wsl научился запускать гуи приложения (у kali простая инструкция по запуску фулскрин десктопа xfce... вроде обещали gpu вычисления, еще не проверил.. в виртуалках это точно невозможно.. в wsl прозрачный взаимный доступ к файловым системам без изучения самбы или еще чего такого, но повторюсь - хрен опубликуешь наружу... ну или с жуткими плясками)
- докер - мое глубокое убежление, что если предстоит публикация именно докер контейнеров, то тогда это оно... а если все в кучу - или wsl, или виртуалки. при чем если в виртуалке консольная версия линукса - голосую за Hyper-V, и по многим причинам
pps хотя... че я тут в калашный ряд.. ))
- на ноуте wsl, hyper-v, vmware (да да, оч даже не плохо работает поверх hyper-v,)... а рядом старый десктоп, которого линуксу выше крыши )))
... сегодня накатил 39ю федору вместо минта, они первыми из коробки стали давать дотнет 8й )))
- Попробовал заюзать этот старшип - я так и не понял, что оно делает и что умеет? При запуске открывает консоль, выдает справку и закрывается. Где сам терминал-то? Опций практически нет. Сейчас под виндой использую ConEmu с git-bash - почти как в линуксе.
- VoidVolker, не конэму у меня накидывал ощутимый расход на старый проц. старшип рулит:
- все помнит
- все дополняет серым
- но там надо ставить lua и какой то скрипт. в принципе запустил с первого прочтения и в cmd и в ps. тащусь как удав. в линуксе не успел освоиться с дополнениями, сколько он мне помогает - VoidVolker,
- VoidVolker, гамма бледная.. не наглядно.. но после wsl, он предлагает последнюю комбинацию..
далее, по первым же символам, будет предлагать что помнит..
при указании пути - предлагает файлы из каталога.. и тд.. - VoidVolker, отрабатывает ls в cmd, mkdir/rmdir... в общем по мелочи набегает удовольствие...
- VoidVolker,
Где сам терминал-то?
а терминал виндовый ))) тот что многотабовый... просто он резко становится приятнее )))
- #,
не конэму у меня накидывал ощутимый расход на старый проц. старшип рулит:
Даа? Видимо совсем старая машина. У меня на старой машине конэму летает просто прекрасно даже с десятком вкладок.
но там надо ставить lua и какой то скрипт
О как, ну, попробую разобраться.
- VoidVolker,
Видимо совсем старая машина. У меня на старой машине конэму летает просто прекрасно даже с десятком вкладок.
не топ, но верхний середнячек 2013 года комплектации..
может еще нюанс - активно использую far (так сказать вырос под нортон командером)... сейчас фар отдельно, в новом виндовом терминале он ломает габариты ((.. но уже разрулил и привык.. а так conemu был приятен...
но со старшипом даже сравнивать уже не могу ))) - VoidVolker, точнее там были очень интересные решения, но не нужные мне. а то что старшип очень мягко предлагает, просто прям сиюминутные потребности )))
- О как, понятно. Ну, я для себя пока не вижу каких-то киллер-фич в старшипе - conemu + git-bash + zsh + omz тоже великолепное и достаточно гибкое решение с кучей плагинов. Тем более, что на всех никсах тоже везде у меня стоит zsh.
Под виндой пользовался Wamp + PhpShtorm+Git+Far(Ctrl+0 - погасить панели)
Была папка для проектов.
1. извлекал туда проект
2. отрывал локалхост и на стартовой от вампа говорил новый хост - лежит в папке там то
3 иконка у часиков - перезапустить все
4. запускал шторм
5. во строенном терминале выполнял компосер. / а можно в том же фаре между 1-2
ну и терминал почти больше не требовался. Если там только зависимости добавить
Закомитить так это просто клавиатурным аккордом можно или несколько тыков мышкой в иде
Для некоторых проектов и без локального апача можно обойтись - шторм и так запустить
что PHP, что Node
Про VirtualBox уже сказали. Дополню терминалом: ConEmu + git-bash + zsh + oh-my-zsh.
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?

Да, веб-разработка на Windows возможна и довольно распространена. Windows является популярной операционной системой среди разработчиков благодаря своей широкой совместимости с различными инструментами и технологиями для веб-разработки.
Для начала вам понадобится установить необходимое программное обеспечение. В качестве веб-сервера можно использовать Apache или Nginx, которые легко установить и настроить на Windows. Для работы с базами данных вы можете использовать MySQL или PostgreSQL, которые также поддерживаются на Windows.
Для разработки веб-приложений на Windows вы можете использовать различные интегрированные среды разработки (IDE), такие как Visual Studio, PhpStorm, Sublime Text, VS Code и другие. Они обладают широкими возможностями для написания кода, отладки, автодополнения и других полезных функций.
Если вы работаете с веб-технологиями, такими как HTML, CSS, JavaScript, PHP, Python, Ruby и другими, Windows также поддерживает их без проблем. Вы можете использовать специальные пакеты установки, такие как XAMPP или WampServer, чтобы быстро настроить среду разработки на своем компьютере.
Кроме того, Windows имеет множество инструментов для управления версиями кода, таких как Git, Mercurial и SVN. Вы также можете использовать различные сервисы для хостинга репозиториев, такие как GitHub, Bitbucket или GitLab.
Таким образом, веб-разработка на Windows имеет множество возможностей и инструментов, которые помогут вам создавать качественные веб-приложения. Не стесняйтесь использовать Windows для своих проектов и экспериментировать с различными технологиями и инструментами для достижения желаемых результатов.