对 .NET5 有兴趣,可有入门路线图?
想趁着过年学习一下现代编程,并做一些自己喜欢的小东西
THX
想趁着过年学习一下现代编程,并做一些自己喜欢的小东西
THX
等弄个 console 应用有些感觉了,可以去看看 ASP.NET 的东西了。ASP.NET 涉及到的内容比较多,一开始可以只看后端知识,前端 HTML+JS/TS 配合就好。后面有兴趣了再了解下 Blazor Server (服务端渲染)和 Blazor WebAssembly (客户端渲染,但不同于大多数 transpiler 的技术把你的 C#/Java 代码你翻译成 JS 让浏览器执行,你可以理解成浏览器里有一个.NET 运行时,所以你的.NET 应用可以被浏览器直接执行)。
后面如果再有兴趣,语言方面看看 F#。F#不像 Haskell 那么纯粹,比较好接受。学 F#的过程中就把 FP 的编程范式了解下,个人认为对拓展眼界有很大帮助。
VS 好久都不用了,一来没有 Remote Development Container 的支持,二来编辑器不支持平滑滚动,一些连字符在某些情形下出不来,terminal 整合的也不如 VSCode,就抛弃之了。
1. CodeLens,可以把类型签名、函数与方法的引用标出来,非常方便。如果用 F#,CodeLens/LineLens 可以方便的看出来类型推导。
2. VS 是原生应用,性能好,占资源少,响应迅速。
3. VS/VSCode 的 Live share 非常好用,个人认为超过不用任何工具和邻桌面对面结对编程的效率。
4. Remote Development 。可以 SSH 到本地 WSL/WSL2 上,或者一台 Linux 远程服务器上进行编程与调试一条龙。这个体验和本地编程没有任何区别,感受不到任何延迟。即便是调试 web 应用,都和本地一样,例如你在远端启动监听端口 8080 的 web server,访问这个 web server 在浏览器里输入 http://localhost:8080,就好像你的应用部署在了本地。更进一步的,你可以把你的项目设置做成一个 docker image,装什么插件,什么依赖包,各种环境设置都弄好了,直接用 Remote Development Container 的方式,设置一个复杂的开发环境几分钟就自动都搞定了。此功能 VSCode 独有,VS 没有。
我重度依赖此功能,我讲下我的场景。我有 1 台 MBP,1 台 8 代 U+8G RAM 轻薄 Windows 10,1 台 11 代 U+16G RAM 的轻薄 Windows 10,办公室 1 台 Windows 10 笔记本,此外还有 1 台装了 Linux 的机器。我的做法就是利用 Remote Development Container,把项目的各种依赖弄到 Docker image 里,这样我随便拿起一台电脑就开始我的项目,无论电脑的配置有多渣( 8G 内存),无论电脑是不是装了.NET ,或者有些包对环境有依赖(我的项目的一个依赖包不提供 macOS 版本的原生库),或者是新买一台电脑,装上 VSCode 零设置就可以开始撸码。
如果全用 vscode 开发,会遇到哪些不用 vs 就完不成的问题?
@masquerader 感谢详尽指引,我还以为 asp.net 已经式微了呢; Blazor WebAssembly 到和一般想象不用,有达到可用成都么?
@yushiro 了解了,自然选新的,等学会了,也就不新了
感谢大家回复
之前的单个 project,重构一下,变成 Solution,加了测试代码。
https://github.com/hantsy/code-challenges/tree/master/csharp