Linux или mac os для веб разработки

Linux, Windows или macOS: что выбрать программисту — отвечают эксперты

Linux, Windows или macOS: что выбрать программисту — отвечают эксперты

У каждой ОС есть свои плюсы, минусы и особенности, и как правило программисты выбирают ОС на основе своих предпочтений и представлений. Но что, если отбросить личные симпатии и попытаться взглянуть объективно: какая ОС даёт больше всего преимуществ программисту? Мы задали этот вопрос экспертам, и вот что они ответили.

старший backend-разработчик .defa

Выбор ОС в первую очередь зависит от того, в какой области разработчик работает, а ещё это дело привычки и субъективных представлений об удобстве. Я веб-разработчик и успел попробовать несколько операционных систем. Вот мой личный рейтинг удобства ОС именно для разработки веб-решений.

Первое место — macOS. Практически всё идеально, могут возникать проблемы с Docker, поскольку не всегда оптимально используются ресурсы (бывает >= 70 % CPU). Но это мелочи. macOS — это практически идеальный баланс между ОС для работы и для повседневных задач.

Ещё одно первое место — Ubuntu/Mint (и другие Linux-дистрибутивы). Именно для разработки я считаю это семейство ОС лучшей. Из плюсов перед macOS — близость к production-окружению, «нативная» работа Docker. Из минусов — всё-таки иногда всплывают ошибки, которые без консоли не поправить (пример, проблемы со звуком), ну и софта гораздо меньше.

Второе место отдам Windows. Здесь можно спокойно вести разработку. При наличии такого софта как Docker или Vagrant многие проблемы можно легко обойти. Чего мне действительно не хватает в Windows, так это нормального терминала (ConEmu, Git Bash и другие не в счёт). Зато софта под эту ОС гораздо больше, чем на Ubuntu или macOS.

В качестве заключения отмечу, что всё-таки выбирать стоит ту ОС, в которой разработчику привычнее и комфортнее работать. Если всё в операционной системе устраивает, то переход на что-то другое вызовет лишний стресс и трату времени на изучение возможностей новой ОС. В конце концов, в ту же Windows потихоньку внедряется WSL.

инженер-программист компании ICL Services

На вопрос, какую операционную систему выбрать для программирования, в большинстве случае нет чёткого ответа, т. к. это больше субъективный выбор каждого человека: как по удобству взаимодействия с самой системой, так и с используемыми инструментами для разработки. Большинство популярных языков и сред разработки в основном присутствуют на всех платформах.

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

Если ограничений нет, то, я считаю, самый правильный выбор — попробовать каждую из систем, для того чтобы решить, что же конкретно тебе удобнее. У каждой системы есть как плюсы, так и минусы: где-то удобнее разворачивать среду и работать с ней, где-то есть более удобные инструменты разработки и т. д., поэтому говорить, что для веб-разработки нужна обязательно macOS или для разработки на .net core нужен Windows, я считаю, неправильно.

Также для нашей страны актуален вопрос цены рабочей машины. Например, для многих, а тем более для начинающих, продукты компании Apple могут показаться дорогими при прочих равных. У компьютеров на Windows или Linux ценник более доступный.

Если подытожить, то если нет ограничений на выбор системы, советую попробовать все системы и выбрать ту конфигурацию системы и инструментов, которую удобно использовать именно вам.

декан профессии «Программист С++» образовательного портала GeekBrains

В первую очередь нужно быть уверенным, что инструмент, с которым человек будет работать, удобен. А операционная система — это инструмент и ничто иное. Если говорить о выборе операционки, то неплохо было бы сразу знать, где ваше приложение будет в дальнейшем крутиться. Если человек предполагает разработку под операционную систему OS X (под MacBook, iOS, iPhone, iPad), то ему обязательно нужен опыт работы в macOS и собственно сама OS X, потому что все остальные операционки хоть и поддерживают языки Swift и Objective-C, но на довольно слабом уровне. Инструментарий разработки под OS X внутри OS X хорошо настроен и нативен.

Дальше у нас встает извечная борьба между Windows и Linux. Начинать холивар, я думаю, смысла нет. Если у пользователя есть привычка работать в Windows — то имеет смысл в этой операционной системе и оставаться, так как в принципе, 80 % задач разработки можно закрывать в Windows. Если хочется попробовать что-то другое — это, бесспорно, Linux. Желательно делать Linux на виртуальной машине, чтобы не потерять своё текущее окружение, но иметь возможность «пощупать». Очень много всякого софта для разработки написано под обе операционки, тут тоже стоит сразу оговориться, что если предполагается разработка на Android — то надо быть по крайней мере знакомым с операционной системой Linux. Необходимо представлять, что это за окружение, как оно работает, знать про открытые драйверы, системные настройки, потому что Android — это тоже Linux.

Читайте также:  Командная строка windows работа с каталогами

Есть специализированный стек разработки под Windows: это разработка под Active Directory, разработка разнообразных протоколов, разработка под Microsoft Office и прочие штуки. Понятное дело, что с Microsoft Office перейти на Linux будет нельзя, под него стопроцентно нужен Windows. Тут встает вопрос лицензирования. Если у человека всю жизнь был Linux, то ему не с руки покупать лицензию, которая условно стоит 8 000 рублей. Поэтому в большинстве случаев пользователи остаются на Linux.

Я, в свою очередь, несмотря на то, что веду свои уроки с макбука, активно пропагандирую Линуксы разного рода: это и всякие попсовые Debian и Ubuntu, разного рода Arch Linux, даже Red Hat и прочее, прочее. Соответственно, если у вас есть какие-то опасения, то стоит помнить, что инструментарий на Linux такой же, как на Windows, то есть все среды разработки (всё, что не касается Microsoft Visual Studio) портированы и работают кроссплатформенно. Для новичка будет несложно сориентироваться, главное, не надо сразу начинать лезть в консоль или жить в терминале и пугать себя.

ведущий frontend-разработчик TalentTech

Выбор операционной системы, как правило, происходит на усмотрение самого программиста. Это дело вкуса — кому-то нравится macOS, другие считают Linux топовой системой. Одно важное условие: если ваш продукт будет иметь дело с iOS, то поле выбора ограничено — тут не обойтись без macOS. Иначе ничего не получится, если только разработка не идёт на удалённых серверах. Также эта система считается более user-friendly. То есть все мобильные разработчики, чьи продукты будут запущены в AppStore, не имеют другого выбора, кроме Mac.

Веб-разработка менее требовательна к ОС. Лишь два браузера – Explorer и Safari являются специфическими: первый будет работать только на Windows, а второй – на Mac. Когда разработчику нужно тестировать то, что он разработал, — ему понадобится соответствующий браузер.

Linux считается немного более сложным вариантом — она также бывает простой в использовании, но есть и «хардкор-версия», она скорее для тех, кто «пишет» драйверы и в целом больше работает с «железом». Преимущество этой системы в том, что можно собрать её целиком «под себя» и иметь над ней полный контроль. Это сложнее, требуются мозги и навыки, но использование в таком случае будет немного производительнее.

Разработка игр, как правило, происходит на кроссплатформенных системах. А вот приложения backend-разработчиков чаще выпускаются на Linux, соответственно будет удобно держать именно эту систему на своей машине разработки — это может быть и локальная машина, и нет. Часть разработчиков работает на удалённых серверах, а их локальная машина — это по факту просто интерфейс доступа.

Также если вы привыкли работать на macOS, то будет довольно трудно «переключиться» на Windows, и наоборот. То, чего на Mac можно добиться простыми действиями, на «винде» делается сложно.

разработчик в Kodix Auto

На такой вопрос сложно дать однозначный ответ. Скорее, это больше зависит от предпочтений разработчика. Но очевидно следующее:

  • Если пишете программы для какой-то определённой платформы, то её и нужно выбирать.
  • Если это веб-разработка, то вероятность того, что сервер будет крутиться на Unix — 80 %, а значит, стоит выбирать Linux или Mac.

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

Итак, кому какой системой стоит пользоваться?

Всё зависит от двух вещей: что вам удобно и чем вы занимаетесь. Например, если вы разрабатываете iOS-приложения, то вам придётся пользоваться macOS; если вы пишете бэкенд и сервер крутится на Linux, то, скорее всего, на нём вам и удобней будет работать. Если не принимать во внимание завязанные на конкретной платформе стеки разработки, то всё зависит от ваших предпочтений, ведь очень много софта работает на всех основных системах. Нравится работать в Windows/Linux/BolgenOS? Работайте дальше, если это не ограничивает ваши возможности. К тому же при необходимости в простых случаях можно воспользоваться виртуальной машиной. А переучиваться работать на другой системе просто «потому что» — пустая трата сил и времени.

Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики. Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на experts@tproger.ru, мы расскажем, как это сделать.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник

Читайте также:  Последняя версия mac os для imac 2011

Что лучше: дистрибутив Linux в яблочном стиле или нормальный хакинтош?


Дистрибутив Trenta OS для публичного тестирования обещают выпустить в начале 2021 года

На вкус и цвет товарищей нет, но некоторым нравится интерфейс macOS. При этом они не хотят погружаться в закрытую экосистему, где Apple может запретить любую программу на компьютере, отслеживая запуск каждого бинарника: хэши отправляются в Apple в реальном времени. Разумеется, для нашей безопасности.

Конечно, большинство пользователей Apple благодарны за такую заботу, но некоторые считают её неуместной.

Выход есть: свободная и универсальная система Linux поддерживает любой GUI, в том числе «яблочный». Есть особые дистрибутивы с интерфейсом в стиле macOS или iOS — специально для пользователей с повышенными эстетическими запросами. И для тех, кто стремится вырваться из «огороженного сада» Apple, не теряя при этом чувство прекрасного.

Преимущества Linux над macOS

Есть узкие ниши, где выбор в пользу macOS оправдан, например, видеомонтаж в Final Cut Pro, профессиональная звукообработка и микширование в Logic Pro X. Тут действительно Linux или Windows сложно конкурировать с Mac. Но в других ситуациях Linux объективно предпочтительнее. Вкратце перечислим причины, по которым люди переходят с macOS на Linux.

Экосистема

Linux — это не операционная система и не одна компания, а целое сообщество компаний, организаций, разработчиков, которые выпускают огромное количество Linux-совместимых устройств, драйверов, окружений рабочего стола, дистрибутивов и т. д. Это буквально тысячи компаний, сотни тысяч или миллионы разработчиков.

В этом смысле сравнивать Linux и macOS просто нечестно в отношении macOS, это как избиение новичка в спортивной секции группой профессиональных боксёров.

Железо

Свободную ОС можно установить практически на любой компьютер на любой архитектуре CPU, выбор безграничный: от одноплатников до последней модели Tesla Model S (см. репозиторий Tesla на GitHub).


Новый дизайн Model S с Linux-компьютером на 10 терафлопс

Даже на стареньком компьютере с 64 МБ оперативной памяти заведётся минималистичный Tiny Core. Или подбираем произвольную конфигурацию для мощнейшего игрового десктопа, каких у Apple просто нет в наличии. Хотя сразу заметим, что macOS можно поставить на стороннем железе (см. раздел «Хакинтош»).

Безопасность

Количество зловредов для macOS постоянно растёт. Здесь уже не та безопасная гавань, что десятилетие назад.

Под Linux тоже есть вирусы, но это свободная система с открытым исходным кодом, где уязвимости мгновенно исправляют, как только обнаружат. А вот в macOS они долгое время могут оставаться неисправленными, как это произошло с последней уязвимостью в sudo (CVE-2021-3156): её мгновенно запатчили во всех дистрибутивах Linux, но не в macOS.

Наверняка Apple не заставит долго ждать, но порочна сама система, основанная на центральном вендоре, который превращается в единую точку отказа. Увидеть исходный код macOS невозможно. Это как автомобиль с заваренным капотом, потому что вам запрещено смотреть на двигатель.

Полный контроль

Что-то не нравится в интерфейсе или функциях? Просто убираем это или настраиваем на свой вкус. Так работает практически всё в Linux. Не нравится интерфейс GNOME в Ubuntu? Ставим KDE. Есть ещё масса расширений для GNOME. Самые популярные — загрузка пользовательских тем оформления, виджет с погодой и GSConnect для интеграции с Nautilus, Chrome и Firefox.

Теоретически можно изменить даже ядро: скомпилировать его с нестандартными параметрами или изменить настройки ядра в процессе работы. Например, вот некоторые настройки в файле /etc/sysctl.conf :

Открытый исходный код позволяет внести изменения в любой компонент операционной системы.

Личный и профессиональный рост

Полный контроль над системой несёт и косвенные преимущества. Это возможности для саморазвития, улучшения профессиональных знаний в различных областях IT, бонус для профессионального роста и карьеры. Знание Linux необходимо в очень многих специальностях: девопсы, облачные системы, Kubernetes, да и вообще для любого кандидата. Речь идёт не только о технических знаниях, таких как установка приложений из консоли, а о философии Open Source, без понимания которой сложно представить образованного человека в 21 веке.

Знание macOS тоже полезно, потому что такому человеку проще будет учить Linux. Многие инструменты одинаковые, ведь это родственные ОС из одного семейства *nix.

Стабильность и производительность

Стабильность и высокая производительность вытекают из предыдущих преимуществ — открытый исходный код, гибкость в настройке, безопасность. Именно по этим причинам Linux является главной серверной системой. У админа настолько полный контроль над платформой, что он может настроить её на максимальную производительность для конкретных задач.

Полный контроль над системой зачастую идёт в ущерб комфорту. Для многих юзеров удобнее, когда оптимальный выбор уже сделан по умолчанию. В Linux это не так. Но только полный контроль обеспечивает надёжность.

Читайте также:  Стандартные размеры консоли windows

Ещё одна веская причина выбрать Linux вместо macOS.

Сегодня большинство Windows-игр отлично запускаются под Linux благодаря системе Proton, интегрированной в Steam Play.

Под macOS нормальные игры придётся запускать через программы виртуализации типа Parallels Desktop, потому что Proton для macOS не существует. И есть серьёзные сомнения, что его удастся разработать в силу особенностей macOS. Например, macOS не поддерживает программные интерфейсы Vulkan, которые необходимы для работы DXVK, а также ряд других важных API для Proton и Wine.

Поэтому для геймеров Linux — лучший вариант.

Конечно, есть и другие причины перехода на Linux: экономические, этические и профессиональные, этот список очень длинный.

Хакинтош

Как мы уже упоминали, есть вариант установить практически любую версию macOS на произвольном железе. Полный набор инструкций, видео и форумов с советами см. на сайте Hackintosh.com.

Технические спецификации всех моделей Mac за все годы опубликованы на сайте EveryMac.com. Это чтобы сравнить со своей конфигурацией и подобрать оптимальную версию macOS.

Например, все модели 2020 года:

А вот сравнение технических характеристик трёх произвольных моделей iMac за 2017-2019 годы:

Это некий компромисс, почти настоящий «мак», но в то же время свобода устанавливать систему на любом железе, как хочется вам, а не компании Apple. То есть тут пользователь уже перестаёт быть продуктом, а делает продуктом систему macOS, хотя в идеологии Apple должно быть наоборот.

На видео показана пошаговая установка macOS Big Sur (macOS 11) на совместимый компьютер с помощью конфигуратора OpenCore Gen X (Dortania).

Десктопы

Вместо хакинтоша можно поставить полноценный Linux, со всеми преимуществами надёжной опенсорсной системы. И если хочется красивый интерфейс в стиле macOS, то Linux его обеспечит. Есть дистрибутивы в стиле Apple для настольных компьютеров, ноутбуков, планшетов и смартфонов.

Для десктопа довольно много дистрибутивов, которые похожи на macOS по элегантному и минималистическому стилю. Вот некоторые из них:

    elementary OS на базе Ubuntu, но с окружением рабочего стола Pantheon, написанном с нуля специально для создания эстетического эффекта macOS. В комплекте ряд приложений, выполненных в том же визуальном стиле: калькулятор, календарь, текстовый редактор, менеджер файлов, браузер Epiphany и др.


elementary OS

  • Deepin Linux
  • BackSlash Linux
  • Gmac Linux
  • Ubuntu Budgie
  • Solus
  • Zorin OS
  • Trenta OS (публичное тестирование начнётся в 2021 году) с иконками Trenta


    Иконки Trenta

  • … и другие.
  • Планшеты и смартфоны

    Специально для планшетов разработан JingOS — «первый в мире дистрибутив Linux в стиле iPad».

    Правда, разработчики ещё не опубликовали исходный код в репозитории на GitHub, но обещают сделать это в течение полугода. JingOS доступна для скачивания с 31 января 2021 года, то есть это совсем свежий дистрибутив.

    Главные особенности: интерфейс и управление в стиле iPad, жесты мультитач, красивые иконки и анимации. JingOS идёт в комплекте с некоторыми нативными Linux-приложениями, включая Calendar, Timer, Files, Media Player и Calculator, но разработан специально для планшетов.

    JingOS — полноценный Linux, запускающий на планшете нативные десктопные приложения, такие как VS Code, Libre Office и др. Дистрибутив основан на Ubuntu 20.04, KDE v5.75 и Plasma Mobile 5.20, но скоро Plasma Mobile заменят на собственную JDE (Jing Desktop Environment).

    Дистрибутив пока протестирован только на Surface Pro 6 и Huawei Matebook 14. Летом обещают выпустить версию JingOS ARM с поддержкой Android-приложений. На самом деле компания хочет продавать собственные ARM-смартфоны и планшеты JingPad, для этого и разрабатывает операционку. Но обещает, что при этом система всегда останется открытой и бесплатной.

    Предположительно, JingPad выйдет на восьмиядерном процессоре (4 ядра Cortex-A75 на 2,0 ГГц и 4 ядра Cortex-A55 на 1,8 ГГц) с графикой PowerVR GM 9444. То есть по производительности он будет примерно как Pixel 3.

    Пока что разработчики выложили для скачивания версию JingOS 0.6 (образ ISO), но лучше дождаться более стабильной версии 0.8 в марте.

    Кстати, летом 2020 года проходила информация, что разработчики дистрибутива Deepin Linux тоже готовят версию для планшетов в стиле iPad.


    Deepin Linux для планшетов

    Подводя итог, нет ничего плохого в стремлении сделать интерфейс в стиле Apple. На самом деле, дизайнеры UI/UX этой компании делают хорошую работу, у них есть чему поучиться. Они выдержали похожий минималистичный стиль на устройствах разного форм-фактора, и это выдающийся дизайн. Если кто-то пытается реализовать «стиль Apple» на десктопе или планшете, то в реальности он просто пытается реализовать удобный, эффективный и красивый интерфейс.

    На правах рекламы

    Виртуальные серверы с возможностью создать свой тариф в несколько кликов. Скорость интернета — 500 Мегабит, новейшее железо и возможность устанавливать ОС со своих ISO. Всё это про наши эпичные серверы. Максимальная конфигурация — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe! Поспешите заказать.

    Источник

    Оцените статью