有人使用虚拟机进行Web开发吗?为什么?[关闭]


10

我看到一些喜欢将虚拟机用于Web开发的开发人员。还有其他人这样做吗?如果有,为什么要这样做?在VM上而不是在非虚拟化环境中进行开发是否有优点/缺点?

我认为虚拟机的运行速度较慢。


除了虚拟化之外,还有基于图像的系统,例如Squeak和Pharo(吱吱作响的衍生物)。
杰西·米利坎

@Jesse Millikan我不确定你的意思。Squeak和Pharo不是编程语言吗?我试图了解它们与虚拟机的关系。
7wp 2012年

Answers:


20

我使用VM进行IE测试。我确实有专用的Windows计算机,但是出于以下几个原因,我倾向于使用VM:

  • 切换计算机很麻烦,即使它就在您旁边
  • 回滚虚拟机以拥有干净的测试环境非常容易
  • 我宁愿使用用户实际上要使用的环境,也不愿使用像IETester这样的环境,并且您通常不能同时运行多个版本的IE。
  • 运行多个VM实例比购买多台测试计算机便宜
  • 在过去的两年中,VM(至少是Mac OS X的)已经变得如此出色,以至于给VM的“缓慢”污名是不必要的。

2
VM的速度很好,但前提是您有足够的备用内存来正确支持一个。
Matthew Scharley 2010年

@Matthew:是的,但是如今大多数计算机都具有4GB的标准,对于Web开发人员而言,这足以同时运行至少一个(如果不是两个)VM。

7

人们使用VM进行Web开发的另一个原因是对服务器环境进行虚拟化,使其可以很容易地关闭。

在家里,我总是使用VM来设置个人项目,这样我想玩游戏时就可以完全关闭它。在工作环境中,您可能需要关闭它,以便拥有将视频转码为FLV的全部资源。

它只是为您提供了使用资源来执行所需操作的灵活性。


3

我更喜欢使用VM进行几乎所有的开发工作……尤其是当我与一组开发人员一起工作时。虚拟机可以让我建立一个“盒子里的环境”,可以快速设置,而不会感到头疼。因为我使用MBP作为主要计算机,所以我更喜欢VMWare ...尤其是在“主要是Windows”环境中,它的痛苦要小得多。

至于速度,说实话,它随设置的不同而不同。我看到的有关VM速度的唯一实际问题涉及a。)没有足够的物理资源(内存等)或b。)没有为VM分配足够的资源。否则,我实际上更喜欢在Mac上的Windows VM中工作,而不是在本机上工作。


2

正如其他人所提到的,测试环境是一个很大的环境。

  • 浏览器测试(即Safari等)。
  • 干净的测试环境
  • 易于配置
  • 辅助功能测试(屏幕阅读器等)

我有一个严格用于配置和调试我的代码的虚拟机,该虚拟机已经设置了kcachegrind以及硒,xdebug和其他一些配置为可轻松配置和调试我的代码的工具。是的,有些人可能会说这已经是开发环境了,但是个人而言,我喜欢在台式机上专门用于此类任务的VM。

另外,关于VM的速度:

由于需要“虚拟化”环境的开销,虚拟机中的事情变慢了。但是,VM越来越接近虚拟机监控程序,从而减少了VM所需的开销。


2

我一直在使用虚拟机。出于测试目的,推理是显而易见的,但是我也将其用于我的实际开发环境,主要是因为1)它使迁移到新硬件变得轻而易举,并且2)它给了我一个简单的“快照”(或一)快照)还原为开发环境的那些配置所需的内容。我的需求可能是独特的-我主要是使用多个版本的Delphi和许多第三方组件的Delphi开发人员-但是将我的开发环境放在虚拟机中所节省的时间和头痛很多,也许无法夸大其词。

就是说,不要在运行它们的盒子上草,尤其是在内存方面。; )


1

这是一个较晚的答案。我同意接受的答案中的所有观点,但是我想补充一点,我将VM专门用于Web开发,而不仅仅是用于测试。我正在使用VirtualBox的iMac上运行Windows,Fedora和Ubuntu,有时同时运行。我的表现没有任何问题。

我更喜欢以这种方式工作,因为我为同时运行Fedora和Ubuntu服务器的客户工作,这使我可以将开发环境与生产环境紧密匹配。从开发的角度来看,这也使我成为更好的系统管理员,在最重要的领域。


1

发现使用虚拟机是保持特定于客户端的开发设置的好方法。

在过去的一家咨询公司中,Devs知道启动特定的VM意味着您拥有一个工作环境来开发/测试和部署我们为该客户支持的软件。在支持某些实际的奇数球系统时特别有用。

对于新应用,您将在主Dev计算机上拥有最新,最出色的设置。但是,当您需要修正公司仍支持的某些旧VB6应用程序时该怎么办?想在漂亮干净的VS2010计算机上安装Visual Studio 6吗?我不这么认为!

这也意味着任何开发人员支持任何客户端都非常容易。


0

我当然已经使用虚拟机来测试网站,但没有用于编写代码。

虚拟机的好处是您可以设置不同的操作系统和浏览器,以测试在IE6 / 7/8中发现的不可避免的CSS错误。


0

我看不出在虚拟机上开发网站的理由,Windows用户不需要它。

您可以在Windows安装中运行所有内容(便携式IE,Chrome,Firefox,Safari等),
也可以使用Expression SuperPreview进入跨浏览器测试的新世界。


出于所有目的和目的,诸如可移植IE,Expression SuperPreview,IETester之类的东西都是虚拟化环境。您实际上并没有运行旧版IE的真实副本,并且在诸如SuperPreview和IETester之类的情况下,您甚至无法访问浏览器chrome或插件体系结构。除IE外,您无权访问相同浏览器的其他OS版本。例如,Mac OS X上的Safari具有Windows上的Safari所不具备的功能,而Mac上的Chrome浏览器通常落后于Windows上的Chrome浏览器。

不不不!可移植IE,Expression SuperPreview,IETester在您的系统上本地运行,不涉及虚拟化。您正在运行的现实世界副本已经过调整,可以在当前环境中运行并且具有相同的行为...在进行Web开发时,无需访问浏览器chrome或插件体系结构。对于Safari来说,额外的功能与跨浏览器的Web开发无关。对于Chrome,可以同时使用多个版本...如果确实需要在每个OS版本上测试每个浏览器版本,则可以使用browsershots.org
Tamara Wijsman 2010年

尝试测试与多个版本的Office的集成。虚拟机仍然非常方便。
davewasthere 2010年

@davewasthere:Office与Web开发有什么关系?我确定VM可以用于各种用途,但是对于Web开发,没有它是很好的...即使没有VM也可以将多个版本的Office和Visual Studio一起安装,但是,确实存在一些限制和折衷确实需要VM。
Tamara Wijsman 2010年

@TomWij-我在ASP.Net中拥有一个带有与Word集成的Intranet应用程序的客户端。由于他们使用Office的多个版本,因此能够在安装了每个版本的情况下获得映像非常好。我知道可以同时使用Office和IE。但实际上,我感到很痛苦。虚拟机似乎更干净/更容易了……
davewasthere 2010年

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/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.