Czy ktoś używa maszyn wirtualnych do tworzenia stron internetowych i dlaczego? [Zamknięte]

10

Widzę kilku programistów, którzy lubią używać maszyn wirtualnych do tworzenia stron internetowych. Czy są inni, którzy to robią? Jeśli tak, dlaczego to robisz? Czy są jakieś zalety / wady programowania na maszynie wirtualnej, a nie w środowisku nie zwirtualizowanym?

Myślę, że na maszynie wirtualnej wszystko działa wolniej.

7wp
źródło
Oprócz wirtualizacji istnieją również systemy oparte na obrazach, takie jak Squeak i Pharo (pochodna piszczenia).
Jesse Millikan,
@Jesse Millikan Nie jestem pewien, co masz na myśli. Czy Squeak i Pharo nie są językiem programowania? Próbuję zrozumieć, w jaki sposób odnoszą się one do maszyn wirtualnych.
7wp.

Odpowiedzi:

20

Używam maszyn wirtualnych do testowania IE. Mam dedykowany komputer z systemem Windows, ale skłaniam się do korzystania z maszyn wirtualnych z kilku powodów:

  • Zmiana komputerów jest trudna, nawet jeśli znajduje się tuż obok ciebie
  • Bardzo łatwo jest przywrócić maszynę wirtualną do czystego środowiska testowego
  • Wolę używać środowiska, którego użytkownicy faktycznie używają , niż kludges, takich jak IETester, i generalnie nie można uruchamiać wielu wersji IE jednocześnie.
  • Tańsze jest uruchamianie wielu wystąpień maszyn wirtualnych niż kupowanie wielu komputerów testowych
  • Maszyny wirtualne, przynajmniej te dla systemu Mac OS X, stały się tak dobre w ciągu ostatnich kilku lat, że „powolne” piętno nadane maszynom wirtualnym jest nieuzasadnione.

źródło
2
Maszyny wirtualne działają szybko, ale tylko wtedy, gdy dysponujesz wolną pamięcią, aby odpowiednio ją obsługiwać.
Matthew Scharley,
@Matthew: Tak, ale większość komputerów ma obecnie standard 4 GB, a dla programisty wystarczy, aby jednocześnie uruchomić co najmniej jedną (jeśli nie dwie) maszyny wirtualne.
7

Innym powodem, dla którego ludzie używają maszyny wirtualnej do tworzenia stron internetowych, jest wirtualizacja środowiska serwerowego, które można bardzo łatwo wyłączyć.

W domu zawsze używam maszyny wirtualnej do konfigurowania osobistych projektów, dzięki czemu mogę całkowicie to wyłączyć, gdy chcę, powiedzmy, zagrać w grę. W środowisku pracy możesz go wyłączyć, aby mieć pełne zasoby do transkodowania wideo do FLV.

Daje to tylko elastyczność w robieniu tego, co chcesz ze swoimi zasobami.

Matthew Scharley
źródło
3

Wolę używać maszyn wirtualnych do prawie całego programowania ... szczególnie, gdy pracuję z zespołem programistów. Maszyny wirtualne pozwalają mi zbudować „środowisko w pudełku”, które można szybko skonfigurować przy niewielkim bólu głowy. Ponieważ używam MBP jako mojej podstawowej maszyny, wolę VMWare ... jest to o wiele mniej bolesne, szczególnie w środowisku „głównie Windows”.

Jeśli chodzi o szybkość, to naprawdę różni się od konfiguracji do konfiguracji. Jedyne prawdziwe problemy, które widziałem z szybkością VM, to a.) Brak wystarczających zasobów fizycznych (pamięci itp.) Lub b.) Nieprzydzielenie wystarczającej ilości zasobów twojej maszynie wirtualnej. W przeciwnym razie wolę pracę na maszynie wirtualnej z systemem Windows na komputerze Mac niż na natywnym urządzeniu.

Casey
źródło
2

Testowanie środowisk jest duże, jak wspominali inni.

  • testowanie w przeglądarce (np. safari itp.)
  • czyste środowisko testowe
  • łatwo mieć wiele konfiguracji
  • testowanie dostępności (czytniki ekranu i tym podobne)

Mam maszynę wirtualną ściśle do profilowania i debugowania mojego kodu, który ma już skonfigurowaną aplikację kcachegrind, wraz z selenium, xdebug i kilkoma innymi narzędziami skonfigurowanymi do łatwego profilowania i debugowania mojego kodu. Tak, niektórzy mogą powiedzieć, że takie byłoby już środowisko programistyczne, ale osobiście lubię mieć maszynę wirtualną na moim pulpicie poświęconą tego rodzaju zadaniu.

Ponadto w odniesieniu do powolności na maszynie wirtualnej:

Rzeczywistość jest wolniejsza na maszynie wirtualnej, ponieważ narzut wymaga „wirtualizacji” środowiska. Jednak maszyna wirtualna staje się coraz bliżej hiperwizora, co zmniejsza obciążenie związane z maszyną wirtualną.

Chris
źródło
2

Cały czas używam maszyn wirtualnych. Dla celów testowych rozumowanie jest oczywista, ale również wykorzystać go do mojego aktualnego rozwoju środowiska, głównie z powodu: 1) sprawia, że migracja do nowego sprzętu nie myślenia, i 2) to daje mi łatwy „snapshot” (lub zestaw z migawki) powracają w razie potrzeby do tych konfiguracji mojego środowiska programistycznego. Moje potrzeby mogą być wyjątkowe - jestem przede wszystkim programistą Delphi, używam wielu wersji Delphi i wielu komponentów innych firm - ale zaoszczędzony czas i ból głowy związany ze środowiskiem programistycznym wewnątrz maszyny wirtualnej prawdopodobnie nie mógł być zawyżonym.

To powiedziawszy, nie skrępuj pudełka, na którym je uruchamiasz, zwłaszcza jeśli chodzi o pamięć. ; )

Jamo
źródło
1

To późna odpowiedź. Zgadzam się ze wszystkimi punktami w zaakceptowanej odpowiedzi, ale chciałem dodać, że używam maszyn wirtualnych wyłącznie do programowania stron internetowych, a nie tylko do testowania. Korzystam z komputera iMac za pomocą VirtualBox, aby uruchomić Windows, Fedorę i Ubuntu - czasem wszystkie jednocześnie. Nie mam żadnych problemów z wydajnością.

Wolę pracować w ten sposób, ponieważ pracuję dla klientów korzystających zarówno z serwerów Fedora, jak i Ubuntu, co pozwala mi ściśle dopasować środowisko programistyczne do środowiska produkcyjnego. To sprawia, że ​​jestem lepszym administratorem systemów w obszarach, które są najważniejsze z punktu widzenia rozwoju.

bogeymin
źródło
1

Odkryłem, że używanie maszyn wirtualnych jest dobrym sposobem na utrzymanie konfiguracji programistycznej dostosowanej do klienta.

W poprzedniej firmie konsultingowej Devs wiedział, że uruchomienie określonej maszyny wirtualnej oznacza, że ​​masz środowisko robocze do opracowywania / testowania i wdrażania oprogramowania obsługiwanego dla tego klienta. Szczególnie przydatny przy wspieraniu niektórych prawdziwych systemów oddball.

W przypadku nowych aplikacji będziesz mieć najnowszą i najlepszą konfigurację na głównej maszynie deweloperskiej. Ale co powiesz na to, kiedy musisz naprawić starą aplikację VB6, którą Twoja firma nadal obsługuje. Masz ochotę zainstalować Visual Studio 6 na swojej pięknej, czystej maszynie VS2010? Nie wydaje mi się!

Oznaczało to również, że dla każdego dewelopera obsługa dowolnego klienta była łatwa.

davewasthere
źródło
0

Z pewnością używałem maszyn wirtualnych do testowania stron internetowych, ale nie do pisania kodu.

Zaletą maszyn wirtualnych jest to, że możesz skonfigurować różne systemy operacyjne i przeglądarki, aby przetestować nieuniknione błędy css, które odkryjesz w IE6 / 7/8.

David_001
źródło
0

Nie widzę powodu, aby tworzyć strony internetowe na maszynie wirtualnej, nie ma takiej potrzeby dla użytkownika systemu Windows.

Możesz uruchomić wszystko w instalacji Windows (Portable IEs, Chrome, Firefox, Safari, ...),
alternatywnie możesz użyć Expression SuperPreview, aby wejść w nowy świat testów w różnych przeglądarkach.

Tamara Wijsman
źródło
Rzeczy takie jak Portable IE, Expression SuperPreview, IETester , dla wszystkich celów i celów, środowiskami zwirtualizowanymi. W rzeczywistości nie używasz prawdziwej kopii starszych wersji IE, aw przypadku takich rzeczy jak SuperPreview i IETester, nie masz nawet dostępu do przeglądarki Chrome lub architektury wtyczek. Poza IE nie masz dostępu do wersji tych samych przeglądarek innych systemów operacyjnych. Na przykład Safari na Mac OS X ma funkcje, które nie istnieją w Safari na Windows, a Chrome na Maca zwykle pozostaje w tyle za Chrome na Windows.
Nie nie nie! Portable IE, Expression SuperPreview, IETester działają natywnie w twoim systemie, nie ma żadnej wirtualizacji. Używasz prawdziwej kopii, która została dostosowana do działania w bieżącym środowisku i ma takie samo zachowanie ... Nie ma potrzeby dostępu do architektury przeglądarki Chrome lub architektury wtyczek podczas programowania. W przypadku Safari dodatkowe funkcje są znowu nieistotne dla tworzenia witryn w różnych przeglądarkach. W przypadku Chrome wersje mogą być używane jednocześnie ... Jeśli naprawdę trzeba przetestować każdą wersję przeglądarki w każdej wersji systemu operacyjnego, do tego celu służy browsershots.org .
Tamara Wijsman,
Spróbuj przetestować integrację z wieloma wersjami pakietu Office. Maszyny wirtualne są nadal niezwykle przydatne.
davewasthere
@davewasthere: A jak Office jest powiązane z programowaniem WWW? Jestem pewien, że maszyny wirtualne mają zastosowanie do różnych rzeczy, ale bez tworzenia aplikacji internetowych wszystko jest w porządku. Nawet wiele wersji Office i Visual Studio można zainstalować razem bez maszyny wirtualnej, ale w rzeczywistości istnieją ograniczenia i kompromisy naprawdę potrzebuję maszyny wirtualnej.
Tamara Wijsman,
@TomWij - Mam jednego klienta z aplikacją intranetową w ASP.Net, która integruje się z Wordem. Ponieważ używają wielu wersji pakietu Office, fajnie jest mieć obraz z zainstalowaną każdą wersją. Wiem, że można współpracować z pakietem Office i IE. Ale w rzeczywistości uważam to za ból.
Maszyny
0

Używam maszyny wirtualnej do mapowania subdomen virtualbox.me (jestem właścicielem domeny) do podkatalogów folderu na mojej maszynie hosta udostępnionej gościowi.

Dzięki tej konfiguracji po prostu tworzę nowy katalog i od razu mam nowy projekt w ramach jego własnej subdomeny, tj. / Home / pete / virtualwww / my-super-project map to http://my-super-project.virtualbox.me/

Napisałem przewodnik do replikacji tego (używa mod_vhost_alias i VirtualDocumentRoot) tutaj:

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

pete otaqui
źródło