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

1、綜述

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

2、企業版的功能特性

參看官方文檔前端

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提供了通用的、可擴展的組件。app

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

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而無需再次購買。

3、總結

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/

相關文章
相關標籤/搜索