簡體   English   中英

是否可以只使用 QT 和 WebAssembly(而不是 HTML + CSS + JavaScript)來開發前端 Web?

[英]It is possible to just use QT and WebAssembly (instead of HTML + CSS + JavaScript) to develop a front-end web?

我是一個 C++ 程序員,但由於某種原因,我不得不自己開發一個網站(我自己的商業項目)。 我不想花很多時間學習 JavaScript 和其他東西。 是否可以只使用 QT 和 WebAssembly(而不是 HTML + CSS + JavaScript)來開發前端 Web?

是的,絕對有可能,我目前正在做一個項目,但是你應該根據項目的需求,運行環境和你自己的背景仔細地做。 以下是您可能會遇到的一些問題:

  1. 輸出 .wasm 文件可能會變得太大。 一般來說,它不適合公共領域的應用程序。
  2. 在低端設備中,如果你沒有做足夠的代碼級優化,你可能會發現它很滯后。
  3. 主要瀏覽器尚未正式支持線程(截至 2019 年 12 月),但可以使用技術預覽。 這不是一個真正的大問題,因為它很快就會成為標准功能。
  4. 本機虛擬鍵盤不適用於移動設備,但工作正在進行中。

這些是我自己在使用 Qt for WebAssembly 時遇到的主要問題。 盡管如此,我發現它比 HTML+CSS 靈活得多。 QML 真的是一種很好的 UI 開發語言。 創建動畫 UI 非常簡單直接。 您還可以在 QML 代碼中使用許多 JavaScript 庫,如 Lodash 和 Moment 或任何其他不引用或操作窗口 DOM 的 js 庫。

是的,有可能。 但是如果只是因為拒絕學習新技術,你就不應該這樣做。 目前(當 Qt 5.14 出現時,我正在寫這個答案)用於 webassembly 的 Qt 被部署為官方平台。 不幸的是,它是年輕的平台支持,存在很多問題和未來可能的變化。 Qt 團隊做得非常好,所以下一個版本會更好。 5.14 在 webassembly 上下文中比 5.13 好得多,但仍需要修復。 您應該知道用於 webassembly 的 Qt 將僅支持少數 Qt 模塊,不包括小部件。 是的,您只能將 QML 用於 GUI。 Qt for webassembly 是為了在其他平台上移植一個代碼庫而創建的(它通常是 Qt 開發方式,請參閱 Qt for MCU)。 與此堆棧中的其他技術(如 QRemoteObject)一樣,這是非常有趣的技術。 它不是為普通網絡中的網站創建的。 webassembly目標的主要Qt是內部網絡系統和設備的遠程控制。 注意這一點。 不幸的是,並非所有瀏覽器都支持 webassembly。 有關 weassembly 支持說明,請參閱 Qt。 此外,在 Qt 中,您找不到內置的 rest-API 句柄或其他標准 Web 技術來與您現有的支持集成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM