Ich sehe einige Entwickler, die gerne virtuelle Maschinen für die Webentwicklung verwenden. Gibt es andere, die das tun? Wenn ja, warum machst du das? Gibt es Vor- und Nachteile bei der Entwicklung auf einer VM und nicht in einer nicht virtualisierten Umgebung?
Ich würde denken, dass die Dinge in einer VM langsamer sind.
Antworten:
Ich benutze VMs für IE-Tests. Ich habe zwar einen dedizierten Windows-Computer, neige jedoch aus mehreren Gründen zur Verwendung von VMs:
quelle
Der andere Grund, warum Benutzer eine VM für die Webentwicklung verwenden, ist die Virtualisierung einer Serverumgebung, die sie sehr einfach deaktivieren können.
Zu Hause verwende ich immer eine VM zum Einrichten persönlicher Projekte, damit ich alles vollständig ausschalten kann, wenn ich beispielsweise ein Spiel spielen möchte. In einer Arbeitsumgebung möchten Sie es möglicherweise deaktivieren, damit Sie über alle Ressourcen verfügen, um ein Video in FLV zu transkodieren.
Es gibt Ihnen nur die Flexibilität, mit Ihren Ressourcen das zu tun, was Sie wollen.
quelle
Ich bevorzuge es, VMs für so ziemlich alle Entwicklungen zu verwenden ... besonders wenn ich mit einem Entwicklerteam zusammenarbeite. Mit VMs kann ich eine "Umgebung in einer Box" erstellen, die mit wenig Kopfschmerzen schnell eingerichtet werden kann. Da ich einen MBP als primären Computer verwende, bevorzuge ich VMWare ... es ist viel weniger schmerzhaft, insbesondere in einer "meistens Windows" -Umgebung.
Was die Geschwindigkeit betrifft, variiert sie ehrlich gesagt von Setup zu Setup. Die einzigen wirklichen Probleme, die ich bei der VM-Geschwindigkeit gesehen habe, sind a.) Nicht genügend physische Ressourcen (Speicher usw.) oder b.) Nicht genügend Ressourcen für Ihre VM. Ansonsten arbeite ich lieber in einer Windows-VM auf meinem Mac als in einer nativen Box.
quelle
Das Testen von Umgebungen ist eine große, wie andere bereits erwähnt haben.
Ich habe eine VM ausschließlich zum Profilieren und Debuggen meines Codes, für die kcachegrind bereits eingerichtet ist, sowie Selen, xdebug und einige andere Tools, die zum einfachen Profilieren und Debuggen meines Codes konfiguriert sind. Ja, einige mögen sagen, dass dies bereits eine Entwicklungsumgebung ist, aber ich persönlich mag es, wenn eine VM auf meinem Desktop für diese Art von Aufgabe vorgesehen ist.
Auch in Bezug auf die Langsamkeit in einer VM:
In einer VM sind die Dinge langsamer, da der Overhead die Umgebung "virtualisieren" muss. Die VM rückt jedoch immer näher an den Hypervisor heran, wodurch der für die VM erforderliche Overhead verringert wird.
quelle
Ich benutze ständig virtuelle Maschinen. Zu Testzwecken liegt die Argumentation auf der Hand, aber ich verwende sie auch für meine eigentliche Entwicklungsumgebung, hauptsächlich, weil 1) die Migration auf neue Hardware ein Kinderspiel ist und 2) ich einen einfachen "Schnappschuss" (oder eine Reihe von) habe Snapshots) greifen bei Bedarf auf diese Konfigurationen meiner Entwicklungsumgebung zurück. Meine Anforderungen mögen einzigartig sein - ich bin in erster Linie ein Delphi-Entwickler, der mehrere Delphi-Versionen und viele Komponenten von Drittanbietern verwendet -, aber die Zeit und die Kopfschmerzen, die meine Entwicklungsumgebung in einer virtuellen Maschine hat, konnten wahrscheinlich nicht eingespart werden überbewertet sein.
Das heißt, sparen Sie nicht an der Box, auf der Sie sie ausführen, besonders wenn es um Speicher geht. ;; )
quelle
Dies ist eine späte Antwort. Ich stimme allen Punkten in der akzeptierten Antwort zu, wollte aber hinzufügen, dass ich VMs ausschließlich für die Webentwicklung und nicht nur zum Testen verwende. Ich bin auf einem iMac und verwende VirtualBox, um Windows, Fedora und Ubuntu auszuführen - manchmal auf einmal. Ich habe keine Probleme mit der Leistung.
Ich arbeite lieber auf diese Weise, weil ich für Kunden arbeite, die sowohl Fedora- als auch Ubuntu-Server ausführen, und es mir ermöglicht, die Entwicklungsumgebung eng mit der Produktionsumgebung abzustimmen. Es macht mich auch zu einem besseren Systemadministrator in den Bereichen, die aus entwicklungspolitischer Sicht am wichtigsten sind.
quelle
Ich habe festgestellt, dass die Verwendung von VMs eine gute Möglichkeit ist, ein kundenspezifisches Entwicklungssetup beizubehalten.
In einem früheren Beratungsunternehmen wusste Devs, dass das Starten einer bestimmten VM bedeutete, dass Sie über eine Arbeitsumgebung zum Entwickeln / Testen und Bereitstellen der von uns für diesen Client unterstützten Software verfügten. Besonders nützlich bei der Unterstützung einiger echter Oddball-Systeme.
Für neue Apps hätten Sie das neueste und beste Setup auf Ihrem Hauptentwicklungscomputer. Aber was ist, wenn Sie eine alte VB6-App, die Ihr Unternehmen noch unterstützt, Bugfixes benötigen? Möchten Sie Visual Studio 6 auf Ihrem schönen, sauberen VS2010-Computer installieren? Das glaube ich nicht!
Das bedeutete auch, dass es für jeden Entwickler ziemlich einfach war, jeden Client zu unterstützen.
quelle
Ich habe sicherlich virtuelle Maschinen zum Testen von Websites verwendet, aber nicht zum Schreiben von Code.
Der Vorteil von virtuellen Maschinen besteht darin, dass Sie verschiedene Betriebssysteme und Browser einrichten können, um die unvermeidlichen CSS-Fehler zu testen, die Sie in IE6 / 7/8 entdecken werden.
quelle
Ich sehe keinen Grund, Websites in einer virtuellen Maschine zu entwickeln. Für einen Windows-Benutzer ist dies nicht erforderlich.
Sie können alles in einer Windows-Installation ausführen (Portable IEs, Chrome, Firefox, Safari, ...).
Alternativ können Sie Expression SuperPreview verwenden, um in eine neue Welt der browserübergreifenden Tests einzutreten.
quelle
Ich verwende eine virtuelle Maschine, um Unterdomänen von virtualbox.me (ich besitze die Domäne) Unterverzeichnissen eines Ordners auf meinem Hostcomputer zuzuordnen, der für den Gast freigegeben ist.
Mit diesem Setup erstelle ich einfach ein neues Verzeichnis und habe sofort ein neues Projekt unter seiner eigenen Subdomain, dh / home / pete / virtualwww / my-super-project ordnet http://my-super-project.virtualbox.me/ zu.
Ich habe hier eine Anleitung zum Replizieren geschrieben (sie verwendet mod_vhost_alias und VirtualDocumentRoot):
http://otaqui.com/blog/1652/setting-up-a-virtualbox-virtual-machine-for-web-development-with-multiple-sites-using-mod_vhost_alias-and-virtualdocumentroot/
quelle