1. 云原生离.NET 开发到底有多远?
云原生作为一个相对较新的概念,其故事始于“上云”这一过程。随着Docker、Kubernetes等技术的兴起,以及CNCF(Cloud Native Computing Foundation)和各大云厂商的共同努力,云原生逐渐被广大开发者所了解。云原生不局限于特定云平台,无论是公有云还是私有云,都能提供支持。.NET 6的发布与容器技术的发展紧密相连,并且现在完全支持CGroups v2,在容器支持方面超越了Java。随着.NET 7版本中Native AOT等新特性的加入,.NET正在不断进步,以更好地适应云原生环境。目前,.NET在云原生领域的发展已经走在了其他开发平台的前面。
2..NET 适用于怎么样的场景?
我们在谈论云原生、微服务的时候,经常会提到 DevOps,CI/CD 等概念,对于.NET 来说现在已经支持的非常好。.NET 也可以做 machine learning,我们有 tensorflow.net。在跨平台方面现在又有了 MAUI 这么优秀的项目可以供大家使用。还有在 IoT 的行业.NET 也有非常多的解决方案。.NET 可以做大型项目,也很适合中小型的项目。现在.NET 是开源的,大家可以贡献自己的力量,像 MASA 技术团队开源的 MASA Framework 就是国内非常好的案例。
3. 怎么样的框架对于开发者是友好的?
好的框架有三个特点:
- 无痛入门
好的框架应该是可以让开发者很快入门,上手成本低,而不是设置高门槛。比如在开发常规项目时,能够快速(比如几个小时)上手就能开展。需要深入时,可以非常平滑的深入,比如 Spring Boot 算是一个比较好的框架,在.NET Core 出来后,.NET Core 则更胜一筹。
2)防呆设计
在开发者遇到问题时,好的框架能够让开发者自然而然根据直觉解决问题,可以不依赖文档。报错时有充足的信息告知开发者,给出相应的解决方案。winform 与 WPF 的组件设计就非常符合防呆的设计,同样的 Blazor 相对之前的 js 框架在这方面有很多的优化。好的框架应该保持 “KISS”(keep it simple and stupid)原则,简单又傻瓜化,并且有原则,不娇惯开发者。很多框架开始时 “小而美”,越到后期需求不断增加,变得臃肿,变得 “四不像”。
3)可阶梯式深入
入手之后可以阶梯式的深入,比如 3 天学习一种用法,5 天再深入一种用法。能够让开发者,在应对进阶场景时,快速的深入掌握。
4.NET 已经是非常优秀的框架,为什么要二次封装.NET?
大多时候,随着项目开发会有业务之外的重复性、非功能应用,或多或少都会进行一些封装。不同的场景需要不同的框架,现在.NET 跨平台除了 MAUI 还有 Uno Platform,还有其他框架支持,可以补充不同的场景需求,比如 Uno 就可以代替 MAUI 来支持 Win7/Win8。.NET 输出的是工具类库,二次封装.NET 的框架就不能只是一个功能合集,必须要有自己的最佳实践和理念,但不限制开发者。