何时应该为新的.NET项目设计.NET 4框架?

3
我正在准备开始一份新的短期合同(1-2个月),需要将一个Access应用程序迁移到ASP.NET和SQL Server。我只负责ASP部分和与数据库连接。唯一的要求是,我使用的技术在该领域相对较为知名,这样如果他们需要让其他人处理,就不需要专业知识。因此,我可以使用Rails或ASP.NET来完成这项工作,但是,开发应该瞄准.NET 4框架吗?因为有许多即将推出的更改可能会有利于使用。或者,即使它可能很有用,什么时候最好忽略新功能并停留在旧版本的.NET上呢?我假设硬件不是限制,因为许多计算机无法运行.NET 4 Framework,但这将成为托管公司的问题,因为他们可以找到支持应用程序设计的任何框架的托管公司。如果Rails是最合适的选择,因为他们希望快速编写应用程序,但又希望其可靠性,那么托管公司也需要支持它,否则他们可以使用其他公司。这家公司没有使用托管公司,他们需要找到一家,所以没有可能存在关系问题。更新:我担心的部分是,最初应用程序不需要javascript,但第二阶段将使其更具交互性,因为一些客户端不允许在计算机上使用javascript。为了限制开发人员必须了解的javascript数量,有一些框架可以相对较好地适应浏览器和情况,这就是为什么我也考虑RoR以及.NET 4中似乎会有所改变的原因。

1
RoR与.Net有什么关系?如果您已经熟悉ASP.Net,那么使用Rails编写它就没有意义了。 RoR Web应用程序可以比ASP.Net更快地编写的想法是其中最奇怪和毫无根据的神话之一。 - MusiGenesis
我可以用RoR编写,因为应用程序主要是选择框,并根据选项显示信息,这样可能更容易。但我不能使用类似GWT的东西。 - James Black
1
GWT?抱歉,有时我对缩写不太敏感。在ASP.Net中,您所描述的非常容易实现。我甚至建议您坚持使用.Net 2.0,除非我会受到惩罚(此外,LINQ实际上很酷)。 - MusiGenesis
Google Web Toolkit。它可以使交互更容易,但在田纳西州诺克斯维尔,似乎只有很少一部分开发者使用它。 - James Black
1
@MusiGenesis:不是击败,更像是+1。ASP.Net 2.0非常稳定,几乎可以部署到任何地方。我们仍然有一些客户对升级到3.5感到犹豫不决。 - womp
5个回答

6
作为一般的经验法则,除非客户特别要求最新技术,否则我会在使用新框架建站前等待一年时间。这对我来说非常有效。其优点如下:
  • 技术更加稳定(修补程序、服务包等)
  • 通常会解决有关缺少功能的常见抱怨
  • 托管公司、支持社区和企业IT部门有时间熟悉技术、了解更多信息、进行试用并在其组织中使其成熟
除非有特定需要使用由.Net 4引入的新功能,否则没有必要让客户面临初始版本的问题或使他们更难找到托管。您应该预先调查所有这些内容,或在此期间使用.Net 3.5。

我唯一的担忧是,如果他们决定明年搬到.NET 4,那么难度会增加。当这个应用程序准备好商业使用,并具备所有新功能时,我预计.NET 4已经发布了。 - James Black
2
如果您能够确定将应用程序迁移到.Net 4可以实现具体的收益,那么这个问题应该与上述潜在问题进行权衡。如果您只是担心他们会仅仅为了迁移而迁移到.NET 4,那么这是一个错误的方向。集中精力于对他们最有价值的事情上。 - womp
你的经验法则和特例帮了我很多。虽然我本来想换一个新的平台,但是除了自己的项目外,我还是会继续使用.NET 3.5。 - James Black

1
唯一的要求是,无论使用什么技术,它都应该在该领域相对广为人知,这样如果他们需要让其他人继续开发,那么这不是专业知识。
我认为这个要求足以不在.NET 4.0上开发此项目 - 新框架版本需要时间才能在市场上普及,而且在有很多具有.NET 4.0经验的开发人员之前,还需要一段时间。
此外,您将基本上在BETA产品的基础上进行开发 - 虽然我相信大多数功能将从BETA -> RTM保持不变,但总会存在某些风险,即某些功能可能会在BETA中出现故障或无法像在BETA中那样工作,那么为什么要在商业项目上冒这个险呢?
除非有特定原因,否则我不会在商业项目上针对.NET 4.0,即使有这样做的理由,您也必须得到客户的支持,即“如果我们使用当前的beta版本X而不是已建立的稳定版本Y,我可以更快地完成并且付出更少的努力”-祝你好运。

我曾经参与了一个商业项目,使用了LINQ to SQL的CTP版本 - 然后当我们转向VS2008 / 3.5时,突然一切都改变了,我们不得不做很多修改才能让LINQ to SQL再次工作。

坚持使用3.5 - 这样更容易进行托管和招募开发人员。


1

只是一些想法,我甚至不会考虑在.NET 4/ASP.NET 4中创建用于生产使用的应用程序,直到:

  1. 有一个发布候选版。这不是我第一次看到测试版中的功能没有出现在RC/RTM中。
  2. Microsoft已经允许通过“Go Live”许可证进行生产应用程序的开发和部署。

市场上有一些托管商,如OrcsWeb,参与公共测试,但它们并不适用于生产使用。

现在我会使用.NET 3.5/ASP.NET 2.0或MVC位。安全第一。


0

一般来说,为Rails应用程序寻找托管服务会更容易。如果您想运行.net 4.0,您可能需要运行VPS或专用机器。然而,如果您在应用程序完成后退出,并假设您的客户在诺克斯维尔,他们将很难找到一个Rails开发人员来维护该应用程序。

我认为更重要的问题是您的角色。他们希望您为他们解决这个问题。您是否能同时熟练掌握两种技术?如何启动Windows服务器和Linux服务器?您的SQL Server与MySql相比如何?我猜您在其中一种技术栈上更有优势-对于这么短的合同,我不想进行大量实验性开发。


我实际上会与几位招聘人员核实一下,看看诺克斯维尔地区有多少RoR开发人员。 - James Black
我相信找Rails托管服务非常容易,但找ASP.Net托管服务也同样容易,因此我认为这并不是选择其一的基础。此外,我无法相信我会以任何方式支持Rails,但对于Web应用程序来说,您实际上不需要有本地支持应用程序的人。 - MusiGenesis
@James:我的前公司(在路易斯安那州,不是新奥尔良)选择了 RoR 路线,结果发现自己完全找不到任何人来开展项目。 - MusiGenesis
@Musi - 这取决于客户是否想要找一个近距离的人。有些客户喜欢面对面交流。通常来说,Rails托管更容易找到。虽然找到Windows主机并不困难,但Linux更为普遍,而且通常更便宜。 - Andy Gaskell
如果想了解 RoR 开发者的可用性,请不要联系招聘人员,而是去找当地 Ruby 社群。我们这些 Ruby 极客通常会在全球范围内每个月定期聚集在一起。 - nitecoder
显示剩余3条评论

0

我会等到每个人都在使用的操作系统拥有它。

就在上个月,我对GDI+进行了依赖,它最初是随Windows XP一起发布的。


这是针对ASP.NET应用程序的,所以我不关心用户的个人电脑。 - James Black

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接