-
Notifications
You must be signed in to change notification settings - Fork 30.1k
Closed
flutter/plugins
#4366Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projectp: webviewThe WebView pluginThe WebView pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.
Description
Use case
Migrate the "webview_flutter" package to the federated plugin architecture. This would result in the following benefits:
- Makes it easier to add support for additional platforms (specifically desktop support e.g. Windows, macOS and Linux);
- Allows for easier separation of concerns especially when different platforms require different configuration settings;
- The federated architecture also makes it easier to write automated tests and guard the API;
- Confirms to the architecture of most other Flutter plugins, making it easier for developers to understand the project layout and contribute to the project.
Proposal
To migrate the in_app_purchase package to federated architecture we should take the following steps:
- Move the
webview_flutterinto its own subdirectory ("webview_flutter/webview_flutter") [webview_flutter] Move webview_flutter to webview_flutter/webview_flutter plugins#4152; - Create the
webview_flutter_platform_interfacepackage (see PR [webview_flutter] Implementation of the webview_flutter_platform_interface package plugins#4302);- Copy the
LICENSEfile from thewebview_flutterpackage; - Add a
CHANGELOG.mdfile; - Define a
pubspec.yamlfile; - Create a
README.mdfile; - Define the platform interface in
webview_flutter_platform.dart; - Implement the default implementation in
method_channel_webview_flutter.dart;
- Copy the
- Create an Android implementation of the
webview_flutter_platform_interfacein a separatewebview_flutter_androidpackage (see PR [webview_flutter] Extract Android implementation into a separate package plugins#4343); - Create an iOS implementation of the
webview_flutter_platform_interfacein a separatewebview_flutter_darwinpackage (see PR [webview_flutter] Extract WKWebView implementation into a separate package plugins#4345); - Refactor package
webview_flutterto use thewebview_flutter_androidandwebview_flutter_darwinpackages.- Make sure to remove exclusion of
webview_flutter_androidandwebview_flutter_wkwebviewfrom exclude_all_plugins_app.yaml configuration file.
- Make sure to remove exclusion of
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projectp: webviewThe WebView pluginThe WebView pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.