Хтось використовує віртуальні машини для веб-розробки, і чому? [зачинено]


10

Я бачу декількох розробників, які люблять використовувати віртуальні машини для веб-розробки. Чи є інші, які роблять це? Якщо є, навіщо це робити? Чи є які-небудь плюси / мінуси для розвитку на віртуальних машинах, а не в не віртуалізованому середовищі?

Я б подумав, що у ВМ все йде повільніше.


Крім віртуалізації, є також такі системи, що базуються на зображеннях, як Squeak і Pharo (похідна від писку).
Джессі Мілікан

@Jesse Millikan Я не впевнений, що ти маєш на увазі. Хіба Squeak і Pharo не є мовою програмування? Я намагаюся зрозуміти, як вони стосуються віртуальних машин.
7wp

Відповіді:


20

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

  • Перемикати комп’ютери - це клопот, навіть якщо він знаходиться поруч
  • Відкатати VM надзвичайно просто, щоб мати чисте середовище для тестування
  • Я вважаю за краще використовувати навколишнє середовище, яку користувачі насправді збираються використовувати, а не хизуватись, як IETester, і ви, як правило, не можете одночасно запускати кілька версій IE.
  • Це дешевше запускати кілька екземплярів VM, ніж купувати декілька комп'ютерів для тестування
  • ВМ, принаймні ті, які використовуються для Mac OS X, стали настільки хорошими за останні кілька років, що «повільна» стигма, надана VM, не є обґрунтованою.

2
Відеомагнітофони мають швидку швидкість, але тільки якщо у вас є запасна пам'ять для належної підтримки.
Меттью Шарлі

@Matthew: Так, але більшість комп’ютерів сьогодні оснащені стандартом 4 Гб, а для веб-розробника цього достатньо для роботи принаймні одного (якщо не двох) віртуальних машин одночасно.

7

Інша причина, по якій люди використовують VM для розробки веб-сторінок, полягає у віртуалізації серверного середовища, яке вони можуть вимкнути дуже легко.

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

Це просто дає вам таку гнучкість робити те, що ви хочете, зі своїми ресурсами.


3

Я вважаю за краще використовувати VM для майже всієї розробки ... особливо коли я працюю з командою розробників. Віртуальні машини дозволяють мені створити "середовище в коробці", яке можна швидко налаштувати з невеликим головним болем. Оскільки я використовую MBP в якості своєї основної машини, я віддаю перевагу VMWare ... це набагато менш болісно, ​​особливо в середовищі "переважно Windows".

Що стосується швидкості, вона чесно змінюється від налаштування до налаштування. Єдині реальні проблеми, які я бачив зі швидкістю VM, пов'язані з: a.) Недостатньою кількістю фізичних ресурсів (пам'яті тощо) або b.), Що не виділяють достатню кількість ресурсів для вашої машинки управління. В іншому випадку я фактично вважаю за краще працювати в Windows VM на своєму Mac, ніж працювати на рідній коробці.


2

Тестування середовищ є великим, як згадували інші.

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

У мене VM суто для профілювання та налагодження мого коду, який вже має налаштування kcachegrind, разом із селеном, xdebug та кількома іншими інструментами, налаштованими для легкого профілювання та налагодження мого коду. Так, деякі можуть сказати, що таке вже було б середовище розробки, але особисто мені подобається мати VM на своєму робочому столі, присвяченому подібним завданням.

Крім того, щодо повільності роботи ВМ:

У ВМ все йде повільніше, оскільки накладні витрати потребують "віртуалізації" навколишнього середовища. Однак ВМ стає все ближче і ближче до гіпервізора, що зменшує накладні витрати, необхідні для ВМ.


2

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

Але це не означає, що ви не кладете на скриньку, на якій ви запускаєте їх, особливо якщо це стосується пам'яті. ; )


1

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

Я вважаю за краще працювати таким чином, бо працюю для клієнтів, що працюють як на серверах Fedora, так і на Ubuntu, і це дозволяє мені тісно співставляти середовище розробки з виробничим середовищем. Це також робить мене кращим системним адміністратором у тих сферах, які є найбільш важливими з точки зору розвитку.


1

Знайшли використання віртуальних машин хороший спосіб зберегти налаштування для розробок для клієнта.

У минулій консультаційній компанії Devs знав, що запуск конкретного VM означає, що у вас є робоча середовище для розробки / тестування та розгортання програмного забезпечення, яке ми підтримували для цього клієнта. Особливо корисно при підтримці якихось справжніх дивних систем.

Для нових додатків у вас буде остання та найкраща настройка на вашій головній машині Dev. А як щодо того, коли вам потрібно виправити старий додаток VB6, який ваша компанія все ще підтримує. Ви хочете встановити Visual Studio 6 на вашій чудовій чистій машині VS2010? Я не думаю, що так!

Крім того, це означало, що будь-який розробник підтримав будь-якого клієнта.


0

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

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


0

Я не бачу причин для розробки веб-сайтів у віртуальній машині, в цьому немає потреби в користувачі Windows.

Ви можете запустити все в установці Windows (портативні IE, Chrome, Firefox, Safari, ...),
або ви можете використовувати Expression SuperPreview, щоб увійти в новий світ тестування між браузерами.


Такі речі, як Portable IE, Expression SuperPreview, IETester, - для всіх намірів і цілей віртуалізовані середовища. Ви насправді не використовуєте реальну копію старих версій IE, а у випадку таких речей, як SuperPreview та IETester, ви навіть не маєте доступу до хромованої хроніки чи архітектури плагінів. Крім IE, у вас немає доступу до інших версій ОС тих самих браузерів. Наприклад, Safari в Mac OS X має функції, які не існують на Safari для Windows, а Chrome для Mac, як правило, відстає від Chrome для Windows.

Ні-ні-ні! Портативний IE, Expression SuperPreview, IETester запускаються натур у вашій системі, віртуалізація не задіяна. Ви використовуєте копію в реальному світі, налаштовану на виконання в поточному середовищі та має таку саму поведінку ... Під час розробки веб-сторінок немає необхідності мати доступ до хромованої браузера чи архітектури плагінів. Для Safari додаткові функції знову не мають значення для веб-розробок веб-браузерів. Для Chrome версії можуть використовуватися одночасно ... Якщо дійсно потрібно перевірити кожну версію браузера для кожної версії ОС, для цього є Browsershots.org .
Тамара Війсман

Спробуйте протестувати інтеграцію з кількома версіями Office. Відеомашини все ще надзвичайно зручні.
davewasthere

@davewasthere: І як Office пов’язаний із веб-розробкою? Я впевнений, що VM використовують їх для різних речей, але для веб-розробки ви без нього добре ... Навіть безліч версій Office та Visual Studio можна встановити разом без VM, але, дійсно, існують обмеження та компроміси, де ви дуже потрібен VM.
Тамара Війсман

@TomWij - У мене є один клієнт із інтранет-програмою в ASP.Net, який інтегрується в Word. Оскільки вони використовують кілька версій Office, приємно мати зображення з кожною інстальованою версією. Я знаю, що це можливо поруч із Office та IE. Але насправді я вважаю це болем. ВМ просто здаються набагато чистішими / легшими ...
davewasthere

0

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

За допомогою цієї установки я просто створюю новий каталог і одразу маю новий проект під власним піддоменом, тобто / home / pete / virtualwww / my-super-project map to 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/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.