分享

中国应该收购QT,然后开源免费

 張先民 2019-03-09

中兴事件给我们当头棒喝,搞了很多房地产,关键技术没掌握多少。阿里收购芯片公司,全民大谈中国芯,其实和中国芯片一样软甚至比芯片更软的是软件。

没有自己的操作系统,没有自己的关键技术。但是今天我想得了一点,就是GUI图形界面是仅次于操作系统的一个关键组件。而QT是跨平台的C GUI框架。linux系统没有很好的c 图形界面系统,QT是非常好的一个选择。QT还能跨平台,有很多关键用户,比如OPIE、Skype、VLC media player、Adobe Photoshop Elements、VirtualBox与Mathematica以及被Autodesk、欧洲空间局、梦工厂、Google、HP、KDE、卢卡斯影业、西门子公司、富豪集团, 华特迪士尼动画制作公司、三星集团、飞利浦、Panasonic等。还有良好的社区支持和学习氛围。诺基亚曾经收购了QT,后里又卖了。卖身之后的QT授权就复杂了,开源项目可以免费使用,但是商业项目要付费,这就限制了QT的应用和发展。所以我的国既然要发展IT产业,软件发展必不可少,反正我的国有的是money,不如花几亿(诺基亚收购QT花了1.6亿美元,600万美元出售的)美元把QT买了,然后彻底免费,并且组建一个团队,促进QT发展,让其成为一个能撑起一片天空的GUI系统,再配合Liunx,形成一个全球化、实用化的,类似windows的系统平台,不失为摆脱美国微软控制的一个方法,否则你的卵子永远被人捏在手里。

也算为世界和平做了一件好事。

Linux之所以无法取代Windows,主要还是因为无法盈利,缺乏系统性的投资。很多Linux的关键组件维护人很少,大多根本无人维护。中国如果真想摆脱windows的垄断控制,就有必须设定一个明确的目标,系统性的投资这个项目。

参考:

使用于使用Qt开发的软件,相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码。会自动依平台的不同,表现平台特有的图形界面风格。

Linux/X11:用于X Window System(如Solaris、AIX、HP-UX、Linux、BSD)。支持KDevelop和Eclipse IDE集成

Mac:用于Apple Mac OS X。基于Cocoa框架。支持Universal Binary。支持以Xcode编辑、编译和测试。

Windows:用于Microsoft Windows。支持Visual Studio集成,也可以使用MinGW编译

Embedded Linux:用于嵌入式Linux。可以通过编译移除不常使用的组件与功能。通过自己的视窗系统QWS,不需依赖X Window System,直接写入Linux帧缓冲。可以减少存储器消耗。并提供虚拟帧缓冲QVFb,方便在桌面系统上进行嵌入式测试。

Windows CE / Mobile :用于Windows CE

Symbian:用于Symbian platform

Maemo/MeeGo:用于Maemo

Wayland –用于Wayland显示服务器,Qt应用程序可以在运行时切换图形后端,如X与Wayland。

外部移植

自从诺基亚开放了Qt的源代码给社区后,Gitorious上各种移植纷纷出现。下面是其中一部分:

Qt for OpenSolaris –用于OpenSolaris

Qt for Haiku –用于Haiku OS

Qt for OS/2 –仍然不完整的OS/2 eCS platform移植。

Qt-iPhone –用于iPhone的实验中产品。

Android-Lighthouse –用于Android的实验中产品。

Qt for webOS –用于Palm Pre上webOS的实验中产品。

Qt for Amazon Kindle DX –用于Amazon Kindle DX的实验中产品。

授权模式

Qt开放源代码,并且提供自由软件的用户协议。使得它可以被广泛地应用在各平台上的开放源代码软件开发中。

Qt提供三种授权方式。三种授权方式的功能、性能都没有区别,仅在于授权协议的不同。LGPL和GPL是免费发布,商业版则需收取授权费。:

Qt商业版 - Qt商业授权适用于开发专属和/或商业软件。此版本适用于不希望与他人共享源代码,或者遵循GNU宽通用公共许可证(LGPL)2.1版或GNU GPL 3.0版条款的开发人员。提供了技术支持服务。可以任意的修改Qt的源代码,而不需要公开。

GNU LGPL v. 2.1- Qt 4.5.0及以后的版本开始遵循GNU LGPL。LGPL允许链接到它的软件使用任意的许可证,可以被专属软件作为类库引用、发布和销售。可以购买支持服务。

GNU GPL v. 3.0 - 如果您希望将Qt应用程序与受GNU通用公共许可证(GPL)3.0版本条款限制的软件一同使用,或者您希望Qt应用程序遵循该GNU许可证版本的条款,则此版本Qt适用于开发此类Qt应用程序。可以购买支持服务。

Qt模块

经过多年发展,Qt不但拥有了完善的C 图形库,而且近年来的版本逐渐集成了数据库、OpenGL库、多媒体库、网络、脚本库、XML库、WebKit库等等,其核心库也加入了进程间通信、多线程等模块,极大的丰富了Qt开发大规模复杂跨平台应用程序的能力,真正意义上实现了其研发宗旨“Code Less; Create More; Deploy Anywhere.”。

由于各家编译器良莠不齐。Qt本身为了跨平台兼容性,只能以“最低兼容规格”来设计。因此Qt必须具备RTTI、动态创建、Persistence/Serialization的基础建设,以及建构出自己的容器组件。

下列模块提供一般的软件开发

QtCore—QtCore模块是所有基于Qt的应用程序的基础,提供信号与槽的对象间通信机制、IO、事件和对象处理、多线程

QtGui—包含了开发图形用户界面应用程序所需的功能。使用其支持的各个平台的原生图形API。支持反锯齿、向量形变。支持ARGB顶层widget

QtMultimedia—提供了用于多媒体内容处理的QML类型集和C 类集。同时提供访问摄像头及音频功能的API。包含的Qt音频引擎支持三维音频回放及管理。

QtNetwork—提供了网络程序设计功能。支持通用协议,如HTTP、FTP和DNS,包括对异步HTTP 1.1的支持。与较低层的TCP/IP和UDP协议,如QTcpSocket、QTcpServer和QUdpSocket

QtOpenGL—提供在应用程序中使用OpenGL和OpenGL ES加入3D图形。在Windows平台上亦支持Direct3D

QtOpenVG-提供OpenVG绘图支持的一个插件

QtScript—包含完全集成的ECMA标准脚本引擎。提供信号与槽机制简化对象间通信和QtScript调试器。

QtScriptTools—额外的Qt Script组件

QtSql—将数据库集成至应用程序。支持所有主要的数据库驱动包括ODBC、MySQL、PSQL、SQLite、ibase、Oracle、Sybase、DB2。

QtSvg—支持SVG格式

QtWebKit—集成WebKit,提供了HTML浏览器引擎,便于在原生应用程序中嵌入网络内容和服务。

QtXml—提供了XML文档的阅读器和编写器、支持SAX和DOM。

QtXmlPatternsl—提供了XQuery和XPath引擎支持。

Phonon—集成Phonon,支持跨平台应用程序播放音频和视频内容。Qt5开始不支持Phonon。

Qt3Support—模块提供兼容Qt 3.х.х版本的程序库

QtDeclarative [34] - engine for declaratively building fluid user interfaces in QML

作业于Qt附带工具的模块

QtDesigner—提供扩充Qt Designer的类别。

QtUiTools

QtHelp—协助集成在线文件到应用程序中。

QtTest—提供单元测试框架和鼠标和键盘类比功能。集成Visual Studio和KDevelop。

下列模块用于Unix开发

QtDBus

下列模块用于Windows开发

QAxContainer

QAxServer所使用。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多