【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
之前很少用到c#语言,大部分时间都用c/c++,主要是它可以兼顾上位机qt开发以及嵌入式开发。所以,用c/c++是比较合理的。但是坦率来说,人才市场上面,能同时把c/c++用的比较好的同学,真的是很难找的。但这方面,c#就有很大的灵活性。它用起来比较简单,使用起来也方便。不仅如此,用c#开发上位机的话,本身灵活性也够,使用wpf可以实现前后端的分离,渲染的部分交给渲染,数据的部分交给数据,两者分开来就好了。
1、应用场景
目前用c#实现上位机的地方还是很多的,比如c#开发游戏、开发传感器标定软件、开发非标项目软件、开发运动控制卡处理界面等等,这里面每一个都有很大的市场。所以毫不夸张的说,可以用其他语言开发上位机的地方,用c#语言一样也是可以的。
2、c# wpf开发界面的优势
传统上位机的开发主要有这么几个方法,第一,用mfc;第二,用qt;第三,用c# form。mfc是比较古老的方法,相关的使用方法可能要追述到20年前了,维护的工程一般也是比较老的项目。qt呢,因为一直有人维护,本身也是跨平台的项目,所以使用的同学也比较多。当然,qt需要涉及到c++的编写,使用上面有一定的难度,所以这方面在招聘上就比较吃亏。c# form则是另外一种编写界面的方法。这中间同样由于涉及到很多图形界面的硬编码,但对于主业务帮助不大,虽然用的比较多,但是一直也被大家所吐槽。
而c# wpf则集合了很多的优势,本身语言学起来不复杂,而且又有wpf的加持,所以有兴趣的同学还是可以好好练习一下。需要配套的软件就是VisualStudio,选择2017、2019版本都是可以的。
3、c# wpf之外需要学习的内容
除了界面之外,还是有很多的内容是需要学习的。这里面包括但不限于:
1)配置文件的解析;
2)数据库的读写;
3)网络通信的处理;
4)多线程的处理;
5)计算机图形学的处理;
6)通讯协议的解析;
7)加解密的处理;
8)软件架构的拆解和实现等等。
4、软件+行业的竞争力构造
c# wpf本身只是一种技术方案,它可以用在很多的行业。不管是消费品,还是工业品、非标产品等等,它的价值只有和具体的行业绑定在一起才能体现出来。上面说的技术内容,这部分只是和c#本身语言相关,但是它不是程序员自己的核心竞争力。作为programmer,他的核心竞争力应该是来自于行业,即将自己的软件开发能力和行业背景做一个整合,怎样可以提升用户体验、做到行业的降本增效,这才是技术的价值。
5、软件产品+项目的实施方案
实现软件产品常常可以用很多的方案来实现,c# wpf只是其中一个。所以,每当我们开发好了软件之后,最好可以让软件用起来,不断在项目上面部署起来,搜集现场的使用情况不断做出改进,这样才能促进我们的能力进行不断提高,自身的收益也会越来越好。如果软件本身做出来束之高阁,不部署也不使用,那么这个软件是没有价值的,相关的技术也是没有价值的。所以,对于我们来说,能够用软件或者相关产品来解决问题,这才是具有价值的,当然这也应该是每一个programmer必须掌握和了解的真相。