c#、Qt开发对比

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_24624539/article/details/87899475
            </div>
                                                <!--一个博主专栏付费入口-->
         
         <!--一个博主专栏付费入口结束-->
        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css">
                                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css">
            <div class="htmledit_views" id="content_views">
                                        <p>1. Electron:js开发界面,可用cpp扩展<br>
  1. PyQt5: Py开发界面,可用cpp扩展
  2. QWebView:js开发界面,py cpp做后端(非界面部分)

比开发速度,上面三个方案完爆c#
Qt5以后,Qt全面使用gpu加速绘制。
微软自己都很少用 WPF,做个 vscode还要去用 electron。

界面脚本化是大势所趋,弄个界面就该快,改两行代码按个快捷就该跑起来,避免改个文件一编译就等半天,或者出个bug找两天:

编码-测试-编码 这个核心工作流越短越好。上面三个方案都跨平台,况且人的时间本来就有限,上面几门技术学了你不亏,其他好多地方都用得上,关键是开发效率都比c#高。

再比较下性能:https://www.youtube.com/watch?v=8O-0k4MLKs8
Qt 5.6 MinGW 和 .NET 4.5 WPF 跑同一个测试,Qt 的速度是 WPF的两倍!

主要是两个技术序列:

1. 基于web技术的桌面产品,比如vscode,atom,Slack,网易云音乐,钉钉之类的成熟应用挺多,文档也丰富,问问题有人答,搜问题搜得到。


短短两年间,这么多来自微软,Facebook, Slack,Docker等公司的桌面产品使用 Electron开发出来,更多的可以到:Electron Apps 自己看。

2. 基于PyQt的桌面产品:DropBox client, R Studio, Calibre, Eric Python IDE, Spyder, PDF Catalog Creator for Magento,出活快,写小工具用它根飞一样,做专业系统可以和C++Qt无缝整合。

R Studio

Spyder

上面两张 R Studio / Spyder 的截图,PyQt做的,不算简单吧,这界面,想看酷炫的可以去看 PyQt的 demo,不要觉得 PyQt有多大, DropBox客户端打包出来 24MB,比很多手机app都小。

Electron 内核整合了 NodeJS,所有 NodeJS能用的模块 js都能用,比如:
node-ffi/node-ffi 模块,可以让你直接调用 C++写的动态库,不需要用C++写个node扩展:


  
  
  1. var ffi = require( 'ffi');
  2. var libm = ffi.Library( 'libm', {
  3. 'ceil': [ 'double', [ 'double' ] ]
  4. });
  5. libm.ceil( 1.5); // 2
  6. // You can also access just functions in the current process by passing a null
  7. var current = ffi.Library( null, {
  8. 'atoi': [ 'int', [ 'string' ] ]
  9. });
  10. current.atoi( '1234'); // 1234

Python/PyQt也有类似的接口。

WPF线上产品不考虑,不要看着你们办公室没人用xp就以为天下没xp了,你去二三线城市的网吧里看看,大范围的xp。现在这个时间点国内还有 45%的电脑跑xp,这问题三年内不会缓解,你要做线上系统你基本不可能抛弃这群用户,做内部工具又没有上面三个快捷,更何况跨平台问题。

虽然我承认 C#是一门好语言,但堆逻辑还是没有 js,python之类的快,且不管 C#还是 WPF,应用面太窄,学会了将来能用的地方也不多,不值得投入。而上面我给你推荐的三套方案,所涉及到的技术应用范畴都广的多,比如你学会了js/Electron,可以无缝把你桌面应用迁移到 web上,比如同时开发web版本,可以稍微该一下做成移动app,学了python/qt,也有好多别的事情可以做。

所以,学一个东西要考虑它本身的价值

ps:用过win32,owl,vcl,mfc,c#,tk,wx,手撸DirectUI,qt

不会坑你

发布了14 篇原创文章 · 获赞 5 · 访问量 6035
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_24624539/article/details/87899475
            </div>
                                                <!--一个博主专栏付费入口-->
         
         <!--一个博主专栏付费入口结束-->
        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css">
                                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css">
            <div class="htmledit_views" id="content_views">
                                        <p>1. Electron:js开发界面,可用cpp扩展<br>

猜你喜欢

转载自blog.csdn.net/weixin_43277501/article/details/103172898