当前位置:网站首页>怎么样的框架对于开发者是友好的?
怎么样的框架对于开发者是友好的?
2022-07-30 18:03:00 【MASA team】
1.云原生离.NET开发到底有多远?
云原生的概念由来不久,故事从“上云”开始,伴随dorker、k8s等技术的推出,以及CNCF与各大云厂商的共同加持,云原生逐渐被大家所熟知。云原生不依赖具体的云,不管公有云还是私有云。.NET6的诞生的时间点与容器技术非常的契合,.NET6现在已经完全支持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.怎么样的框架对于开发者是友好的?
好的框架有三个特点:
1) 无痛入门
好的框架应该是可以让开发者很快入门,上手成本低,而不是设置高门槛。比如在开发常规项目时,能够快速(比如几个小时)上手就能开展。需要深入时,可以非常平滑的深入,比如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的框架就不能只是一个功能合集,必须要有自己的最佳实践和理念,但不限制开发者。
MASA Framework希望将我们的最佳实践输出给.NET开发者,帮助大家开启全新的现代应用开发体验!
边栏推荐
- Mongo for infrastructure
- This year..I sincerely recommend the professional engineer to upgrade to the book!
- ESP8266-Arduino编程实例-BMP180气压温度传感器驱动
- 超声波探伤仪是做什么用的?
- Ecplise执行C语言报错:cannot open output file xxx.exe: Permission denied
- 如何让 JOIN 跑得更快?
- Test the.net text to Speech module System. Researched
- 记者卧底
- OSPF详解(3)
- 单例模式 (Singleton)
猜你喜欢
Mo Team - Elegant Violence
知识蒸馏1:基础原理讲解及yolov5项目实战介绍
This year..I sincerely recommend the professional engineer to upgrade to the book!
基于亚马逊云科技无服务器服务快速搭建电商平台——性能篇
weiit新零售小程序如何探索数字化门店的破局之路
【AGC】构建服务1-云函数示例
如何让 JOIN 跑得更快?
网络基础(三)01-网络的基础概念——URL地址组成之协议、主机地址、路径和参数&127.0.0.1本地回环地址& 查看网址IP地址并访问之ping空格+网址&netstat -anb查看本机占用端口
分布式消息队列平滑迁移技术实战
EMC VPLEX VS2 SPS电池更换详细探讨
随机推荐
Ecplise执行C语言报错:cannot open output file xxx.exe: Permission denied
网络基础(二)-Web服务器-简介——WampServer集成服务器软件之Apache+MySQL软件安装流程 & netstat -an之检测计算机的端口是否占用
【HarmonyOS】【ARK UI】HarmonyOS ets语言怎么实现双击返回键退出
躲避雪糕刺客?通过爬虫爬取雪糕价格
高级语言垃圾回收思路和如何减少性能影响原理分析
PLSQL Developer安装和配置
OSPF详解(3)
这玩意儿都能优化?果然是细节都在魔鬼里。
图解LeetCode——11. 盛最多水的容器(难度:中等)
编曲软件FL Studio中文版安装教程及切换语言教程
基于亚马逊云科技无服务器服务快速搭建电商平台——性能篇
DevEco Studio3.0下载失败,提示An unknown error occurred
LeetCode 952. 按公因数计算最大组件大小
One year after graduation, I was engaged in software testing and won 11.5k. I didn't lose face to the post-98 generation...
LayaBox---TypeScript---泛型
leetcode-684:冗余连接
千亿级、大规模:腾讯超大 Apache Pulsar 集群性能调优实践
Leetcode数据库系列题解合集(持续更新)
Arranger software FL Studio Chinese version installation tutorial and switching language tutorial
CMake库搜索函数居然不搜索LD_LIBRARY_PATH