到底还要不要学习Winform? 俗话说:术业有专攻,这个问题取决于你是否从事相关方向的开发工作! 如果你从事的windows桌面类软件开发工作,那么绝对有必要掌握winform,如果你从事的BS结构类开发的工作,那么完全没有学习的必要了! 在这里简单的介绍下winform的优点以及使用的场景、项目有哪些?winform的优点: winform是windows form的缩写,可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。 简单的来讲就是基于windows平台的一套ui组件,控件可以直接拖拽,避免了程序员使用代码去构建窗体的繁重的工作量,开发效率非常高,对于新人来说很友好、特别上手! winform诞生至少也有20年的历史了,在桌面开发这一领域,作为视图组件来讲,肯定是霸主的地位了。 而且很多的软件厂商,基于winform的基础上,生产了很多组件产品,例如:devexpress在项目中也得到了大量的应用。 也很难想象,一个有着20多年历史的技术栈,直到如今依然有着其使用的领域,可谓是技术栈中的常青树之一了! 应用领域: 其实在整个开发领域中,桌面CS开发算相对小众的存在,而很多采用winform、wpf等桌面开发技术的项目,在我们的生活中还是随处可见的。 在这里举几个大家平时一定遇到过的场景: 候车站、机场的大屏幕与工作人员使用的系统,有很多都是采用winform桌面技术开发的。 医院、养老院、连锁药房、酒店、工业软件、超市、健身房等等,在这些领域中winform的身影也是随处可见,所以说其使用的范围还是相当之广的! 总结一下: 民用PC操作系统的霸主是微软,而winform作为微软推出的开发桌面应用程序的产品之一,自带亲爹光环!所以在这一领域的开发技术栈中,肯定属于必备技能之一! 但如果做Web开发、手机移动端开发的小伙伴们,肯定没有需求进行学习! 喜欢的小伙伴可以关注我,一起交流学习!我是IT鸟叔,一位喜欢写程序、钓鱼、喝茶、玩游戏的中年大叔! 看你学习这个有没有用处,比如Windows桌面应用开发,开发效率还是很高的。个人觉得Winform比WPF更容易入门和上手,并且编写的用户界面也不象某些人说的会难看,毕竟网上很多Winform漂亮的控件可以下载。 问出这个问题想必提问者是一名软件开发初学者,作为一名过来人,总的结论是不要学,原因主要有以下几点: 1、winform是一种过时的技术,该技术产生距今大约快有20年的历史,自微软在2003年发布dotnet1.0时就产生了,从发布到现在主要技术架构和用法其实没有太大的变化,其本质是用dotnet框架对windows API接口的封装和界面可视化开发,类似于c++的MFC库。 2、winform到目前为止基本只能依赖dotnet框架在windows系统运行,跨平台的dotnet mono-project框架属于小众应用,在国内应用很少,所以如果用winform开发,无法移植到linux、mac系统以及安卓和IOS系统,这样的话就具有很大的局限性。 3、winform开发看似简单,但是如果做用户规模很大的应用,从它的底层依赖性和性能方面都具有很大的局限性,就是说无法支持大规模用户的应用,因为第一,它运行需要dotnet,这个就很麻烦,国内还有许多windows 10版本以下的电脑,这些电脑本身很多没有dotnet环境。第二,如果涉及数据量大或者界面图形功能多的应用,winform的性能很低,严重不如c++开发的应用,第三,winform的技术架构不太适合多人开发,它的技术架构耦合性很强,没有前后端和设计开发分离的机制。 4、类似winform的开发平台还有很多,比如Qt、Electron、Flutter,目前发展速度都很迅猛。 基于以上几点,如果从长远和效果最大化角度考虑,不建议学习winform,而是建议学习Electron、Flutter,学习Electron 可以把web开发也熟悉了,学习Flutter可以把移动开发也熟悉了,这样的话软件开发道路和机会都比winform大,但是如果基于短期的项目来讲,也是可以学习一下winform开发。 如果你坚持微软技术路线,这个还是有必要学的,也有一定的应用场景。 最重要的一个场景,就是做中低端erp软件的二次开发。中端erp,是指用友的u8,金蝶的k3那样的软件,它们本身就是winform形式的,要点是前台拖拽按钮,后台数据库增删改查。很多企业的mes,也是采用这种模式开发的。 很多程序员一辈子都对艺术无感,实在搞不定复杂的页面布局,就希望用拖拽按钮的方式搞定页面布局,学winform,直觉字段绑定,能快速搞个程序出来,很爽。 在这个基础上,可以学微软搞的xaml布局方式,学习所谓通用应用开发。这种开发是微软的野心,只要是win10系统,不管是平板,手机还是pc,开发一次,到处能用。 在xaml基础上,学习微软的移动开发技术。 学会winform,你就能逐渐深入,循序渐进掌握微软开发全家桶,一技在手,天下任我走。尤其是甲方程序员,没有太多精力跟随互联网的花样,不如安静的把微软这套学下来。下手处,就是经典的winform。 Winform学习还是比较有必要的,个人觉得主要有以下两个方面的原因: 1.每一种技术的诞生都有其背后的业务需求所推动,随着互联网技术B/S的发展,Winform使用的范围越来越窄,但是其在桌面应用方面用的还是比较多的,如ERP、WMS,尤其在工业领域,终端设备,上位机方面用的还是比较广泛的。正所谓有需求就有学习的必要性。 2.相对于web编程而言,Winform有以下的几方面的编程优势:门槛低,容易上手,开发效率高。界面开发简单,通过简单的拖拽,就可以很快实现的界面的设计,让程序员更加专注的进行后台业务逻辑的开发,基本上一个程序员即可完成。相对而言,B/S需要有专业的美工人员进行原型界面的设计、界面图片的切割、前端人员进行页面的布局、js开发、css样式开发等一系列操作,需要投入更多的程序员协同完成,耗时耗力,效率相对底下。数据加载效率高。对于一些需要显示大量数据的应用程序,web页面相对于Winform来说,由于需要创建和操作页面dom元素,所以加载效率低,处理不当,有时还会出现无响应,页面卡死等问题。适配性好。Winform在设计好界面后,对不同的终端显示适配性比较好,相对而言,B/S开发的web页面需要界面兼容不同浏览器的显示。 综上所述,个人还是觉得学习Winform还是有一定的必要性,尤其是对学习.net入门的学者来说,更是有必要的。 就那么几个控件,有啥可学的 当然要学习,winform设计适合入门阶段,其上手比较快。会增加初学者的信心,这样才能进一步深入的学习后面难点知识。同时,学好winform程序设计逻辑,对后期学习asp.net,MVc等B/S端开发打下良好的基础。 Winform已经是过时的技术了,Windows平台WPF做桌面开发是主流