我们公司一直用 ruby on rails 开发 web 应用,最近开始考虑技术转型。新的开发栈基本是前后端彻底分离,后端只提供 web api 就好了。我个人是比较倾向 c# 的,主要原因是用了 ts 之后回不去没类型的开发了,再加上跟 java 和 go 比还是更喜欢 c# 的语法,尤其是能重载运算符,这样做计算的时候代码更好读,另外 async/await 的语法也应该更容易上手。
但是在有人提出了反对意见,由于我对 c#、asp.net 的历史和生态也没啥概念,所以特地来请教一下。
首先的问题就是代码兼容性,现在 dotnet/asp.net 也是每年都发新版本。是否会存在不同版本间有大量的代码需要重写,或者由于第三方依赖迟迟升级不上去的情况存在?如果有的话,产生问题的原因更多是因为 c# 的语法 breaking change,还是基础库接口产生了变化,或者是 asp.net 的升级导致的?
其次就是关于 web service,大概看了看 benchmarks,似乎 asp.net core 的效率还挺不错的。我的问题是 asp.net 作为后端开发,如果只是提供 web api,或者 grpc 的话,会不会有点太重了,有没有轻量一些的替代品?它的启动时间、内存占用的情况如何?
另外这个问题可能会有点儿特别,我开发用的系统是 ubuntu。我猜最好用的 ide 应该大概率是自家的 vs for windows,不过还是想问一下,有人在 linux 上用 vscode 吗?用起来感觉如何,会不会是非常难用的一个状态?比如我个人的感觉,哪怕稍微改点儿 java 代码,我也宁可下个 intellij idea,而不会选在 vscode 里面凑合。
--
FROM 222.153.56.*