a webview widget with full-platform support, based on the existing packages
Platform | Status | Note | |
---|---|---|---|
Android | ✅ | SDK 20+ | |
IOS | ✅ | SDK 9+ | |
Web | ✅ | Any | |
Windows | ✅ | Win 7+ | |
macOS | ✅ | Any | |
Linux | ✅ | Any |
⚠: Linux and macOS platforms require more testing.
-
Add
webview_all
as a dependency in yourpubspec.yaml
file. -
Just use it:
import 'package:flutter/material.dart';
import 'package:webview_all/webview_all.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
title: 'Webview All',
debugShowCheckedModeBanner: false,
home: MyBrowser(),
);
}
}
class MyBrowser extends StatefulWidget {
const MyBrowser({Key? key, this.title}) : super(key: key);
final String? title;
@override
_MyBrowserState createState() => _MyBrowserState();
}
class _MyBrowserState extends State<MyBrowser> {
@override
Widget build(BuildContext context) {
return const Scaffold(
body: Center(
// Look here!
child: Webview(url: "https://www.wechat.com/en")
)
);
}
}
Run flutter run -d windows
, then you will see:
On iOS the Webview widget is backed by a WKWebView.
On Android the Webview widget is backed by a WebView.
On web the Webview widget will use the webview_flutter_web
plugin.
On desktop the Webview widget will use the webf
plugin and only support less complex webpages.