小弟我从学校出来的时候是Java Web后端背景,现在也在接触现代化Node.js前端框架和我司的数据与ETL相关产品。之前还没毕业的时候在前东家实习,用C#写过WinForm,给客户做了个处理气象数据的小工具(数据处理的核心调用的已有其他软件的dll),对Windows桌面应用程序的开发也就仅限于C#和WinForm的浅薄经验。简单恶补下知识,现在Windows桌面应用程序GUI技术基本有如下这些:
微软自己家的:
①最古老的调用Win32API,用C++写
②WinForm,和.net完全绑定,用C#写
③WPF,和.net完全绑定,用C#写,但是XAML写界面的话对高分辨率以及缩放很友好,界面渲染也很酷炫
④UWP,这个不提了吧,微软自己在这块的声音也越来越弱了吧
别人家的:
①Qt,网上找到的特点包括但不限于:界面酷炫、方便多平台移植。我印象最深刻的VirtualBox的GUI就是用它做的
②Delphi,这个会的人不多了吧
③基于Chromium和Node.js的Electron:做的最牛逼的当属MS家的VSCode,完全接近于现代化前端开发的那一套
看了昨天买向日葵控控被关照的帖子后,我突然想如果要做一个像TeamViewer、向日葵这种的远程桌面客户端的话,GUI方面的技术选型应该选什么?
Electron我觉得不太可行,毕竟还是相当于跑在浏览器里面的,像是远程桌面这种会调用操作系统自身API的东西应该会有很多局限。
Qt网络上的其他资料有提到学习成本较高,这个先不谈。
现阶段我觉得最可行的应该是WPF,WPF看介绍貌似是可以做到类似于Web界前后端分离的模式,但WPF如果后端是C#搭配.net的话,像远程桌面这种和系统API以及网络请求较多的应用场景下会不会有性能问题?
其实看下来Windows桌面应用这块GUI的选型真没有完美的方案,如果要做一个远程桌面客户端,你的选型是什么?