当前位置:网站首页>怎么样的框架对于开发者是友好的?
怎么样的框架对于开发者是友好的?
2022-07-29 09:28:00 【dotNET跨平台】

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

点击链接观看直播回放
扫码进群,了解更多
MASA Framework欢迎你的加入


《MASA Framework实战课程》已开课
点击“阅读原文”查看课程安排
边栏推荐
- 如何为OpenHarmony做贡献
- I don't know how lucky the boy who randomly typed logs is. There must be a lot of overtime
- 云原生管理实践:业务引领的DevOps持续交付体系
- Configuration file settings for remote connection to Windows version server redis
- WebAssembly 2022 问卷调查结果新鲜出炉
- Unity guidance system. Click the target object and prompt the text to change color to enter the next step
- Parameter initialization
- How to contribute to openharmony
- Tesseract图文识别--简单
- [machine learning] logistic regression code exercise
猜你喜欢

Webassembly 2022 questionnaire results are fresh
![[machine learning] naive Bayesian code practice](/img/42/38e8cfa8ebfbb0e14c2e26ffc6c793.png)
[machine learning] naive Bayesian code practice

如何介绍自己的项目经验?

On the charm of code language

Evaluation index of machine learning classification model and implementation of sklearn code

(Video + graphics) introduction to machine learning series - Chapter 1 Introduction

先序遍历/后序遍历确定树的大致形态

机器学习之分类模型评估指标及sklearn代码实现

Outlook tutorial, how to create an electronic signature in outlook?
![[machine learning] logistic regression code exercise](/img/dc/203f240e2eb213dbd6173d17e47ec6.jpg)
[machine learning] logistic regression code exercise
随机推荐
原型链继承和构造函数继承的 “毛病”
I don't know how lucky the boy who randomly typed logs is. There must be a lot of overtime
附录2-一些简单的练习
On contract testing
First order traversal / second order traversal determines the approximate shape of the tree
Basic part 2 of flowable
Safety is no longer the only selling point. Test drive "slash youth" Volvo C40
MySQL的数据类型
Handwritten character recognition
dataframe. to_ Sql() inserts too many errors at one time
Pyqt5 rapid development and practice 6.4 qboxlayout (box layout)
简述堆和栈的区别
C# 使用RestSharp库实现POST请求
Jetpack Glance? The spring of widgets is coming
文件重命名后,怎样将新旧文件名及所在位置导出到excel
浅谈契约测试
Gutcloud technology restcloud completed the pre-A round of financing of tens of millions of yuan
【机器学习】朴素贝叶斯代码练习
网络安全(5)
NFA determination and DFA minimization based on C language