Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 15907|Odpověď: 2

CEF: Vkládat Chrome pro klienta

[Kopírovat odkaz]
Zveřejněno 22.09.2017 16:19:26 | | |
Co je to CEF?
CEF je zkratka pro Chromium Embedded Framework, což je open-source webová kontrola prohlížeče založená na projektu Google Chromium, podporující platformy Windows, Linux a Max. Kromě rozhraní C/C++ jsou zde také porty pro jiné jazyky.

Protože je založen na Chromiu, CEF podporuje HTML5 funkce implementované ve Webkitu a Chrome a je relativně blízko Chromu z hlediska výkonu.

CEF také nabízí následující funkce: vlastní pluginy, vlastní protokoly, vlastní Javascrip objekty a rozšíření; Ovladatelné načítání zdrojů, navigace, kontextová menu atd.

Kdo používá CEF
Použijme několik praktických příkladů, abychom ukázali, co všichni s CEF udělali:

Různé prohlížeče

Raně dvoujádrové prohlížeče (IE + Webkit) některé používaly CEF jako ovládání prohlížeče pro jádro Webkitu.

Pro prohlížeče je však přímé rozšiřování na Chrome vlastně králem a teď to dělají všichni (různé rychlé prohlížeče).

Evernote Client (na Windows)

Evernote umožňuje uživatelům vkládat webové stránky do poznámek a také poskytuje pluginy pro ukládání webových stránek jako poznámek.

To musí být potřeba správně vykreslit stránku na klientovi, a tento úkol je ponechán na CEF.

GitHub klient (na Windows)

GitHub také zabalil libcef.dll, z hlediska výkonu musí být stránka ReadMe použitá pro zobrazení projektu CEF a uživatelské rozhraní jinde může být částečně implementováno i pomocí stránek.

QQ

QQ implementovalo některé funkce a rozhraní vložením IE už dávno. Od loňska QQ zavedlo CEF, které nahradilo některá místa, která dříve používala IE, aby bylo možné využít nové funkce založené na Webkitu, a zároveň získalo výhody v rychlosti, stabilitě a kompatibilitě.

Adobe Edge Animate & Adobe Edge Reflow

Adobe spustilo kompletní sadu moderních webových stránek (nebo HTML5?) Edge.

Adobe Edge Animate, pro animaci, dokáže dosáhnout složitých animací úpravou časové osy a vytvářením originálů (v Edge Animate nazývaných symboly).

Edge Reflow je design responzivního webu. Někteří to překládají jako responzivní, což je vlastně adaptivní.

Výše uvedené dva programy jsou v podstatě orientovány na prohlížeč jádra Webkit, takže je nutné vložit jádro Webkitu, které poskytne WYSIWYG preview a editační rozhraní. Všichni používali CEF. (Rozdíl mezi CEF a čistým Webkitem bude představen později)

Q+

V rámci konceptu webové aplikace Q+ poskytuje běžící prostředí pro webové stránky (jednoduše řečeno: okno klienta a některá dostupná API) a podporuje jádra IE a Webkit.

Pro studenty webového vývoje nemusí jádro Webkit (ve skutečnosti CEF), které jsme představili, zohledňovat otázky kompatibility verzí IE, což nejen zlepšuje efektivitu vývoje, ale také nám umožňuje využít některé nové funkce HTML5. V té době byly aplikace Q+ market, message center, tapety, hudební widgety a další aplikace vyvíjeny na základech jádra Webkit.

Lze říci, že projekt Q+ učinil více pokusů o CEF, například:

Vyvinutý hudební widget používá HTML5 audio tag;

Některé aplikace využívají offline funkcionalitu HTML5 (tj. s manifestem), ale samozřejmě jsou tu i nějaké zvraty a získal jsem spoustu zkušeností.

Balené nástroje pro vývoj webkitů.

Vlastní protokoly: Například přístup k qplus:// protokolům lze přesměrovat do speciální složky.

Off-screen Rendering (OSR): Použitím off-screen renderingu + Windows Layered Window vzniká nepravidelné okno webové stránky (jaký je tvar neprůhledné oblasti webové stránky, jaký je tvar okna)

Proč začleňovat CEF pro klienty?
S tolika příklady je tato otázka mnohem snazší na vyslovení:

Používá se k zobrazování webových stránek a využívání různých webových služeb;

Používejte webové stránky pro uživatelské rozhraní;

Používejte funkce HTML5, jako je audio, canvas atd., včetně funkcí CSS3.

Off-screen rendering (OSR):

Takzvaný OSR znamená vykreslit celou stránku na bitmapu bez vytvoření skutečného okna. Samozřejmě nejen renderování, ale také řada API pro zpracování myši, klávesových událostí, vstupních metod atd.

Tato funkce je zvláště užitečná tam, kde nelze použít skutečná okna, například na vrstvených oknech nebo při renderování do textur ve hrách.

Pomocí OSR funkcí lze vytvořit zajímavé efekty, například:

AlloyTeam vytvořil Webtop, který používá OSR k vytvoření prohlížeče, přehrávače atd.

Existuje projekt Awesomium, který také podporuje OSR, a už existují herní projekty, které používají Awesomium k vykreslování webových stránek ve hrách. (Při pohledu na výstupní soubor Awesomium by měl být podobný implementaci CEF, je to celý balíček Chromium, a CEF, který Awesomium umí, by měl být také proveden)

Ve volném čase jsem vytvořil demo a použil CEF k vykreslování webových stránek na OpenGL Texture, což lze považovat za malý pokus aplikovat CEF na hru, jak ukazuje obrázek:

Ukázka prohlížeče ve hře

Proč CEF?
IE

IE je dlouho vestavěným ovládáním prohlížeče, a přesněji řečeno, nyní máme mnoho alternativ k IE.

CEF vs IE:

Kompatibilita:

Např. Jádro se liší od 6 do 10 verzí v závislosti na operačním systému a nelze podceňovat náročnost webového vývoje pro kompatibilitu s těmito verzemi.

CEF: Používá jádro Webkit a z hlediska charakteristik může verze CEF odpovídat číslu verze Chrome, takže webový vývoj má jasnou sadu funkcí a eliminuje tak zátěž spojenou s kompatibilitou.

HTML5 Standard a nové funkce:

IE: Samozřejmě, starší verze IE nepodporují nejnovější HTML funkce a standardy.

CEF: Není pochyb o tom, že Webkit a Chrome jsou v čele podpory nových funkcí.

Open source a multiplatformní přístup:

Tedy: Není open source, omezený na Windows

CEF: Open source, Webkit a Chromium jsou všechny open source, open source znamená více možností přizpůsobení; A zahrnuje Windows, Mac a Linux.

Off-screen rendering (OSR):

Např.: Renderování mimo obrazovku lze dosáhnout pomocí několika triků, ale pracovní zátěž není malá a není oficiálně podporována.

CEF: Existuje vyhrazený režim vykreslování mimo obrazovku a odpovídající API.

Průnik:

IE: Všichni uživatelé Windows mají IE, což je výhoda IE (ale někteří uživatelé mají nesprávná nastavení IE, což vede k nepoužitelnosti, například jscrip{filtering}t.dll nezaregistrovaný, což vede k nemožnosti používat Javascrip{filter}t)

CEF: Musíte si ho nainstalovat a zabalit sami

Webkit

Proč záměrně porovnávat CEF a Webkit?

Nedávno jsem četl dobrý článek o tom, co Webkit je, co není a proč je tolik portů Webkitu: "Co by vývojáři měli vědět o WebKitu"

Zde je hrubé shrnutí:

Webkit je parsovací a aranžovací engine webových stránek, který sdílejí všechny prohlížeče založené na Webkitu. Výchozím Webkit portem je Safari, což je verze stažená z kompilace zdrojového kódu Webkit. Existují i další Webkit porty, včetně Chromium, QtWebkit a dalších, které mají různé implementace v oblasti 2D grafiky, akcelerace GPU, enginu Javascrip, dekódování zvuku/videa atd.

CEF vs webkit (vlastně Chromium vs Webkit)

V8 engine, 2D renderování skia, GPU-akcelerovaná implementace v Chromium atd., díky vynikající implementaci Chromium se CEF stal také vynikajícím portem Webkitu.

Nevýhody CEF:
Buďte laskaví, CEF má také své nedostatky a omezení, a nemůžete jen zmínit výhody, zde představím nevýhody a nevýhody CEF:

Svazek:

Nejnovější verze CEF má součet všech DLL blízko 40M, a odhaduje se, že po kompresi to bude 10M+. Pokud váš projekt sám o sobě není velký a nemůže ho přijmout, pak CEF není pro vás.

Samozřejmě, u her, které jsou nyní počítané pomocí G, by tento objem měl být stále přijatelný.

U běžných klientských projektů záleží na tom, zda samotný projekt potřebuje využívat funkce implementované CEF a zda se vyplatí natolik rozšiřovat instalační balíček produktu. Samozřejmě zde existují i určité kompromisy v implementaci, například stahování po instalaci (osobně si nemyslím, že je to významné, koneckonců uživatelé, kteří instalují balíčky, si mohou zvolit stažení softwaru pro zrychlení)

Cache:

Cache v Chromu je navržena tak, aby měla pouze jeden proces pro čtení a zápis, a totéž platí pro CEF.

U klientů, které je třeba otevírat vícekrát, lze pro každou instanci procesu specifikovat pouze jinou složku cache. To však nepochybně zvyšuje využití pevného disku a také způsobuje, že některé soubory, které byly původně uloženy v cache, jsou stahovány vícekrát (například proces A cache jQuery.js, proces B musí jednou požádat a cacheovat, protože cache různé adresáře jQueyr.js

OSR:

OSR v současnosti není jako skutečný okenní režim, který lze zrychlovat GPU, a OSR lze vykreslit pouze softwarově, což znamená, že některé 3D efekty CSS nelze podporovat.

Přesto se vlastnosti OSR stále zlepšují a osobně si myslím, že se na něj stále těším.

Co sdílet později
Po tolika napsaných textech to lze považovat za úvod do CEF a v budoucnu napíšu i několik suchých věcí, tedy jak CEF používat, včetně:

Získávání kódu CEF, kompilace, vkládání, zpracování API volání stránek a klientů, OSR off-screen rendering, cache, vlastní protokoly, CEF1 a CEF3 atd.

To je pro dnešek vše.





Předchozí:Redis nastavuje vzdálená připojení a přístupová hesla
Další:ASP.NET více požadavků na stránce současně dochází k blokující situaci pozastavené animace
Zveřejněno 25.02.2019 9:14:24 |
Skvělé
 Pronajímatel| Zveřejněno 12.08.2023 20:08:02 |
WebView2 (6) Distribuovat a nasadit runtime WebView2
https://www.itsvse.com/thread-10372-1-1.html

[WebView2] (5) Načítání lokálních HTML zdrojů virtuálního hostitele
https://www.itsvse.com/thread-10367-1-1.html

[WebView2] (4) Web a WinForm si navzájem volají metody funkcí
https://www.itsvse.com/thread-10365-1-1.html

WebView2 (3) Obousměrná komunikace mezi webem a aplikacemi WinForm
https://www.itsvse.com/thread-10364-1-1.html

[WebView2] (2) WinForm zavádí WebView2 pro zobrazení webového obsahu
https://www.itsvse.com/thread-10362-1-1.html

[WebView2] (1) Počáteční seznámení s technologií Microsoft Edge WebView2
https://www.itsvse.com/thread-10361-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com