如何看待asp.netweb开发技术?

 我来答
猪八戒网
2023-04-03 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

先简单回顾下asp.net过去十年

mvc流行前

asp.net的服务端控件,将html和js一起封装,很多客户端事件自动通过生成的js将数据重新post回服务端。而对于很多刚入门的小伙伴来说,仅仅靠拖放控件和写C#代码就可以实现一个可用的Web项目,大大降低了入门门槛。相应的,服务端控件这种过度耦合的设计带来了很多缺点:自定义控制难,难以纯粹将前后端分离,导致asp.net从业人员既不能精通前段技术,又不能涉猎更多的后端技术(生态问题)。

这个年代,.net被贴上了“拖放控件”的标签。

mvc流行后

微软推出了asp.netmvc,很多公司已经开始尝试前后端分离。就模式上面来说,已经和其它语言平台基于mvc的web项目开发模式无异。

但是asp.net本身的服务框架太杂乱,尤其是艰难(如果你留意过,甚至可以说难产)支持asyncawait异步编程后,他的同步上下文模型缺点太大:首先是源码的结构混乱,其次是使用过程很多人容易造成死锁,异步方法使用不当导致请求已返回上下文已释放然后找不到同步对象导致的异常。问题的根源是大部分程序员对线程了解不深,如果项目有正确的规范用法还好,一旦没有,产生异常很多人根本不知道问题出在哪里。博客园改造过程中就出现过的死锁,有兴趣的可以去看看博客园官方博客写过。

aspnetcore

新应用程序模型设计和代码实现,我非常喜欢。其它的不说,看看那简洁的Reqeust和Response对象,是不是就会让你欣喜?再看看中间件管道,上下文(Context)通过委托链链一路传递,再也不用晦涩的同步上下文,也移除了和Windows安全相关的特征。

整个架构更加清晰,喜欢做扩展的人绝对会有一日看尽长安花的快感。

自然性能也不用说,可以关注github上微软之前做过的除了mvc之外的性能测试对比。

net生态

拥抱开源后,netcore,standard,aspnetcore,efcore等一系列实现全部都有了,明年的netcore3.0还会包含客户端模型(wpf和winform,只能在windows下使用)。

github上面aspnet,dotnet,dotnet-architecture等分支包含大量微软直接维护的开源项目。

开源社区大部分的项目已经跟进将三方组件基于standard标准打包。

微软也久违地把散乱的文档汇集到docs子域名下

万事剧本,就欠生态!如果apache基金会下面的重要项目都有.net的分支,相信依靠netcore必定可以再次抢占不少的份额。

前景

微服务流行后,其实内部可以混合多种平台提供服务,用aspnetcore做对三方组件需求不太大的业务服务是完全的可以的,基于微软一贯的作风,开发效率是很高的。

其实现在很多内部系统在用.net,只是面向互联网相关的项目,更加需求丰富的三方资源,采用.net的比较少。不过很多大的公司都有.net的分支团队。毕竟在桌面和开发效率上的优势,还是有他存在的价值。

aspnet到底会如何发展,个人感觉还是要看社区的反应,要看生态是否能逐步丰富起来。

看在微软这么努力的份上,个人挺希望他能够扳回一局。

所以?

眼光放长远一点,平台只是我们的工具,一个IT人不应当把自己的技术范围限定到某一个平台。多学多积累,实际项目中应该针对需求、架构以及团队做出选择。

比如Java和.net同时掌握,各取所长,基于他们重叠性较高的原因,学习成本并不高。何况绝大部分的知识和平台并无关系。

个人见解纯手打,欢迎大家评论或者提出意见。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式