asp.net core, ef.net core, 啥玩意?
知道asp.net core也有些年头了,但我一直没有时间去碰。直到最近看到.net5出来了,听说这是下一代的asp.net,可能就像当年asp.net之于asp一样吧,想想再不接触就落后了,然后想想,还是把一个比较小的公司内部web应用改成asp.net core写一下(用的是.net5)
用了几天,写一点自己的感觉。纯粹是体验了几天的初级感受。
首先我个人感觉,一个技术平台的更新, 要么是提高运行效率,要么是提高项目的团队协作性和持续可维护性。但是我这几天体验下来,完全没有这些感觉,网上说core比framework效率高了2-3倍,可能是吧,但是我们这些小项目,也体会出不来。
然后,core的最主要意义是什么?是跨平台。
可是我写了十几年.net,还没有需要跨平台的需求啊,绝大多数项目也不需要跨平台吧。使用.net写的项目,客户您就听话给我们配一台windows服务器,装上sqlserver数据库,没有必要突然说要换成别的服务器系统吧?
再看那些cshtml,web app项目也好,core mvc项目也罢,都不是真正意义的前后端分离嘛。
是的,页面上再也没有那些<% %>了,但是换上了各种@,那不就是换种写法吗?一个cshtml里面各种@符号,感觉回到了asp时代。
其实从几年前开始开展app开发业务,从app开发中得到的灵感:
写app(含安卓、苹果、微信小程序等,同理)的人负责写app界面和逻辑,
写服务器端的人负责写后端代码,
两者通过约定的json格式进行数据交互,
那么,web网页项目也可以这样写嘛。写html的负责写html,然后通过ajax向服务器拿json数据,自己回来用js填充页面。
这样写服务器端的人一套代码可以给app用,也可以给web页面用。
感觉挺好的。各人的分工也明确。特别是写后端代码的,不需要懂html5, css3,他只负责提供和接收数据,写入数据库。。。
再说ef.net core,什么玩意?
除了换一种写法,还是什么意义?
听说他的意义是如果换数据库服务,不用改代码,它会自动生成对应的sql语句(比如mssql改mysql的话),可是不好意思,我感觉一个项目用着用着要改数据库的可能性真的很低,至少我是十多年没有遇到过。可能对那些需要整天改数据库系统的团队来说,这是一个天大的好处。
然后再说效率,据说ef.net基于ado.net,那效率肯定是不如ado.net的吧,那直接用ado.net它不香吗?有时一个比较复杂的查询,用sql语句几分钟调试通过,用ef的话,搞半天不知道怎么写哈