Skip to content

Hybrid App

混合式應用程式是一種使用 Web 技術 (例如 HTML、CSS 和 JavaScript) 和原生技術 (例如 Swift、Kotlin 和 C#) 開發的應用程式。混合式應用程式可以跨平台運行。 可做到讓前端程式碼呼叫原生程式。

功能Webview2Tauri
發行檔是否包裹前端程式碼
運行時是否需要網路連結
運行時是否需要 runtime
前端有更新需重新佈署
性能中等
開發難度中等
維護成本低(不考慮前端維護)
高(考慮前端維護)
中等

WebView2

Webview2是由Microsoft開發的技術,它是一個嵌入式Web瀏覽器控件,可用於在應用程式中顯示Web內容。 它使用Microsoft的Edge瀏覽器作為其渲染引擎,因此可以提供與Edge瀏覽器相同的Web兼容性和功能。 Webview2通常與.NET和C++應用程式一起使用,可在Windows平台上嵌入Web視圖。 它適用於開發使用Windows API或.NET框架的應用程式,並具有完整的Windows集成能力。

需求:

  • Visual Studio 2017 (開發)
  • .Net Framework 4.7.2 以上

好處:

  • 讓 javascript 和 c# 程式碼互操作
  • 讓 windowform 漸進式遷移到三層(tier)式架構的策略

單檔佈署

互操作性

c#

javascript

非同步下的UI線程

使用內嵌 dll

隱藏 runtime

隱藏暫存檔

單檔包裹體驗:

bash
git clone https://github.com/tigernaxoJr/WebView2.git
# 修改 `MainForm.cs` 裡面的網址、調整 MainForm 大小,執行專案。
git clone https://github.com/tigernaxoJr/WebView2.git
# 修改 `MainForm.cs` 裡面的網址、調整 MainForm 大小,執行專案。

Tauri

Tauri是一個用於構建桌面應用程式的工具集,它結合了Rust和Web技術。 它使用Web技術(如HTML、CSS和JavaScript)來構建用戶界面,並使用Rust來構建桌面應用程式的外殼。 Tauri允許您使用Web技術來構建應用程式的前端,同時在桌面應用程式外殼中使用Rust來處理本機功能和系統調用。 Tauri提供了跨平台支援,可在Windows、macOS和Linux等多個平台上運行。

需求:

  • Rust (開發)
  • Microsoft C++ build tools (開發)
  • Visual Studio Desktop development with C++ (開發)
  • Windows 10 SDK (開發)
  • WebView2 (Windows 10 (1803)/ Windows 11 以後不需要)

Reference