Кто-нибудь использует виртуальные машины для веб-разработки и почему? [закрыто]

10

Я вижу несколько разработчиков, которые любят использовать виртуальные машины для веб-разработки. Есть ли другие, которые делают это? Если есть, почему ты это делаешь? Есть ли плюсы / минусы для разработки на виртуальной машине, а не в не виртуализированной среде?

Я думаю, что в ВМ дела идут медленнее.

7wp
источник
Помимо виртуализации, существуют также системы на основе изображений, такие как Squeak и Pharo (производная от Squeak).
Джесси Милликен
@ Джесси Милликен Я не уверен, что ты имеешь в виду. Разве Squeak и Pharo не являются языком программирования? Я пытаюсь понять, как они связаны с виртуальными машинами.
7

Ответы:

20

Я использую виртуальные машины для тестирования IE. У меня есть выделенная машина Windows, но я склоняюсь к использованию виртуальных машин по нескольким причинам:

  • Сложно переключать компьютеры, даже если рядом с тобой
  • Откатить виртуальную машину очень легко, чтобы иметь чистую среду тестирования
  • Я бы предпочел использовать среду, которую пользователи будут использовать, а не класть вроде IETester, и вы, как правило, не можете запускать несколько версий IE одновременно.
  • Дешевле запускать несколько экземпляров виртуальных машин, чем покупать несколько тестируемых компьютеров.
  • Виртуальные машины, по крайней мере для Mac OS X, стали настолько хорошими за последние пару лет, что «медленная» стигма, присущая виртуальным машинам, неоправданна.

источник
2
С виртуальными машинами все в порядке, но только если у вас есть запасная память для правильной поддержки.
Мэтью Шарли
@ Мэтью: Да, но большинство компьютеров в наши дни поставляются со стандартом 4 ГБ, и для веб-разработчика этого достаточно для запуска хотя бы одной (если не двух) виртуальных машин одновременно.
7

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

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

Это просто дает вам возможность делать то, что вы хотите с вашими ресурсами.

Мэтью Шарли
источник
3

Я предпочитаю использовать виртуальные машины практически для всех разработок ... особенно, когда я работаю с командой разработчиков. Виртуальные машины позволяют мне создавать «среду в коробке», которая может быть быстро настроена с небольшой головной болью. Поскольку я использую MBP в качестве основного компьютера, я предпочитаю VMWare ... это намного менее болезненно, особенно в среде "главным образом Windows".

Что касается скорости, она, честно говоря, варьируется от настройки к настройке. Единственные реальные проблемы, которые я видел со скоростью виртуальной машины, включают а.) Нехватку физических ресурсов (памяти и т. Д.) Или б) не выделение достаточного количества ресурсов для вашей виртуальной машины. В противном случае, я на самом деле предпочитаю работать в виртуальной машине Windows на моем Mac, чем на собственной машине.

Casey
источник
2

Как уже упоминали другие, среда тестирования является большой.

  • тестирование браузера (например, сафари и т. д., ...)
  • чистая среда тестирования
  • легко иметь несколько конфигураций
  • тестирование доступности (программы чтения с экрана и т.п.)

У меня есть виртуальная машина, предназначенная исключительно для профилирования и отладки моего кода, в котором уже установлена ​​программа kcachegrind, а также selenium, xdebug и несколько других инструментов, настроенных для простого профилирования и отладки моего кода. Да, некоторые могут сказать, что это уже среда разработки, но лично мне нравится иметь виртуальную машину на рабочем столе, предназначенную для такого рода задач.

Также относительно медленности в ВМ:

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

Крис
источник
2

Я использую виртуальные машины все время. Для тестовых целей, рассуждение очевидно, но я также использовать его для моей реальной среды разработки, в основном потому , что 1) она делает переход на новое оборудование в никакой опасности, и 2) он дает мне легко «снимок» (или набор из моментальные снимки) возвращаются по мере необходимости для тех конфигураций моей среды разработки. Мои потребности могут быть уникальными - я в первую очередь разработчик Delphi, использующий несколько версий Delphi и множество сторонних компонентов, - но сэкономленное время и головная боль, связанные с моей средой разработки внутри виртуальной машины, возможно, не могли быть завышенным.

Тем не менее, не беритесь за коробку, на которой вы их запускаете, особенно когда речь идет о памяти. ; )

Jamo
источник
1

Это поздний ответ. Я согласен со всеми пунктами в принятом ответе, но я хотел бы добавить, что я использую виртуальные машины исключительно для веб-разработки, а не только для тестирования. Я нахожусь на iMac, использующем VirtualBox для запуска Windows, Fedora и Ubuntu - иногда все одновременно. У меня нет проблем с производительностью.

Я предпочитаю работать таким образом, потому что я работаю для клиентов, работающих как на серверах Fedora, так и на серверах Ubuntu, и это позволяет мне точно сопоставить среду разработки с производственной средой. Это также делает меня лучшим системным администратором в областях, наиболее важных с точки зрения разработки.

bogeymin
источник
1

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

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

Для новых приложений у вас будет самая последняя и лучшая настройка на вашем главном компьютере разработчика. Но что делать, когда вам нужно исправить какое-то старое приложение VB6, которое по-прежнему поддерживает ваша компания? Хотите установить Visual Studio 6 на свой прекрасный чистый компьютер VS2010? Я так не думаю!

Также означало, что любому Dev было довольно легко поддерживать любого клиента.

davewasthere
источник
0

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

Преимущество виртуальных машин заключается в том, что вы можете настроить разные ОС и браузеры для проверки неизбежных ошибок CSS, которые вы обнаружите в IE6 / 7/8.

David_001
источник
0

Я не вижу смысла разрабатывать сайты на виртуальной машине, для пользователя Windows это не нужно.

Вы можете запустить все в установке Windows (Portable IE, Chrome, Firefox, Safari, ...),
или вы можете использовать Expression SuperPreview, чтобы войти в новый мир кросс-браузерного тестирования.

Тамара Вийсман
источник
Такие вещи, как Portable IE, Expression SuperPreview, IETester, по сути, являются виртуализированными средами. На самом деле вы не работаете с реальной копией старых версий IE, а в случае таких вещей, как SuperPreview и IETester, у вас даже нет доступа к браузеру Chrome или архитектуре плагинов. Помимо IE, у вас нет доступа к другим версиям ОС тех же браузеров. Например, Safari в Mac OS X имеет функции, которых нет в Safari для Windows, а Chrome для Mac обычно отстает от Chrome для Windows.
Нет нет нет! Portable IE, Expression SuperPreview, IETester работают на вашей системе без участия виртуализации. Вы работаете с реальной копией, которая была настроена для работы в текущей среде и имеет такое же поведение ... Нет необходимости иметь доступ к браузеру Chrome или архитектуре плагинов при веб-разработке. Для Safari дополнительные функции снова не имеют отношения к кросс-браузерной веб-разработке. Для Chrome версии могут использоваться одновременно ... Если действительно нужно протестировать каждую версию браузера на каждой версии ОС, то для этого есть browsershots.org .
Тамара Вийсман
Попробуйте протестировать интеграцию с несколькими версиями Office. ВМ по-прежнему удивительно удобно иметь.
davewasthere
@davewasthere: А как Office связан с веб-разработкой? Я уверен, что виртуальные машины используют для разных целей, но для веб-разработки у вас ничего не получится ... Даже несколько версий Office и Visual Studio могут быть установлены вместе без виртуальной машины, но на самом деле существуют ограничения и компромиссы, когда вы действительно нужна виртуальная машина.
Тамара Вийсман
@ TomWij - у меня есть один клиент с интранет-приложением в ASP.Net, которое интегрируется с Word. Поскольку они используют несколько версий Office, хорошо иметь возможность иметь образ с каждой установленной версией. Я знаю, что это возможно для Office и IE. Но на самом деле я нахожу это боль.
Виртуальные машины
0

Я использую виртуальную машину для сопоставления поддоменов virtualbox.me (у меня есть домен) с подкаталогами папки на моей хост-машине, доступной для гостей.

С помощью этой настройки я просто создаю новый каталог и сразу создаю новый проект в своем собственном поддомене, т.е. / home / pete / virtualwww / my-super-project отображается на http://my-super-project.virtualbox.me/

Я написал руководство по репликации этого (он использует mod_vhost_alias и VirtualDocumentRoot) здесь:

http://otaqui.com/blog/1652/setting-up-a-virtualbox-virtual-machine-for-web-development-with-multiple-sites-using-mod_vhost_alias-and-virtualdocumentroot/

Пит Отаки
источник