VS 2015 的跨平台特性对 Qt 会带来多大的冲击

如题所述

1. Qt SDK现在最新版本为5.4,按照官方说法,其LGPL协议下,提供以下目标平台的二进制开发包:
Windows Desktop x86/64
Windows Store App
Windows Phone 8.1
Android arm5/7
Android x86
MacOS
iOS
如果在GPL协议下或者之前老版本的Qt,可以支持塞班、黑莓、各种嵌入式开发板等平台。Qt支持的目标平台肯定还是比VS2015多的。

2. Qt不仅仅是一个c++界面库,它在实现了一套基于C++的反射功能的基础上,包含了网络、数据库、多媒体、测试框架、国际化工具、打包部署模块等,甚至还自己封装了一个WebKit模块。此外,Qt有收费才能使用的模块:
Qt Purchasing

Qt Charts

Qt Virtual Keyboard

Qt Data Visualization

现在,除了这些传统客户端开发工具以外,Qt也推出了云服务QtCloudServices。这方面我去年写过一篇博客《Qt云服务/云计算平台QTC(Qt Cloud Services)入门(0)—— Introduction》,当然现在可能有变化。

3. 由于平台众多,Qt传统的基于QWidget界面在适配各种不同DPI的屏幕时,设计风格、控件及字体、图标大小等方面是会存在问题的,Qt5.4版本开始,官方宣称解决了DPI的问题:
High-DPI support for Windows and OS X

然Qt5.4版本以前(包括现在),Qt官方希望大家使用QtQuick(QML,一种基于JavaScript的语言。c++与QML的关系,有点像
C#与WPF一样)来解决触屏和DPI的问题,使用QML开发的话,在各个目标平台显示效果都是一样的,并且能够很方便的与C++代码交互。当然,
与.Net的WPF比起来,还差很远,但毕竟跨的平台比WPF多。Qt官方有一个用来显示股市信息的QML Demo(),在Win8、Android、WP上面显示效果都非常好。

4. QtCreator这个IDE与Qt配合起来非常完美,在VS里面使用Qt总感觉怪怪的。如果不使用Qt,由于C++语法过于复杂,VS这种宇宙级的IDE也不能像c#那样来IntelliSense C++,但无论如何还是要强于Qt Creator的。

5.

VS2015中C++的跨平台,肯定不会是一次编写处处运行(除非写的是标准C++)。如果带有界面(Win的MFC、WTL,Linux的X11)、或
者有用到POSIX、WIN API,怎么可能不修改代码直接跨平台看而Qt有自己的一套GUI、Networks等框架,如果严格使用Qt
SDK的标准来开发,完全可以不修改代码,在各个平台编译就行。
温馨提示:答案为网友推荐,仅供参考
相似回答