webview_cef

Flutter Desktop webview backed by CEF (Chromium Embedded Framework). *Still working in progress

requirements

  • Windows 7+
  • macOS 10.12+

How To Use

Windows

Inside your application folder, you need to add two lines in your windows\runner\main.cpp.Because of Chromium multi process arch.

#include "webview_cef/webview_cef_plugin_c_api.h"

int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
                      _In_ wchar_t *command_line, _In_ int show_command) {
  //start cef deamon processes. MUST CALL FIRST
  initCEFProcesses();

When first time building the project, a prebuilt cef bin package (200MB, link in release) will be downloaded automatically, hence you may wait for a longer time if you are building the project for the first time.

macOS

1.Download prebuilt cef bundles from arm64 or intel depends on your target machine arch.

2.Unzip the archieve and put all files into macos/third/cef.

3.Run the example app.

[HELP WANTED!] Finding a more elegant way to distribute the prebuilt package.

Notice: currently the project haven't enable multi process mode because of debug convenience. You may want enable multi process mode by changing the implementation and built your own helper bundle. (Finding a more elegant way in the future)

todos

  • macos support(partial, in progress..)
  • multi instance support
  • keyboard events support
  • mouse events support
  • js bridge support
  • release to pub

demo

image image image image image ff7fd.png)

thanks

This project inspired by https://github.com/jnschulze/flutter-webview-windows

Description
WebView for Flutter Desktop Apps using CEF(Chromium Embedded Framework) [Work in Progress]
Readme Apache-2.0 1.5 MiB
Languages
C 58%
C++ 41.1%
CMake 0.4%
Dart 0.3%
Objective-C++ 0.1%