百科问答小站 logo
百科问答小站 font logo



请问一下,跨平台解决方案中,Qt 和 Electron 孰优孰劣? 第1页

  

user avatar   skywind3000 网友的相关建议: 
      

之前用过 Qt4,后来基于 Atom Editor写过一些插件自己玩(不知道算不算用了 Electron?),现在天天在用 钉钉,云音乐之类的。

实在要比较的话,你可以类比用 Html5 开发的游戏(比如神经猫之类)和 Native游戏之间的区别。简短点说,Electron开发项目是不错,但也给你画了一条红线,让你在享受它便利性和简单性的同时,不能越雷池半步。

不知道你们有没有没发现,不管是网易云音乐,钉钉,Atom Editor,Slack,这些基于 Chrome的桌面Web解决方案做出来的UI都是一大坨的么?就是一个 WebView控件扔那里,所有东西有且只能显示在这个 WebView里面,所有控件都是由这个 WebView控件自己绘制在里面,你不能弹任何超越这个 WebView的对话框,多窗口,否则会麻烦死你,你想做wps,yy这类软件,且不说性能问题,基本上是很难解的。

这种 App一般需要一个唯一的大窗口,要占据屏幕比较大的空间,现成控件虽然多,但用多了以后,所有这类app看起来都是黑雷同的。性能嘛,用过上面那些软件的,各位应该有比较直观的体验,它比较擅长做控件数量少的,每个控件都是大拓大拓那种。

如果你的应用属于上面这些类型,那么挺好的,Electron 适合你。

再者,界面和 C++原生渲染的结合,Electron中,C++可以给后端的 nodejs写一些 module,但要再前端 Chrome的 WebView里面用 C++实现一些界面逻辑,目前我还没看到比较好的方法(反过来Qt 的 Native窗体下嵌入一个 WebView却很容易)。这就是说,你得完全基于 js/coffee 来完成你的界面逻辑,方便的同时,也给你画了一条红线,让你不能越雷池半步,比如你想实现个 YY的房间,里面有一个自己开发的播放器,用自己私有协议传输数据,或者用自己改过的编码格式来解码视频,或者你有个效果(如3D翻页)用 html很难以平滑的模拟,又或者某个控件变化多端,html做起来太难了(比如一个 Excel的单元格,状态实在太多了),你想用C++实现一下,那么对不起,红线画那里了。

最后,Electron对 Windows的支持太差了,bug不断啊,简直是,你们用用Atom Editor的windows版本,比如 One Light风格用了 Electron里面 Native的滚动条,这个滚动条我提了至少三个bug,无数人抱怨,Mac/ Ubuntu下都没问题。

如果你对这些都无所谓,就是个轻量级消费类 APP,产品经理不会有一天说给主窗口的列表控件里加 2000个 ITEM,同时以后也不需要去接触红线外的东西,那么 Electron挺适合的。

Electron 是个好东西,当然,对于红线内的特定应用来说。




  

相关话题

  qt-everywhere-opensource-4.7.4是否包含qtopia? 
  Qt 为什么在桌面应用(Windows 平台)中不流行呢? 
  MFC、WTL、WPF、wxWidgets、Qt、GTK 各有什么特点? 
  如何优化如图所示的,将父类实例扩展为子类实例的代码? 
  大家如何看待all in web? 
  国内做前端年薪有上50W的吗? 
  开发桌面软件时,如何使用 Mac 上那种扁平化极简风格的 UI? 
  微软宣布xamarin免费,对其他跨平台方案有什么冲击?对C#有什么影响? 
  本人后台开发,前端说改个东西要两天,但我感觉撑死2小时,怎么破? 
  国内做前端年薪有上50W的吗? 

前一个讨论
如何在 Linux 下利用 Vim 搭建 C/C++ 开发环境?
下一个讨论
全世界目前最大威胁是什么?





© 2024-11-25 - tinynew.org. All Rights Reserved.
© 2024-11-25 - tinynew.org. 保留所有权利