desktop_webview_window 0.1.2 desktop_webview_window: ^0.1.2 copied to clipboard
Show a webview window on your flutter deksktop application.
desktop_webview_window #
Show a webview window on your flutter deksktop application.
Windows | ✅ | Webview2 1.0.992.28 |
Linux | ✅ | WebKitGTK |
macOS | ✅ | WKWebview |
Getting Started #
-
modify your
main
method.import 'package:desktop_webview_window/desktop_webview_window.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); // Add this your main method. // used to show a webview title bar. if (runWebViewTitleBarWidget(args)) { return; } runApp(MyApp()); }
-
platform Windows.
- add this include to your
windows/runner/flutter_window.cpp
#include "desktop_webview_window/desktop_webview_window_plugin.h"
- append this statement to your
flutter_window.cpp
FlutterWindow::OnCreate()
methodbool FlutterWindow::OnCreate() { ... // Add this line SetFlutterViewControllerFactory(std::make_unique<WebviewWindowAdapter>()); }
-
launch WebViewWindow
final webview = await WebviewWindow.create(); webview.launch("https://example.com");
linux requirement #
sudo apt install webkit2gtk-4.0
Windows requirement #
The backend of desktop_webview_window on Windows is WebView2, which requires WebView2 Runtime installed.
WebView2 Runtime is ship in box with Windows11, but it may not installed on Windows10 devices. So you need consider how to distribute the runtime to your users.
See more: https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution
For convenience, you can use WebviewWindow.isWebviewAvailable()
check whether the WebView2 is available.
License #
see LICENSE