Giter VIP home page Giter VIP logo

edgeex's Introduction

image EdgeEx

  • UWP Edge, reborn
  • UWP Edge重生

Current Development and how to contribute(如何贡献,项目如何进展)

  1. Make a GUI shell without dependent on the core of the browser underhood(such as homepage, download, settings page), could be UWP+WinUI2/WinUI3/Xaml Island (完成一个不依赖于浏览器底层的界面,比如首页、下载页、设置页,可以使用的框架UWP+WinUI2/WinUI3/Xaml岛)
  2. Wrapping up all the features and APIs needed from the browser core (封装出所有需要的浏览器内核的外围功能和API)
  3. Adapt both webview2 and cef to this set of APIs. WebView2 APIs goes directly into the Browsers project. (将webview2和cef共同适配到这套API,其中适配WebView2的代码直接写到Browser工程中)

Project structure(文件夹结构)

    Browser     --- The main browser client
        BrowserUWP      --- UWP-based Browser       
        BrowserWinUI3   --- WinUI3-based Browser                    *
        BrowserIsland   --- Win32 Xaml Island-based Browser
    Cef         --- Cef Component                    
        CefBase         --- Common base for Cef (include/lib files)
        WinUI2CefView   --- WinUI2 Cef Component  
        WinUI3CefView   --- WinUI3 Cef Component                    *

* - active

Development Pre-requisites(开发环境)

  • To develop Cef, run cef\prepare.ps1 (开发Cef,先运行cef\prepare.ps1
  • You should have a good understanding in one of C++, C#, UWP, WinUI3, Cef frameworks. (你应该至少在C++、C#、UWP、WinUI3、Cef框架中至少熟悉一样)

Current Issues Listing(当前踩坑列表)

Cef related

  • To successfully run WinUI3Cef project, check into the Cef\Winui3Cef\x64\Debug\Winui3Cef\Appx folder, and these files and folders should be present
locales\
Resources\
chrome_100_percent.pak
chrome_200_percent.pak
icudtl.dat
libEGL.dll
libGLESv2.dll
resources.pak
v8_context_snapshot.bin
vk_swiftshader.dll
Winui3CefCore.exe

WinUI2 related (WinUI2 UWP相关)

WinUI3 related(WinUI3相关)

  • Current Cef window was created using child window which has a higher z-order in the window structure, meaning this cef window will cover anything that overlapps with the xaml content. (当前Cef窗口使用子窗口的形式创建,但是这种方式会挡住一切跟xaml内容重叠的部分).

Xaml Island related (Xaml Island相关)

APIs reference

Control Layer

Webview2 (Xaml inherited member omitted)

Api Necessary Implement in Cef
bool CanGoBack{get;} * *
void GoBack() * *
bool CanGoForward{get;} * *
void GoForward() * *
Windows.UI.Color DefaultBackgroundColor{get;} * *
Windows.Foundation.Uri Source{get;set;} * *
void NavigateToString(String htmlContent) * *
void Close() * *
Windows.Foundation.IAsyncOperation<String> ExecuteScriptAsync(String javascriptCode) * *
Events Necessary Implemented in Cef
CoreProcessFailed
CoreWebView2Initialized
NavigationStarting
WebMessageReceived *

Core Layer

CoreWebView2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.