Хороший, плохой, злой

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

Я считаю, что есть определенные этапы, которые почти каждый разработчик должен пройти на раннем этапе. Давайте немного упростим (много):

  • Этап 1 – научиться программировать
  • Этап 2. Узнайте, как писать правильно код.

Если вам интересно содержание этой статьи, скорее всего, вы в настоящее время переходите с этапа 1 на этап 2. Поздравляем! Это означает, что теперь вы понимаете базовые — или даже продвинутые — концепции веб-разработки и способы достижения цели. Однако простое выполнение дел вас больше не удовлетворяет. Потому что вы пришли к осознанию того, что в настоящее время вы тратите впустую много времени. Вы больше не хотите просто «дойти туда» — вы хотите добраться туда быстрее. Вы хотите написать код, который поддается сопровождению. Вы хотите иметь возможность экспериментировать с новыми функциями в безопасной среде, не опасаясь, что вы испортите работающий веб-сайт. Итак, без лишних слов, давайте посмотрим на ваши варианты рабочего процесса:

1. Развитие ковбойского стиля

Вы разрабатываете непосредственно на рабочем сервере. FTP, редактируйте файлы, сохраняйте их. Сайт еще работает? Могучий штраф. Сайт сломался? Отменить изменения, начать заново. Звучит ужасно? Это ужасно.

Плюсы:

  • Не требует настройки (кроме FTP-клиента и текстового редактора)

Минусы:

  • Вы редактируете (потенциально ломаете) действующий веб-сайт
  • Нет места для экспериментов
  • Инструменты сборки (например, Grunt) и системы контроля версий (например, Git) не являются частью уравнения, а это означает, что качество вашего кода страдает, потому что вы не используете пре-/постпроцессор CSS. Кроме того, у вас нет возможности легко вернуться к более ранней версии, если вы что-то сломаете.

2. Локальная разработка на вашей машине

Вы разрабатываете локально на своем ПК с помощью чего-то вроде MAMP или XAMPP. По сути, это сервер на вашем компьютере с локальной копией вашего проекта. Как только вы довольны новой функцией, вы загружаете файлы на рабочий сервер. Вы даже можете поставить все под контроль версий с помощью чего-то вроде Git и использовать инструменты сборки, такие как Grunt, для оптимизации вашего рабочего процесса и качества вашего кода. Это огромный шаг в правильном направлении, но есть некоторые оговорки.

Плюсы:

  • Довольно легко и быстро настраивается.
  • Не нужно беспокоиться о том, что что-то сломается, потому что это не повлияет на работающий сайт.
  • Инструменты сборки помогут вам ускорить процесс разработки и повысить качество кода.
  • Контроль версий гарантирует, что вы можете свободно экспериментировать, не рискуя ничего испортить.

Минусы:

  • Возможные сложности при развертывании: стек вашего локального сервера может сильно отличаться от стека на рабочем сервере. Это может привести к тому, что какой-то код не будет работать на вашем рабочем сервере, даже если он отлично работает на вашем компьютере.
  • Требуется предварительная настройка

3. Локальная разработка на виртуальной машине

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

Однако вам придется освоиться с использованием командной строки и некоторых дополнительных программных инструментов (например, Vagrant, PuPHPet), чтобы все заработало. Сначала это может показаться пугающим, но на самом деле это не так сложно, как кажется на первый взгляд. Как только вы освоите концепцию и установите свою первую виртуальную машину, повторить процесс будет очень просто. Есть также множество отличных руководств, которые шаг за шагом проведут вас через это. Поэтому, несмотря на то, что этот вариант требует, чтобы вы потратили больше всего времени на предварительную настройку, он окупится в долгосрочной перспективе.

Плюсы:

  • После того, как вы ознакомитесь с инструментами, настройка будет легкой и быстрой.
  • Не нужно беспокоиться о том, что что-то сломается, потому что это не повлияет на работающий сайт.
  • Инструменты сборки помогут вам ускорить процесс разработки и повысить качество кода.
  • Контроль версий гарантирует, что вы можете свободно экспериментировать, не рискуя ничего испортить.
  • Если ваш сайт работает нормально локально, он также будет работать без сбоев на вашем рабочем сервере, что делает процесс развертывания очень простым.

Минусы:

  • Требуется небольшая предварительная настройка для начинающих пользователей, знакомство со всеми инструментами может сначала показаться пугающим.
  • Вам нужно освоиться с командной строкой

Время запустить эту виртуальную машину

Я надеюсь, что эта статья дала вам общее представление о некоторых из ваших вариантов, их плюсах и минусах. Если вы спросите меня, второй и третий варианты оба в порядке. Тем не менее, я бы порекомендовал вам пойти ва-банк и выбрать маршрут виртуальной машины. Да, поначалу это может показаться сложным, и может потребоваться некоторое время, чтобы его запустить и запустить (не больше дня). Но вы также познакомитесь с концепциями (например, с конкретными серверными стеками), о которых иначе могли бы и не знать. Это поможет вам глубже понять веб-технологии и, следовательно, в долгосрочной перспективе вы станете лучшим разработчиком. Если вам это нравится и вы хотите приступить к работе прямо сейчас, взгляните на это превосходное пошаговое руководство, которое проведет вас через процесс запуска и запуска вашей первой среды разработки виртуальных машин.