Web程序员,客户端或者服务器首选的操作系统是什么?

时间:2020-03-05 18:52:03  来源:igfitidea点击:

我们希望在哪个OS上编程?客户端或者服务器

尽管有一个流派,但如果我们正在(主要)进行Web编程(或者其他基于服务器的代码),则应在开发机上使用服务器操作系统,因为这更接近于将要运行应用程序的环境。

更新:我应该补充,这确实是针对Windows人群的

解决方案

回答

无论我们实际上在谈论什么操作系统,都没关系。我们可能编写的大多数应用程序无需担心差异(如果确实存在差异)。仅在极少数情况下,我们才能使用某些特定功能,这些功能可能仅在操作系统的"服务器"版本上可用。

还有其他注意事项,例如,默认情况下已对Windows服务器版本进行了调整,以使其对桌面程序的优先级和关注程度降低,而对文件缓存之类的东西的关注度更高。就个人而言,我将始终选择所选操作系统的"客户端"版本。

回答

我个人使用Windows Vista,但这是因为它是我喜欢的并且可以很好地使用它。但是,老实说,这并不重要,操作系统应该是我们自在的东西,并且具有生产所需的工具。

我想说测试环境是我们需要尽可能接近生产环境的环境。我在Vista上用RoR编写,但在与我的Web服务器相同的Linux VM设置中对其进行测试,并且在工作中我们安装了带有IIS6的Win2k3服务器来测试我们的.Net站点,但我在IIS7上的Vista上进行了开发。

回答

There is a school of though that if you are doing (mostly) web programming (or other server based code), you should use a server OS for your dev machine

我认为这更适用于"系统程序员",而不是网络"应用程序程序员"。为什么?亲密地了解该平台绝对具有极大的价值,就像人们日复一日地使用该操作系统一样。但是并不是每个人都可以或者应该去那里。

虽然我的主要生产环境是RHEL4,但Linux在台式机上并不适合我-实际上,它使我发疯。我发现在OSX上的工作已经足够接近了。我只是喜欢在Mac而不是XP机器上工作。

我正在做Java,而"一次编写,随处运行"的炒作实际上对我有用。 :)

Update: I should add, this is really directed to the Windows crowd

一分钟后,有点短;)也许我们也应该编辑标题...

回答

我将Windows Server 2003设置为工作站。这是我使用多年的指南。真喜欢它。

回答

好吧,我知道我们主要是在谈论窗户,但是...

我曾经在Windows上进行开发,以便在* nix服务器上进行部署。当然,这种工作方式有很多陷阱,但是我们只是已经习惯了。

在2005年10月,我开始使用Linux进行实验,但是后来我再也没有回来。学习曲线很陡。我以为在处理10年之后我对* nix相当了解,但是与我在台式机上使用它的知识相比,我什么都不知道。

工作流程在开发和部署到类似平台方面更加顺畅。

最近,我们甚至开始选择运行Ubuntu服务器的服务器,以便它们与我们的Ubuntu桌面开发机器最匹配。

如果我们正在谈论台式机和服务器版本之间的区别,我想我们不必担心它。如果我们要在一个操作系统上进行开发以在另一操作系统上进行部署,那么我将考虑更改桌面平台。

回答

客户端与服务器操作系统问题仅在MS平台上相关。甚至在那里,这取决于我们要开发什么。

据我了解,Sharepoint开发需要一个服务器操作系统来运行代码
如果我们只是在做普通的ASP.Net东西,那主要是个人喜好。

编辑
正如泰勒(Tyler)所说,我们可以在Vista上运行MOSS / WSS,但不支持它。或者,我们可以在客户端操作系统上进行开发,并在VM中的服务器操作系统上运行共享点。

回答

这将是一个很奇怪的答案,但作为工作站,我是Windows 2008和Hyper-V的忠实拥护者(我知道)。本质上,我只会在工作站上安装Office之类的软件,所有开发都将在虚拟机中进行。

假设没有可用的Win2k8 / Hyper-V,我很乐意选择一些旧的WinXP(但带有Virtual PC)。

Hyper-V使我们可以从运行的任何.VHD VM中获得出色的性能。 Virtual PC和Virtual Server都是免费的(就像啤酒一样),我们可以建立大量基础结构,以重新利用虚拟机(例如,基本计算机,差异磁盘,撤消磁盘)。 .VHD也可以互换,因此我们可以重新托管以前使用过的.VHD,以供其他开发人员在某些虚拟服务器上使用,或者他们可以复制该副本,重命名虚拟机并通过一些虚拟PC!

在不到10分钟的时间内让团队成员快速适应环境(这是明智的选择),这真是太棒了。我们还可以使用它非常快速地配置机器,否则将花费数天的时间来设置/配置。

不用介意从不同的OS进行测试的更好的功能,或者能够使用撤消磁盘回滚更改,VM可以挽救生命!开始虚拟化人员!

对于虚拟机/差异磁盘的一些巨大好处,请参阅Andrew Connell的这篇文章。

回答

似乎问题更多是关于使用同一操作系统的服务器版本还是客户端版本。所以我的答案是:客户应该没问题。我们可以在Windows,OS X和Linux的客户端版本上开发和测试多种口味的Web应用程序。 OS X和Linux显然预装了Apache,因此使基于Apache的应用程序变得容易一些,但是下载XAMPP或者WAMPP也会很快将Windows盒子变成LAMP应用程序的可靠开发平台。

而且,如果我们使用的是ASP.NET,则开发工具(如果使用的是Visual Studio产品线)则内置了测试服务器机制。

因此,除非我们有其他需要服务器版本的需求,否则我会坚持使用客户端。它的钱更少,而且我们确实不需要服务器版本。