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.
Odpowiedzi:
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:
źródło
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.
źródło
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.
źródło
Testowanie środowisk jest duże, jak wspominali inni.
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ą.
źródło
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ęć. ; )
źródło
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.
źródło
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.
źródło
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.
źródło
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.
źródło
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/
źródło