Веб-разработчики. Лучше ли заниматься разработкой на локальной машине или на удаленном хосте? - PullRequest
37 голосов
/ 30 октября 2008

Каковы плюсы / минусы веб-разработки на вашем локальном компьютере, а не на централизованном сервере разработки? Для тех, кто использует dev на вашем локальном компьютере, как сохранить обновленную архитектуру БД для локальной разработки, когда в нее вовлечено несколько разработчиков?

В частности, в настоящее время я экспериментирую с XAMPP для PHP, и мне было любопытно, как я синхронизирую экземпляр БД MySQL на моей локальной машине, когда другие разработчики регулярно меняют структуру данных / БД.

Является ли местное развитие практичным только в одиночку?

Ответы [ 17 ]

1 голос
/ 30 октября 2008

Я создавал сайт в Ruby on Rails и занимался разработкой локально, но развертывал на удаленной машине так часто, как только смогу. В Agile Web Development с Rails я читал, что чем больше вы практикуетесь в развертывании, тем лучше, потому что когда придет время развертывания в рабочей среде, сюрпризов не будет.

1 голос
/ 30 октября 2008

Оба. Проведите некоторую интеграцию и модульное тестирование на своем сервере разработки (который, в идеале, должен быть как можно ближе к вашему живому серверу, но локальным), затем проведите некоторое приемочное тестирование в среде QA, которая должна быть той же самой машиной, что и ваш живой сервер или точно такая же настройка (аппаратная, программная и т. д.) и должна быть удаленной.

Когда речь идет о части вопроса о базе данных, вы можете:

  • каждый имеет свою собственную копию базы данных ИЛИ
  • синхронизируйте данные / структуру с помощью централизованного скрипта (возможно, как часть вашей сборки)
1 голос
/ 30 октября 2008

Одной из проблем при тестировании на локальном хосте является то, что вы можете пропустить вещи, которые являются ссылками на локальные файлы, а не доступны через браузер. Мой отец всегда размещал ссылки на своем веб-сайте клуба, в которых были такие вещи, как 'a href = "C: \ Мои документы \ Camera Club \ Photos ...", и когда я говорил ему, что он это сделал Он сказал бы: «Это сработало для меня». Точно так же в профессиональной среде у вас могут быть вещи, которые вы забыли проверить в управлении исходным кодом, и поэтому они не будут развернуты на реальном сервере.

Одним из компромиссных решений может быть наличие виртуальных машин, VirtualBox, VMWare или Parallels, чтобы вы могли запустить виртуальную коробку Solaris, Windows, Mac и / или Linux для ее тестирования - это покажет вам, как выглядит ваш сайт. браузеры по умолчанию на каждом, плюс вы можете убедиться, что все работает на самом деле через нелокальное соединение. Еще лучше было бы иметь виртуальную машину, на которой вы развертываете, и использовать ее в качестве веб-сервера для тестирования.

Если ваша базовая ОС - OpenSolaris, вы даже можете использовать ZFS и снимки, чтобы откатывать виртуальные машины до их базового состояния после каждого запуска теста.

0 голосов
/ 30 октября 2008

В такой ситуации я всегда делал это на сервере разработки. Так как перекомпиляций нет. Вы всегда можете получать новый снимок БД каждый день и загружать его на свой компьютер. Или просто установите локальный веб-сервер и укажите базу данных на поле dev.

0 голосов
/ 30 октября 2008

Я обнаружил, что разработка кода на локальных машинах с использованием контроля исходного кода при доступе к централизованной базе данных разработки работала отлично. Синхронизация нескольких БД оказалась сложной задачей.

0 голосов
/ 30 октября 2018

Развивайся локально. Обратите внимание на даты ответов наоборот. Не заблуждайтесь, что они очень устарели.

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

Но YIKES! Некоторые ответы на этот вопрос описывают развитие производства, серьезную эскалацию рисков. Пояснение: строго избегайте разработки на производстве. (Я уверен, что эти разработчики больше не защищают это. Вероятно, истек срок действия устаревших ответов. Возможно, те, кто проголосовал, вернутся и укажут свое последнее мышление.)

Рекомендуемые решения, помимо упомянутых в принятом ответе:

  • Контейнерный ваш рабочий процесс разработки, если вы можете (например, попробуйте Docker).
  • Избегайте отправки баз данных из локальной в удаленную; найти более инкрементный, управляемый процесс, основанный на управлении исходным кодом. Инициатива по управлению конфигурацией в Drupal 8 предоставляет интересный пример.
  • Для контроля версий рассмотрите Git. Если вы откладываете принятие решения по управлению исходным кодом, больше не откладывайте!
0 голосов
/ 30 октября 2008

Как правило, у вас есть локальный сервер разработки, которым все пользуются.

...