Qt5.3企業版和開源版功能區別


一、綜述

  • Qt企業版(Qt Enterprise)主要包括:
  • 更完整的Qt庫
  • Qt Creator Enterprise IDE
  • 商業授權
  • Digia公司的技術支持
  • Qt雲服務

二、企業版的功能特性

參看官方文檔

2.1 Charts

Charts是QT提供的圖表模塊。他提供了非常簡便的APIs來繪制令人驚嘆的Line, Spline,Area,Scatter,Pie,Donut,Bar,Polar和Box-and-Whiskers表。

支持Qt5/Qt4.8/Qt4.7。

C++和Qt Quick同時支持。

Qt5.3企業版和開源版功能區別

數據可視化是一大需求。Charts提供了通用的、可擴展的組件。

實時數據的可視化,如示波器,心率監視器,音頻波,圖表組件也被設計出來,用於顯示流利地顯示這些動態數據集。

2.2 Qt Quick Enterprise Controls

它是一個具有多種特性的工業級別外觀和感覺的高級UI庫,可定制,可擴展。提供了常用的,最基本的幾種控件:

  • 圓形儀表(如表)
  • 表(直計如溫度計)
  • 延遲按鈕
  • 餡餅菜單
  • 撥號
  • 開關按鈕
  • 狀態指示燈

並且它已經集成到Qt Designer中了。方便開發。

2.3 Data Visualization

可以非常方便地創建3D數據可視化圖形。

 

主要的特性為:

  • Multiple data visualization options: 3D Bars, 3D Scatter, and 3D Surface
  • 2D slice views of the 3D data
  • Render graphs into images
  • Interactive data: rotate, zoom, and highlight data using mouse or touch
  • Uses OpenGL for rendering the data
  • Qt 5 C++ and Qt Quick 2 support
  • Customizable axes for data - control viewable data window with axis ranges
  • Linear and logarithmic scales
  • Customizable input handling
  • Customizable scene handling - full control of cameras and lights
  • Customizable themes
  • Add custom 3D objects to highlight data areas
  • Optimizations for Big Data

2.4 Qt Enterprise Tooling

提供了優秀的工具鏈來簡化開發流程。除了預先配置的交叉編譯工具鏈,你可以通過USB或IP連接直接部署到你的目標設備。遠程調試功能也內置了。

  • Qt Quick Enterprise Designer
  • QML Enterprise Profiler可以支持更深層次的堆棧性能分析。更精微地找出細小代碼片段對應用程序產生的影響。它可以顯示每幀畫面花費多長時間來渲染,這與業務數據息息相關。
  • 支持手機終端的直接打包部署和遠程調試功能。

2.5 Virtual Keyboard

提供了一個可擴展的虛擬鍵盤,支持觸屏。容易定制外觀和自定義圖形。內置了兩種風格:復古和現代。

特性列表(見官網):

  • C++后端,Qt Quick UI前端
  • 完全可定制的圖形是樣式
  • 對不同屏幕尺寸和分辨率具有很好的擴展性
  • 對於不同語種鍵盤布局具有良好支持,例如阿拉伯,英語,西班牙,中文等等
  • 自動收起,字符預覽和可選擇字符列表,例如方言和自己添加的字符
  • 可作為qt程序默認的輸入法
  • 單詞預測
  • 支持中文拼音
  • 可以使用C++和Qt Quick APIs與其他輸入法交互而擴展
  • 支持5種導航方式,鍵選擇使用箭頭鍵和回車鍵

2.6 Qt Quick Compiler

提供了一個Qt快速編譯工具,將qml文件編譯成二進制代碼,從而不再需要將qml連同主程序一同發布。官方文檔總結為三個方面。

載入速度提升:動態載入qml文件可以預解析,並且解析步驟可以在初始化的時候跳過。這大大優化了Qt Quick實例的啟動時間。

最佳的性能:當載入時間較長時,不同平台的性能差異較大。所以在一些平台中,禁止了動態代碼生成,例如iOS和WinRT。

提高了安全性:由於qml都被編譯成二進制了,所以可以防止逆向工程。



另外:非企業版中,qml載入有三個步驟(見參考文獻1參考文獻2):

 

  • 解析(Parse)

將qml解析成抽象語法樹(在qml層面,包括對象、屬性、值)。

  • 編譯(Compile)

通過一個編譯器(它的包裝類為QQmlCompiler,底層實現是v8引擎的定制)將qml抽象語法樹與C++對象對應起來,並編譯為QQmlCompileredData對象。但這種過程不是簡單的對應,需要處理很多細節。

這個步驟比第一步解析步驟快得多。

這些QQmlCompileredData會緩存起來,用於重復使用。

  • 創建(Create)

QQmlCompileredData用於創建真正的C++對象。QQmlCompileredData中不僅有數據,而且有代碼。其中的代碼部分是字節碼(bytecode),並在運行時被包裝類QQmlVME解釋執行。以后每一個相同qml產生的實例,就會在運行時,直接使用緩存的QQmlCompileredData來而創建,不會再經歷第一個和第二個步驟。

NOTE:在這個過程中,包括了屬性綁定。屬性綁定實質上都是JavaScript函數。具體綁定過程為:QQmlVME評估代碼,將綁定表達式包裝成一個js函數,從而生成一個C++層面的QQmlBingding對象。v8引擎則將之編譯成v8::Function對象(v8使用Just-in-Time,JIT compiler來生成機器碼)。該v8::Function不會立即執行,而是緩存起來以待時機。

三個步驟的時耗圖:
Qt5.3企業版和開源版功能區別

討論:企業版中,上述步驟1和步驟2肯定是被優化掉了。但是步驟3呢?優化到何種程度呢


2.7 Pre-Built Software Stack

預配置了一個軟件協議棧,來減輕工作流程中的工具鏈配置等壓力。可以讓開發者專注於原型的開發。利用協議棧可以快速的部署在不同平台上。

Qt5.3企業版和開源版功能區別

2.8 Qt Purchasing

提供了一套商店購買API,可以將你的app發布到這些應用商店。支持iOS中的App Store和Android中Google Play。

Qt Purchasing API是在平台的系統API上構建的,所以購買過程對於使用者來說非常熟悉,可以簡化購買過程。

可以使用C++或者QML來定制開發。並提供了一些商店的實用功能,例如:獲取網店應用的信息,讓app使用者重新安裝app而無需再次購買。

三、總結

Qt企業版總結如下:

    • 完整、強大的功能和工具
    • 平台的專業支持
    • 應用發布無版權限制
    • 完整的源代碼修改
    • etc…

http://www.quweiji.com/qt5-3%E4%BC%81%E4%B8%9A%E7%89%88%E5%92%8C%E5%BC%80%E6%BA%90%E7%89%88%E5%8A%9F%E8%83%BD%E5%8C%BA%E5%88%AB/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM