大家好,今天小编关注到一个比较有意思的话题,就是关于wtl编程学习的问题,于是小编就整理了3个相关介绍wtl编程学习的解答,让我们一起看看吧。
请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?
应用是需要做后续支持跨平台mac Linux等平台,个人建议还是选择QT,如果对程序性能要求较高,且有一定的C++基础,更加考虑QT或其他C++界面库,开发效率上的话目前都比较完整了,相差不会太大。
其实提问的人把顺序都排好了,反过来就是在win下开发选择的顺序。
mfc比较古老,基本只是winapi的一层很薄封装,用起来挺累的。除非是维护古老的mfc程序,比如你维护腾讯的qq, 用mfc应当几乎是必须的,其他情况并不推荐。
qt方案是个重量级选择,因为qt很庞大,几乎覆盖了桌面所有领域,ui只是其中一个小部分。但qt ui组件并不是属于原生方案,类似现在的flutter的方式,那些控件几乎都是自己渲染出来的,模仿了特定平台风格罢了。快速建模和概念演示用qt的qml很不错,另外qt用于商业领域并不是免费的,做产品需要还是考虑一下它的重量和价钱。
c#的winforms是ms的原生UI方案。根红苗正并且易用轻量,没有跨平台需求和不想折腾的话,用来做win桌面程序是最轻松和放心的方案。
值得一提就是如果应用中有很多需要展示web页面,或者嵌入了页面而不需要原生UI,用nodejs的方案会更方便,vscode用的就是electron,它其实就是内嵌了一个chrome浏览器,引出了一套js api罢了。而微信的电脑版用的是和electron类似的框架叫nwjs。
大部分跨平台方案因为都不是原生UI,体验上多少会差一些,比如操作不方便,压力大时反应慢,吃内存,包巨大等等
就我个人来说,大部分时间都在mac下工作,即使偶尔开发win桌面小应用,一般也是用mingw编译成exe/dll, 在Mac上用wine做业务逻辑测试。我选了wxwidgets做UI,它是原生方案,支持多个os平台,完全免费,支持各种脚本绑定,最关键比较轻量,整个UI包不到10M搞定。
展示一下最近做的一个windows下鼠标键盘操作记录+截屏数据的编辑器,用于生成自动操作文档和自动化录入工具,在mac m1下开发,x86-windows下运行, 用wxwidgets做UI。
做windows桌面应用当然是c#。
c#是.net框架下主力语言,与windows系统的集成度很高,win7,win8,win10都自带.net框架,根本就不需要什么依赖,c#语言目前已经更新到8.0版本,***用vs来开发桌面程序简直太完美,不管是winform还是wpf这两个都是一二十年很成熟的桌面程序框架,拖拖控件就能开发,效率高。wpf自定义程度高,可以设计出精美的ui界面来,一点不输web界面,而且还有配套的bland设计器来***做ui界面。
目前winform,wpf这两个桌面框架都已经支出.netcore,这是一个新出的垮平台框架,所以我觉得做桌面开发c#是首选。
以上我的看法,大家有什么想法也可以一起讨论。
我是从MFC做二维图形CAD起步的。后来C#。回到你的问题,具体看做什么类型的应用,还有就是你能把握的技术栈是什么。简单的图形界面,C#最快,开发成本最低,其实我也用C#做过图形图像应用程序,优化一下,性能也马马虎虎。如果追求性能,MFC肯定是首选,缺点就是代码量巨大。再说QT,QT是个万金油,提供了不少方便的类库,还跨平台。如果做三维应用,首选推荐QT。
总之用什么工具还是综合评估,技术人员能力构成,应用场景,开发成本等。举个例子的话,Windows上工控,管理软件,C#不犹豫。追求图形性能,计算性能,网络性能,C++。三维,跨平台,QT。为什么最后推荐qt,不是因为qt不好,是玩qt的人比较少。
推荐使用QT,因为QT开发效率挺高,里面控件有布局容器很好用,虽使用C++语言,但是里面的库让你不用太操心new出来的[_a***_]还要关注释放,信号和槽让你自由的爽感。MFC就太老了,到处是宏,效率也低。C#的话开发效率是高,但运行效率低点,控件也不漂亮,还容易被反编译出代码 。
本人机械专业,想要自学编程,如何入门?有什么值得推荐的书?
编程的范围很广,你不说详细点儿,怎么跟你说呢。这样吧,跟你说的大体的,然后你自己选。 目前编程有,web开发方向,这块儿主流,什么微信公众号开发,小程序开发,个人博客,电商平台,企业级应用都是web开发的,然后是桌面应用开发,这块儿有跨平台的QT GTK WX等,还有只有windows应用的,winform
wpf mfc wtl等。再就是嵌入式,单片机开发,这块儿主要用c python等开发。还有手机应用开发,比如安卓java开发,苹果obj-c开发。大体能想到就这些。 什么书,那就给你推荐几本,代码大全,程序员修炼之道,c专家编程 c与指针 如果是web方面的,你还要再看html css js 这是web开发必备知识。 还有后台开发,这块儿,j***a核心编程 spring框架 springmvc asp.net mvc asp.net core mvc 等太多了,每个开发语言都有很不错的书籍。
一般来说偏向于传统工科的话,主要就是学好C语言的话就可以了,但如果你不准备在机械专业继续下去的话,那就可以先把C语言好,以后转到其他计算机相关专业的话,专业的老师会布置其他的学习计划。
但是如果你以后是想继续在机械专业学习的话,那么最主要的技能其实并不是编程,而是设计,尤其是3D打印这个方向,请多多留意!这个方向的前景可以说是非常广阔的,因此在学好一定的编程基础后,请学有余力地向这个方向努力。
如果需要相关的电子书籍,可以私信我,留下邮箱地址,我直接将PDF文件发到您的邮箱。
编程分很多种,不知道你想要学哪种编程语言,比较热门有python,j***a,PHP,C语言,C++,.net等,他们每种都有自己的优势,但是从你目前专业来看,推荐你学习C语言或C++。
C语言可以做嵌入式工程师,单边机开发与你专业还是比较靠谱。
C++则在C语言基础上扩展,所以C++比C语言更加更大,可以说是C语言能开发的C++也可以而且比C语言更好,像大数据开发,大型游戏开发,都喜欢使用C++开发。
推荐书本:《C语言从入门到精通》《C++从入门到精通》,《C程序设计语言》,《C专家编程》《Linux C编程实战》,《C嵌入式编程设计模式》《C语言项目开发实战》。
希望能帮到你谢谢!
为什么各种手机app层出不穷,但是国产大型专业工程软件却比较少呢?
一般商业***开发相比工业设计类软件实在太简单,***开发教一教初中生也干的了。***无非就是页面路由跳转和服务器crud操作而已有相当多的范式可循。而工业设计软件的难度,都是数学、机器机制、电路、加工制作装配设计方面的,举个最简单的例子,一般程序员给一个曲面上某一点算个法向量都费劲,更别提把曲面在软件控制下在车床上车出来,还有模拟和仿真等……要把这各种机制有机地组织起来想想就复杂头疼[捂脸]简单来说,工业软件相比一般***就是个天坑
现在国内教育脱节,尤其最近几年急功近利。
搞物理的不会计算机,搞计算机的不会物理。
工程软件需要同时理解物理和计算机。
计算机的浮点计算功能,在国人的计算机上基本没用,天天网购外卖***,当然视频压缩解压还是需要的。
开发比较困难,获得市场也比较困难。
专业软件的一个要求说就是标准化,利用这个软件设计制作的产品在任何其它平台上都会显示出相同的结果,这个需要很深刻的业界经验和专业知识,而系统开发方面也会变得极其繁琐。
对于普通***来讲,UI由设计部门负责,前端编写client,后端设计接口实现对接。这是一套分工明确并且可以敏捷开发部署的模式。但是对于大部分工业软件,工作还是在本地完成的,对于本地硬件的优化也需要在软件里面进行考虑。
和行业的合作也非常重要,软件之所以会被接受是因为有业界知名企业在进行使用,而为了配合这些巨头,其合作方也会开始使用这样的软件,从而产生一个扩散效果。但是在现在业界已经认同某些软件的情况下,再入局难度非常高,首先在创新点的选择上就比较困难,几家巨头的产品功能上已经很全面了,如果想要特立独行地做一套操作模式,未必会容易接受;很多公司使用某种软件很多年,人员培训和购买软件的成本很高,一般不会愿意去更换已经成熟的体系;新的软件需要经过时间验证,而对于以生产效率为主的企业来说,不会提供这么大的时间窗口,另外对于意外带来的损失一般也承受不起,他们更愿意求稳。
所以现在想要开发这类软件其实难度很高而且收益不好,自然不太会有人愿意做。
到此,以上就是小编对于wtl编程学习的问题就介绍到这了,希望介绍关于wtl编程学习的3点解答对大家有用。