2010-10-19 67 views
6

要开发一个新项目,我们正在考虑培训.NET人员学习Java EE或Ruby on Rails。这个决定仅仅是因为开源和避免购买操作系统的Sql Server数据库。从.NET转移到Java EE或RoR是明智的决定吗?

目前没有人在Java EE或RoR上工作。所有的团队成员都应该从头开始学习。

如果应用程序在未来增长并需要多台服务器,与培训人员和招聘更有经验的人员相比,开源/免费软件是否会给我带来TCO?

请告诉我这是否是一个好的决定。

+1

您可以使用.NET代码,免费的数据库,并在免费的操作系统上运行。可能有很好的理由转换,但我不确定这是否是其中之一。 – Ken 2010-10-19 18:19:18

回答

5

为什么不考虑Mono?你可以利用你现有的知识,并使用开源软件。

10

你可以用.NET完全免费的程序,用VS 2010 express和一个开源数据库。

我会坚持你团队中任何人都拥有最丰富的经验。如果你有几年的.NET工作经验,我不会因为你失去了所有这些。

当他们尝试为生产建立某种东西时,您不希望整个团队“从头开始学习”。没有人在那里指导团队跨越广阔的小行星领域的困惑和小怪癖,每一种新的编程语言在您首次开始学习时都会呈现。

我的建议,坚持使用.NET即使这意味着使用可用的开源替代品。另外,如果你的项目要跨越多台服务器等等,你可能需要考虑咬住子弹和购买商业许可证。这样,你就得到了支持,当有人(不是)如果事情出错的时候你有人会“责怪”他们。

无论采用哪种方式,都有大量的.NET开源和商业解决方案可用于确保您的项目具有与其相关的适当成本级别,同时仍能够利用您团队的现有技能集。

+3

我大多数人都同意,除了关于“商业许可”的部分。当事情开始出现问题时,向您授权操作系统和数据库的人不会去救援(至少没有任何有用的时间表),并且您的客户不会因为您有人惹的祸。我想要的是支付某人为我保留*服务*。然后我不在乎它是如何获得许可的,只要服务保持。我已经在免费和专有系统上启动并支持Web服务,并且都没有严格的更好的产品支持。游戏的名称是服务! – Ken 2010-10-20 00:52:52

4

我会给出一个响亮的NO。

  • 如果您对工具的开发成本是一个决定性因素,那么这应该是一个非常小的项目。程序员无论您使用哪种工具编码,都要付出代价。

  • 你的基本假设是不正确的。有一个免费版的视觉工作室。 B. .net编译器本身是免费的。单声道是可用的,是完全开源的。

  • 从长远来看,使用工具的经验不足的成本可能会比购买工具的成本高很多。

  • .net是数据库不可知的,你可以利用mysql的成本。

1

如果开源是一个强大的约束条件,那么您必须转向Java EE或RoR(Mono太年轻了)。但是您必须考虑到您的项目的TCO会因Java EE顾问的较高价格而增加。

我不太了解RoR,但是您可能会遇到一些问题,无法在专业级找到顾问。

DOT.NET更易于使用和开发,您可以找到很多开发人员,而不是那么昂贵。当然,你必须为操作系统和平台支付SQL Server等费用,但是你告诉我们TCO,所以你必须考虑所有的成本......

尤其是Java EE在企业中有很多顾问环境,所以成本比.NET高。恕我直言:-)你必须考虑到Java EE工具并不像.NET工具那样精致。 Java EE人们希望向您推销咨询服务,而不是操作系统;-)

我可以为您建议第四个选择吗? PHP:它有很多顾问,它是开源的,你可以找到家伙开发人员或专业开发人员。它不像Java,.NET和RoR那么优雅或吸引人,但是很多Web应用程序都是用PHP开发的:Facebook就是一个很好的例子! Joomla,Wordpress。

使用PHP,您可以找到所有您想要的顾问和平台。

当然,我认为你想开发Web应用程序,因为在脂肪的情况下,我建议你只有.NET!

恕我直言

1

你会爱上这个答案:这取决于。

不要光想着发展人员,最初还是后期维护,而且什么样的运营商的你会需要。平台的市场渗透率越小,工资越高,如果你能找到它们的话。为了扩大规模,您将需要它们,因为无论您使用哪个平台都会出现无法预料的问题:网络基础架构与您的应用服务器之间的交互很少完全没有麻烦。另外,不要只考虑目前的员工,但招聘新员工的容易程度(以及他们要收取多少费用)。

来投奔你列出的选项,冒着宗教声嘶力竭:

  • 回报率是伟大的,当你有某种应用程序和数据库结构。走出这些将会受到伤害。从好的一面来看,你会发现的开发人员可能会渴望和好奇,愿意学习新的东西。在负面的情况下,他们会离开跳上下一个潮流? (公平地说,对于所有相对较新的技术而言,这是一个挑战。)我不确定我会推荐J2EE作为战略方向:其他Java企业框架已经获得了巨大的推动力。另一方面,为通用J2EE开发人员寻找工作并不难,但具体的供应商扩展操作和监控会因产品而异。如果你正在谈论ASP.NET + SQL Server,那么.NET会遭受内部碎片(或者,从多种选择中获得肯定)。 Silverlight或SharePoint前端?甚至Azure'云'应用程序?您实际使用的选项范围越大,总套装的操作和维护就越困难。对于这些技术的一些,找工作人员是小菜一碟。
+1

什么样的应用程序和/或数据库结构的轨道做得不好? – 2010-10-19 22:01:15

+0

从我所看到的(注意:没有积极地尝试开发,所以也许我已经离开了我的rails ...),Rails想要定义数据模型 - 所以任何你没有定义的模型数据库,还有其他结构要求的用法(例如非Rails报告)。引用:'Rails是自定义软件',针对某些做事方式进行了优化。如果这些符合你的其他要求,那很好。如果不是,你会头疼。通常的折中方案适用于:以灵活性为代价获得便利(只有以便利为代价才能实现灵活性)。 – 2010-10-20 07:25:17

2

我会强烈建议以进入Ruby on Rails的相比,.NET或J2EE时

的原因包括很多简单易学。 开源。非常非常非常活跃的社区,它为你做了很多工作。

可扩展性明智,你有很多很多选择。

而不是向开发者支付硬件费用,并考虑水平缩放。

RoR是开发基于Web的应用程序的完整堆栈。它支持几乎所有的数据库(包括但不限于MySql,SQLServer,Oracle,MongoDB,NoSQL,HyperTable等)

支持多种Web服务器(WebRick,Mongrel,thin,乘客等)

使用Ruby on Rails开发应用程序要快得多。希望.NET开发人员和J2EE开发人员都会接受这个事实。

好运...

卡纳安R.