4

微软喜欢实现他们自己版本的流行开源框架和程序集,例如:

  • 微软的 MVC 框架与 MonoRail
  • 微软的 Unity IoC 容器 vs Castle Windsor / Spring.net / Ninject 等
  • Microsoft 的 VS 单元测试框架与 nUnit(以及其他各种)

问题:

微软还“借用”了什么?

在每种情况下哪个更好,为什么?

人们对 Microsoft 官方产品与 ALT.NET 版本的态度如何?

你认为雷德蒙德翼下会采取什么行动?

编辑 好吧,而不是“更好”,你更喜欢作为开发人员使用哪个?

4

6 回答 6

5

为什么不把一根棍子放在马蜂窝上呢?

这些伟大工具的 MS 版本肯定有一个更好的地方——如果它是官方的 MS 产品,那么让你的 MS 商店使用产品会更容易。

如果您是为 Windows 系统开发的商店,则在将非 MS 产品整合到您的产品中时,您必须采取额外的步骤。至少,您必须满足许可和文档方面的问题。另外,总有必须克服的内部政治。而且,在某些情况下,如果您的产品使用 MS 未正式支持的“开源”组件,您的客户可能不愿意使用您的产品。

这不公平,但生活也不公平。

就个人而言,我喜欢 MS 与这样的产品竞争,因为它有助于为框架注入新的活力。

于 2008-10-15T20:05:01.043 回答
3

这完全是主观的,因为对一个人“更好”的东西不一定对另一个人更好。Microsoft 实施的想法/技术/产品与开源实施之间的一个区别是,Microsoft 有能力将全部时间资源投入到项目中,而开源通常不能。

还有支持的问题。大多数开源项目除了来自开发社区之外没有任何类型的支持。这并不总是一件坏事,因为有时您可以获得比官方(专用)支持小组更好的支持。

微软这样做的原因有很多,其中之一是在该特定领域拥有一块市场,并推动更多客户使用他们的解决方案,而不是第三方解决方案。另一个原因是实际的客户需求。

微软从开源项目中“借来”的其他一些产品:

  • 沙堡(来自 NDoc)
  • TFS 团队构建(来自 CruiseControl.NET)
  • MSBuild(来自 NAnt)
  • ?? (不确定它是否有单独的代号,但它应该是 MVC 框架的一部分)(来自 SubSonic)
于 2008-10-15T20:20:29.220 回答
1

在单元测试的情况下,我从微软官员那里听到了答案。事实上,如果我没记错的话,微软的功能甚至是基于 NUnit 代码库的。

复制这个特定的开源产品(以及我被告知的其他产品)的原因是客户想要这个。起初,这似乎是一个廉价的借口,但我实际上可以想象一些喜欢这种方式的企业客户。此外,微软员工声称,如果他们自己实施该程序,微软更容易提供客户支持,因为他们可以对来源承担更多责任。如果这是真的,那么开源采用还有很长的路要走。:-(

于 2008-10-15T20:03:17.583 回答
1

What defines better? In most cases management will want to have a product that is "standard practice", so that when they throw a rock into a crowd it will likely hit somebody who can spell the name of product they pretend to support. Sad, but true.

On the other hand, with the muscle MS has, once something is adopted and they are serious, man are they every serious, and that can't be a bad thing either. In some respects MS can be relatively agile for a behemoth. Yet they are still a large corp., and large corp don't move too quick.

于 2008-10-15T20:38:04.677 回答
0

It is completely subjective but in my mind the answer is a definite 'sometimes'. Some of their implementations are better because they make getting started much easier. For example using MS MVC framework is much easier than getting started with Monorail IMO. Monorail and the related Castle projects always seem a bit disjointed which will put off the less than expert developer just looking to get started. On the other hand, some of MS other projects such as Enterprise Library and Entity Framework are so huge and over architected it makes it very hard to get started for anyone. They are bloatware. Just evaluate each product yourself and choose whatever feels most comfortable.

于 2008-10-15T20:29:36.347 回答
-1

只是有点相关,但我记得当他们第一次发布 windows xp 时,我有一台可以在 windows 98 和 linux 之间双启动的计算机。它有一个非品牌声卡,其中 linux 驱动程序有问题;它会工作一段时间,然后以一种非常独特的方式开始口吃。当我得到机器的 xp 时(通过我所在的学校免费),它的卡的音频驱动程序有完全相同的错误

顺便说一句:有人赌多久,直到关闭?

于 2008-10-15T20:03:43.277 回答