启动ASP.NET 5 Web项目是否为时尚早?

时间:2015-08-14 06:47:15

标签: asp.net asp.net-core

我们即将开始开发一个全新的Web应用程序。这是一个很大的项目,需要数年时间才能完成,并且可能会有很长的使用寿命。

由于ASP.NET 5即将推出,但仍在BETA中 - 使用新的ASP.NET版本启动Web项目还为时尚早吗?

我可以理解,在它击中Beta8和RC之前我们可能不得不面对一些棘手的升级,但立即使用它的好处可能会超过以后(或从未)升级的成本。

你有什么想法?

2 个答案:

答案 0 :(得分:5)

我们面临的问题与您在我公司所描述的相同。我们有一个复杂的Web窗体应用程序已经存在了近10年,迫切需要重写。我们选择开始使用ASP.NET 5堆栈。

当你开始这样一个新的大项目时,前几个月可能会用于原型设计和创建概念验证。在我看来,使用一个在开发阶段处于测试阶段的框架,就可以了。

如果我们查看roadmap,beta7将在本周或下周发货,而beta8可能是最新发布的新功能。这意味着主要破坏API更改和软件包重命名的日子大多落后于我们。

自beta3以来,我开始在我们的新应用程序上进行原型设计。这在升级到新测试版时引起了一些令人头疼的问题,但正确的另一方面是我非常了解框架并且在GitHub存储库中看到了非常接近的变化。我实际上proposed some PRs在开发我的应用程序时错过了一些东西。

虽然有一些缺点。正如我上面提到的,新的测试版可能会破坏(甚至删除)您刚刚实现的功能。另一个痛苦是缺乏文档,但他们在http://docs.asp.net/取得了良好的进展。

您可以开始使用当前稳定的ASP.NET 4 / MVC 5堆栈,但是当ASP.NET 5获得上线状态并且您想要使用它时,您可能需要重新开始。

所以我的结论是,当你开始使用ASP.NET 5时,你可能会很好。虽然它尚未准备好生产,但你的应用程序也不是。当您的产品上线时,ASP.NET 5可能处于RC或甚至v1.0。

答案 1 :(得分:4)

ASP.NET Core 1.0答案

现在已经发布了ASP.NET Core 1.0,其中有一些1.1修复了一些错误。还有几件事需要考虑:

  1. 某些第三方图书馆仍然缺失,例如Elmah但正在努力移植它们。
  2. 某些第三方库包含alpha,beta或rc,例如Moq,Autofac在撰写本文时。
  3. 目前还没有VB支持。
  4. 这是1.0版本的产品,这意味着它可能有粗糙的边缘,即使在发布时也可能有一些错误。 1.1版本可以解决这些问题。
  5. 如果要使用新的.NET Core运行时,则存在更多限制。您无法使用SyndicationFeed创建Atom或RSS Feed,使用System.Drawing修改图片或使用SmtpClient发送电子邮件。有许多API尚不存在。
  6. 某些ASP.NET 4.6功能尚不存在,例如BSON格式化程序。
  7. 这是一个新的API,可能需要一段时间才能进行安全加固和验证。
  8. ASP.NET 5答案

    如果您的申请将在2016年初发布,那么您应该没问题(RC将在11月发布)但有几件事需要考虑:

    1. ASP.NET 5仍然是一个移动目标。事情仍在变化和写作。每个新的Beta版本都会发生重大变化,但随着时间的推移,这些变化将变得不那么常见。
    2. 没有第三方库,如Glimpse,Elmah,NWebSec等。对ASP.NET 5的支持来自这三个,但还有一段路要走。
    3. 文档仍在编写中。目前尚不清楚如何重新创建ASP.NET 4.6中可以执行的所有操作。
    4. 目前还没有VB支持。
    5. 这是1.0版本的产品,这意味着它可能有粗糙的边缘,即使在发布时也可能有一些错误。
    6. 如果您想使用新的DNX Core运行时,则会有更多限制。您无法调用WCF服务,使用SyndicationFeed创建Atom或RSS源或使用SmtpClient发送电子邮件。有许多API尚不存在。
    7. 每个新的Beta可能会破坏某些内容,例如Beta 5打破了浏览器链接,并且查看预编译已经打破了一段时间。使用Beta 8,事情变得更加稳定。
    8. 某些ASP.NET 4.6功能尚不存在,例如BSON格式化程序。
    9. 这是一个新的API,可能需要一段时间才能进行安全加固和验证。
    10. 也就是说,ASP.NET Core有很多功能。这肯定是一个很大的改进,并且有很多新的改进,而不是ASP.NET 4.6。