Выбор ОС для разработки под Docker: Windows или Linux?

Здравствуйте
Я новичок в вэб-разработке. ОС, которой пользовался "всю жизнь" - это Виндовс, начинал ещё с вин98. Винда меня как пользователя и, пока что, начинающего вэб-разработчика полностью устраивает. Давно уже стал пользоваться OpenServer. Как мне кажется вещь, очень хорошая и не только для учёбы. На этот счёт мнение у всех своё. А это моё мнение новичка, скорее всего не совсем корректное. Много слышал, что если разрабатывать под виндой, то при переносе проекта на продакшн начнутся всякие проблемы, потому что там будет линукс. И вообще винда зло, а линукс чудо земное, особенно для вэб-разработчика.

Есть люди (как я думаю матёрые разрабы), которые мне помогают с направлением в освоении вэба, за это им очень благодарен и не хочу переходить черту, после которой меня пошлют нах*й. Я и так им много назил дурацкими вопросами, потому лучше задам эти, возможно, дурацкие вопросы здесь. Они настойчиво мне советовали начать пользоваться линуксом, а именно вести разработку на линуксе. OpenServer считают чем-то вроде игрушки из яселек. К тому же они сами линуксойды-макбукфилы, Винду считают куском глючного г*вна. Я же сам, попробовав несколько разных дистрибутивов линукса, считаю линукс далёким от идеала. Это моё личное мнение, не кому его не навязываю. После винды, такой удобной и родной, пусть даже не идеальной, линукс это как другая планета. Образно говоря, как открывать все двери (даже не запертый холодильник, к примеру) с помощью монтажки (терминал) и "такой-то матери" (sudo su). Монтажка аргумент - железный, тут не поспоришь. Дело за тем, как и где её правильно приложить. Лично для меня переход на линукс - это боль и красные глаза. Хотя это будет очень ценный опыт.
Также, те самые люди, настоятельно советовали забросить OpenServer и юзать Docker, так как это избавит меня от кучи проблем в будущем. К тому же это по-взрослому и бородато.

На данный момент изучаю Laravel и по идее давно уже должен был начать разрабатывать учебный интернет-магазин. Но сильно "въелись" их слова, и думаю, возможно стоить сменить инструментарий. Думаю теперь как лучше поступить, но не знаю всех нюансов:
1. К дьяволу, пока что линукс. Буду дальше учиться на винде:
1.1. Туда же пока и докер, продолжать учиться ларавел на OpenServer? Ну а как в будущем? Всё-равно придётся менять инструменты. Скажите, аксакалы-вэб-разработчики, кто из вас пользуется OpenServer? Что-то мне кажется, что никто им в зрелой фазе жизни разраба не пользуется.
1.2. Перейти на Docker и работать с докером под виндой? Вроде как для докера разницы нет под какой ос работать. И даже работая из-под винды, с продакшеном на линукс проблем возникнуть по идее не должно. Верно ли мыслю?
2. Всерьёз начать работать на линукс, красноглазить и сдерживать рвотные позывы. А потом через боль и страдания со временем принять святой линукс? И юзать тот же докер на линукс, походу набивая шишки при разработке. Буду работать с линукс в виртуальной машине, устанавливать второй системой пока не хочу.

Как будет лучше поступить? Мне бы сейчас освоить побыстрее лару и может уже начать зарабатывать, финансовое положение такое, никакое.

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

Простите за "многобукв". Может кто-то вспомнит свои подобные метания в своё "зелёное" время. Может у кого есть опыт разработки на докере в обоих ОС и он даст действительно дельные советы.
  • Вопрос задан
  • 3010 просмотров
Решения вопроса 3
New_Horizons
@New_Horizons
Бред:
линух на рабочем компе лажа, имхо.

Используй виртуалку либо wsl (но он медленный как по мне)
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
10ка нормас с докером

а главное - за 5 евросов можно купить лицуху
и Линух запустить на 10ке же
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Разверните полноценную виртуалку, исчезнут все ньюансы. А инструменты разработки под линукс ну откровенно гоано.
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Разработку ведут не столько в операционке, сколько в твоем любимом IDE/редакторе.
А вот запускать сайт (бэкенд), в принципе лучше в таком же окружении, в каком он будет крутиться в продакшене.

Совершенно несложно поставить виртуалбокс с линуксом, и деплоить сайт в него. Или купить хостинг и выкладывать туда (я больше предпочитаю локалхост, так как безопаснее, быстрее, проще).

Люди, которые хаят виндовс - просто не умеют им пользоваться. Все основные популярные ОС не просто так популярные, и полны своих достоинств.
Сколько я не общался с хейтерами - практически все аргументы больше касаются того, как люди привыкли работать с компьютером в определенной ОС, и то, что фичи в другой ОС работают иначе не только технически, но и идеологически, они не хотят принимать.
Ответ написан
@iddqda
network engineer, netdevops
Да пофиг сейчас на чем прогать
Я у себя на работе выделил сервер с убунтой под разработку (headless т.е. без X-ов)
накатил туда code-server (vs-code) и gogs (aka github on prem)
И теперь спокойно запускаю vscode в браузере из под винды ли, мака или той же убунты на моем основном рабочем компе.

Кстати с удивлением обнаружил, что мак почти полностью заменяет мне линукс для моих задач.
Так то я в основном сетевик и CLI моя родная среда. Но так же я лайтово занимаюсь прогерством.
Автоматизирую сетевые задачи. Не только скрипты, есть и чатботы и веб-приложения с развесистым бекендом и на докерах. Правда не PHP. Python да js в основном.
А вот чисто в винде когда прогать попытался - не осилил среду рабочую настроить
Там же по умолчанию вообще ничего нет. Все приходится отдельно ставить из разных не особо доверенных источников
Ответ написан
Комментировать
@ProFfeSsoRr
Сис.админ по Linux
Linux советуют тебе (ну если отбросить всякие нравится/не нравится, а только объективно) потому, что продукт твой будет в итоге крутится на линуксе. Т.е. чтобы ты, как разработчик, был ближе к инфраструктуре. Причем скорее всего тебе, как разработчику, нужно будет понимать, что сделать на линуксовом сервере, чтобы посмотреть свои логи и т.д. и т.п. Т.е. линукс на базовом уровне знать надо, а для этого проще всего его себе поставить и попользоваться.
Про докер: докер под винду и под линукс разный, если ты пишешь под линукс в итоге - ты в винде запускаешь докер, который запускается в виртуалке с линуксом. Т.е. фактически да - ты из-под винды работаешь в линуксе в каком-то виде.
Тут еще такой момент - майкрософт в win10 затащили с линукса уйму всего, начиная от того, что они сам линукс притащили, заканчивая тем, что и терминал новый пишут крутой. Т.е. сейчас разница между "сидеть на винде" и "сидеть на линуксе" уменьшается. Тот же visual studio code есть на обоих платформах, многие инструменты - браузерные по сути, соответственно работают везде. Т.е. сейчас переехать с винды на линукс проще, не надо учить новые инструменты типа IDE, но и остаться на винде легче теперь. Так что попробуй освоится с докером в винде, и на виртуалке в линуксе настроить всё аналогичное и посравнивать процесс работы.
Ответ написан
Комментировать
Сам предпочитаю вести разработку под Linux. Т.к. приложения, которые я разрабатываю крутятся под Linux. Проще настроить окружение для отладки, чтобы отлавливать ошибки.
Меньше "у меня всё работает".
А так. Если для учёбы, то там где лично вам удобно.
Если для работы, то работать в том окружении, что и вся команда.
Ответ написан
dilnix
@dilnix
Friendly linuxoid
Мой вариант - Linux с Docker'ом, и разработка вся там. Но есть много сотрудников и друзей, кто сидит на Windows, и разрабатывает со мной, или примерно то же самое, с использованием Docker.
Как по мне, да, нужно уже забыть про старый добрый OpenServer. Это всё-таки ясли.
Переходить на Linux или нет - дело лишь вкуса. Просто нужно понимать, что 90% веба крутится на нём, и в разработке обязательно с ним придётся сталкиваться. Но достаточно базового понимания, без постоянного использования "у себя", чтобы справляться с вызовами.
Ответ написан
Комментировать
@ZoomLS
Если не ведётся разработка под винду, то конечно же GNU/Linux. Иначе придётся часто решать проблемы винды(тем более с Docker), а не разработки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы