对 .NET5 有兴趣,可有入门路线图?

2021-01-13 11:08:02 +08:00
 circsqua
如题,仅有 C 和 Python 背景

想趁着过年学习一下现代编程,并做一些自己喜欢的小东西

THX
5539 次点击
所在节点    .NET
38 条回复
masquerader
2021-01-13 14:07:50 +08:00
@goldiorl 没用过 Rider,就说下 VS/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 没有。
masquerader
2021-01-13 14:22:44 +08:00
@masquerader 补充我上面说的关于 Remote Development 的功能。现在 GitHub 上有开放 Codespaces 的功能,本质上就是微软自家的 Remote Development,现在处于有限规模的测试中,可以申请排队加入测试。

我重度依赖此功能,我讲下我的场景。我有 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 零设置就可以开始撸码。
INCerry
2021-01-13 14:30:11 +08:00
不管任何一门计算机编程语言最重要的还是 408,数据结构和算法、计算机组成原理、操作系统和计算机网络。
1.入门可以直接在 B 站找免费视频,或者培训机构的视频,快速入门还是可以看看的*智播客.Net 视频,之类的,然后就是微软的文档 https://docs.microsoft.com/zh-cn/dotnet/ 机翻不是特别友好,可以直接看英文
2.入门以后就买几本书看看,包括但不限于《深入理解 C#》、《 C#从现象到本质》、《 CLR via C#》、《 C#并发编程》、《 Asp.Net Core 框架揭秘》、《.Net Core 底层入门》、《 MSIL 》、《设计模式》.....
3.用起来,自己可以整个小项目试试,用用学到的框架,写个什么博客站点呀之类的
4.看源码学和设计模式,.net 常见组件的源码,框架的源码 还有 CLR 源码 https://github.com/dotnet
后面再补充吧~
fivestrong
2021-01-13 14:32:26 +08:00
推荐 Mark J.Price 的 c#9 and .NET 5 这本书,最新版本,讲的很系统,基本上属于手摸手教你写 C#了
goldiorl
2021-01-13 14:36:56 +08:00
@masquerader
可不可以再有最后一问,如果全用 vscode 开发,有哪些是 vs 上完不成的?
goldiorl
2021-01-13 14:38:56 +08:00
@masquerader 不好意思打错了,想问的是如果

如果全用 vscode 开发,会遇到哪些不用 vs 就完不成的问题?
masquerader
2021-01-13 14:43:00 +08:00
@goldiorl 放心,没有。
nuanyang
2021-01-13 14:51:12 +08:00
感觉.net 的官方文档已经很好了,挑一个自己感兴趣的领域看就行了
dswyzx
2021-01-13 15:28:41 +08:00
@goldiorl 一个是开发工具,一个是文本编辑器,vscode 要不停的设置各种插件来达到 vs 的各种功能。但如今风气是用记事本最屌
circsqua
2021-01-13 16:39:03 +08:00
@MaxTan
@nulIptr
@hantsy THX

@masquerader 感谢详尽指引,我还以为 asp.net 已经式微了呢; Blazor WebAssembly 到和一般想象不用,有达到可用成都么?

@yushiro 了解了,自然选新的,等学会了,也就不新了


感谢大家回复
pkoukk
2021-01-13 17:04:57 +08:00
巨硬家的文档,完善,详尽,更新及时,挑不出第二个能这么有心的
masquerader
2021-01-13 17:11:13 +08:00
@circsqua Blazor WebAssembly 技术上比较成熟了,Chrome/Firefox/Edge 也都原生支持了。有精力的话自己玩玩持续关注吧,靠这个找工作眼下是不可能的。
hantsy
2021-01-13 17:14:38 +08:00
.net 没正经写过项目,玩过一点 C#。个人还是喜欢 Rider (毕竟长期写 Java,IDEA 界面还是习惯了),VS 实在不会用。

之前的单个 project,重构一下,变成 Solution,加了测试代码。

https://github.com/hantsy/code-challenges/tree/master/csharp
love
2021-01-13 17:41:43 +08:00
@pkoukk 别人家的语言和框架做得不好吗,我用的 Python,nodejs,react,vue 哪个文档比 ms 差
forgottencoast
2021-01-14 09:26:45 +08:00
@love 打个比方,如果 nodejs 的文档叫有文档,那微软的.Net 文档就可以叫维基百科,完全不是一个档次的。
所以,结论就是,差,差远了,差的太远了!
不过,有一说一,.Net Core 的文档现在质量也下降了。
forgottencoast
2021-01-14 09:29:35 +08:00
@goldiorl
@masquerader
用 vscode 开发 GUI 程序? WinForm 、WPF ?有人干过吗?
love
2021-01-14 12:10:25 +08:00
@forgottencoast 行了吧,那是因为.net 臃肿复杂,别的语言除了 java 都很简单不需要海量车轱辘文档
forgottencoast
2021-01-14 12:51:54 +08:00
@love
这就跟“80 年代大家没有手机 没有互联网 也一样过得很开心”,懒得驳斥。
你开心就好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/744473

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX