首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们现在还需要更多的C# web框架吗?

我们现在还需要更多的C# web框架吗?
EN

Software Engineering用户
提问于 2013-08-30 02:57:04
回答 1查看 1.6K关注 0票数 0

开发无止境的web应用程序、网站和web服务框架总是很有趣的。这是最富有的领域之一,在那里你有100种不同的方法来实现几乎相同的事情。

尽管有这么多,我最近还是发现自己错过了C#中的一个web框架。

我觉得新的异步等待 API的C# 5.0将真正改变服务器端代码的编写方式。达到完全异步的禅宗状态一直是服务器端开发人员的圣杯。但它总是太复杂,需要太多的代码。可耻的是,世界上90%的web框架仍然处于阻塞状态。这就是我认为node.js变得如此流行的原因--它提供了廉价的异步性。

但是现在,随着异步等待,C#将窃取这个节目,成为新的“异步奇迹子”。再见JS (在服务器端,不要生气)。至少对我来说是这样,C#只是变得性感了。

这个新时代是否需要新一代的网络框架?

我缺少一个web框架,或者更多的C#中的网络生态系统,它让人联想到node.js --类似于node.cs。这是基本原则:

  • 完全异步的承诺。生态系统中的每个包都必须提供异步等待API。我甚至无法想象在这样做的时候访问DB和阻塞的情况。此外,核心本身应该围绕异步接口构建--流看起来像像这样
  • 基于包和模块化。C#因其庞大的整体web框架而臭名昭著。我想要混合和匹配。我想要在10个视图引擎(由10个不同的人编写)和10个路由引擎之间的选择。这些东西不应该是核心的一部分。
  • 精练简洁的代码。对不起,C#中的框架从来都不是敏捷的。每件事都被夸大了。一层又一层的抽象,直到你不知道到底发生了什么。不要误解我的意思,那些巨大的框架对很多事情都有好处,只是不是所有的东西。
  • 减少供应商锁定。我很乐意提供IIS的托管替代方案。可能会附带自己的可选异步web服务器,如节点。虽然也应该支持IIS。Linux上的Mono支持是很重要的,与nginx和朋友之间的异步集成是很重要的。

我还没有找到具有这些特征的生态系统。如果它存在的话,它将吸引开发人员到异步等待模式中隐藏的巨大好处。这是C#独有的(至少在生产中)。

编辑:

对不起我的问题不清楚。我在问:

  1. 您熟悉适合我需求的现有解决方案吗?
  2. 如果没有,你认为这东西值得写吗?你觉得有用吗?您会把它作为C#中当前可用的web框架的替代品吗?
  3. 如果我要建立一个处理上述建议的框架,你对上面列出的建议有什么批评和赞扬。
EN

回答 1

Software Engineering用户

发布于 2013-08-30 03:54:50

  1. “再见JS”真的?C#是一种服务器端语言.async在C#中的出现不会影响客户端语言和像Javascript这样的框架(除非Javascript对服务器的调用会更快地返回)。
  2. “这个新时代是否需要新一代的网络框架?”async的优点在于您可以在任何服务器端使用它;它不需要框架支持,也不需要特殊的框架来使用它。只需更改代码并返回一些类型,就可以使任何C#方法异步。
  3. 您不需要完全异步。您只需要使那些长期运行的方法阻止您的用户异步即可。通过这个度量,您将发现只有大约10%的方法需要异步化。
  4. 虽然.NET框架类库在您看来可能有点臃肿,但您不必使用所有的类库,甚至不需要使用其中的任何一部分(好吧,除了使ASP.NET和ASP.NET MVC工作的部分)。只使用你需要的。你自己编码吧。
  5. “抽象的层次和层次。”然后,为您的业务领域提出您自己的设计。没有什么能阻止你这么做。ASP.NET MVC已经相当轻量级了,而且它是可扩展的,并且可以根据您的喜好进行配置。
  6. 供应商锁:您不必使用Microsoft的IIS或它们的编译器;您可以使用Mono。
票数 6
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/209892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档