Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 15907|Odgovoriti: 2

CEF: Vgradi Chrome za odjemalca

[Kopiraj povezavo]
Objavljeno na 22. 09. 2017 16:19:26 | | |
Kaj je CEF?
CEF je okrajšava za Chromium Embedded Framework, ki je odprtokodni nadzor spletnega brskalnika, ki temelji na projektu Google Chromium in podpira platforme Windows, Linux in Max. Poleg C/C++ vmesnikov so na voljo tudi priključki za druge jezike.

Ker temelji na Chromiumu, CEF podpira funkcije HTML5, implementirane v Webkitu in Chromu, ter je po zmogljivosti razmeroma blizu Chromu.

CEF prav tako ponuja naslednje funkcije: prilagojene vtičnike, prilagojene protokole, prilagojene Javascrip objekte in razširitve; Nadzorovano nalaganje virov, navigacija, kontekstni meniji itd.

Kdo uporablja CEF
Uporabimo nekaj praktičnih primerov, da ponazorimo, kaj so vsi naredili s CEF:

Različni brskalniki

Zgodnji dvojedrni brskalniki (IE + Webkit) so nekateri uporabljali CEF kot nadzor brskalnika Webkit jedra.

Vendar pa je za brskalnike pravzaprav kralj neposredna razširitev na Chrome in to počnejo vsi (različni hitri brskalniki).

Odjemalec Evernote (na Windows)

Evernote uporabnikom omogoča lepljenje spletnih strani v zapiske, prav tako pa ponuja vtičnike za shranjevanje spletnih strani kot zapiske.

To mora biti potreba po pravilnem prikazu strani na odjemalcu, to nalogo pa prepusti CEF.

GitHub odjemalec (na Windows)

GitHub je prav tako zapakiral, libcef.dll z vidika zmogljivosti mora biti ReadMe stran, ki prikazuje projekt, CEF, uporabniški vmesnik drugje pa je lahko delno implementiran s stranmi.

QQ

QQ je že dolgo nazaj implementiral nekatere funkcije in vmesnike z vgradnjo IE. Od lanskega leta je QQ uvedel CEF, ki je nadomestil nekatere kraje, ki so prej uporabljali IE, tako da je mogoče uporabljati nekatere nove funkcije, ki temeljijo na Webkitu, hkrati pa je pridobil prednosti v hitrosti, stabilnosti in združljivosti.

Adobe Edge Animate & Adobe Edge Reflow

Adobe je predstavil popoln nabor sodobnih spletnih strani (ali HTML5?) Rob.

Adobe Edge Animate za animacijo lahko doseže kompleksne animacije z urejanjem časovnice in ustvarjanjem izvirnikov (imenovanih simboli v Edge Animate).

Edge Reflow je Oblikovanje odzivnega spleta. Nekateri to prevajajo kot odzivno, kar je pravzaprav prilagodljivo.

Zgornji dve programski opremi sta v osnovi usmerjeni v brskalnik jedra Webkit, zato je potrebno vgraditi jedro Webkit, da se zagotovi vmesnik za predogled in urejanje WYSIWYG. Vsi so uporabljali CEF. (Razlika med CEF in čistim WebKitom bo predstavljena kasneje)

Q+

V okviru koncepta spletne aplikacije Q+ zagotavlja okolje za delovanje spletnih strani (preprosto povedano: okvir odjemalca in nekaj razpoložljivih API-jev) ter podpira jedra IE in Webkit.

Za študente spletnega razvoja Webkit jedro (pravzaprav CEF), ki smo ga uvedli, ne potrebuje upoštevati težav z združljivostjo različic IE, kar ne le izboljša učinkovitost razvoja, ampak nam omogoča tudi izkoriščanje nekaterih novih funkcij HTML5. Takrat so bili Q+-jev trg aplikacij, sporočilni center, ozadja, glasbeni pripomočki in druge aplikacije razviti na osnovi jedra Webkit.

Za projekt Q+ lahko rečemo, da je naredil več poskusov pri CEF, kot so:

Razvit glasbeni pripomoček uporablja HTML5 zvočno oznako;

Nekatere aplikacije uporabljajo offline funkcionalnost HTML5 (tj. z manifestno datoteko), a seveda je nekaj preobratov in pridobil sem veliko izkušenj.

Pakirana orodja za razvoj spletnih kompletov.

Prilagojeni protokoli: Na primer, dostop do qplus:// protokolov je mogoče preusmeriti v posebno mapo.

Upodabljanje izven zaslona (OSR): Z uporabo upodabljanja izven zaslona + Windows Layered Window se ustvari nepravilno okno spletne strani (kakšna je oblika neprosojnega območja spletne strani, kakšna je oblika okna)

Zakaj vgraditi CEF za stranke?
S toliko primeri je to vprašanje veliko lažje izreči:

Uporablja se za prikaz spletnih strani in uporabo različnih spletnih storitev;

Uporabljajte spletne strani za uporabniški vmesnik;

Uporabljajte funkcije HTML5, kot so zvok, platno itd., vključno s CSS3 funkcijami.

Upodabljanje izven zaslona (OSR):

Tako imenovani OSR pomeni, da se celotna stran ukaže na bitno sliko brez ustvarjanja pravega okna. Seveda ne gre le za upodabljanje, ampak tudi za vrsto API-jev za upravljanje miške, dogodkov na tipkovnici, vhodnih metod itd.

Ta funkcija je še posebej uporabna, kadar pravih oken ni mogoče uporabiti, na primer pri plastenih oknih ali ko so v igrah upodobljene na teksture.

Z uporabo OSR funkcij je mogoče ustvariti nekaj zanimivih učinkov, kot so:

AlloyTeam je naredil Webtop, ki uporablja OSR za ustvarjanje brskalnika, predvajalnika itd.

Obstaja projekt Awesomium, ki prav tako podpira OSR, in že obstajajo projekti iger, ki uporabljajo Awesomium za upodabljanje spletnih strani v igrah. (Če pogledamo izhodno datoteko Awesomiuma, bi morala biti podobna implementaciji CEF, vse je paket kroma, in CEF, ki ga Awesomium zmore, bi moral biti prav tako izveden)

V prostem času sem naredil demo in uporabil CEF za upodabljanje spletnih strani v OpenGL Texture, kar lahko štejemo kot majhen poskus uporabe CEF v igri, kot je prikazano na sliki:

Predstavitev brskalnika v igri

Zakaj CEF?
IE

IE je že dolgo vgrajen brskalniški nadzor, in natančneje, zdaj imamo veliko alternativ IE.

CEF proti IE:

Združljivost:

Na primer: Jedro se giblje od 6 do 10 različic, odvisno od operacijskega sistema, in obremenitev spletnega razvoja, ki je združljiv s temi različicami, je nepodcenjena.

CEF: Uporablja jedro Webkit, in z vidika značilnosti lahko različica CEF ustreza številki različice Chroma, tako da ima spletni razvoj jasen nabor funkcij in odpravlja obremenitev z upoštevanjem združljivosti.

Standardni in nove funkcije HTML5:

IE: Seveda starejše različice IE ne podpirajo najnovejših HTML funkcij in standardov.

CEF: Ni dvoma, da sta Webkit in Chrome v ospredju podpore novim funkcijam.

Odprta koda in večplatformno:

IE: Ni odprtokoden, omejen na Windows platformo

CEF: Odprtokoden, uporabljeni Webkit in Chromium so vsi odprtokodni, odprta koda pa pomeni več možnosti prilagajanja; In zajema Windows, Mac in Linux.

Upodabljanje izven zaslona (OSR):

Na primer: Izrisovanje izven zaslona lahko dosežete z nekaterimi triki, vendar obremenitev ni majhna in uradno ni podprta.

CEF: Obstaja namenski način upodabljanja izven zaslona in ustrezni API.

Preboj:

IE: Vsi uporabniki Windows imajo IE, kar je prednost IE (vendar imajo nekateri uporabniki napačne nastavitve IE, kar vodi v neuporabnost, kot je npr. jscrip{filtering}t.dll ni registriran, kar povzroči nezmožnost uporabe Javascrip{filter}t)

CEF: Namestiti in zapakirati ga morate sami

Spletni komplet

Zakaj namerno primerjati CEF in Webkit?

Nedavno sem prebral dober članek o tem, kaj Webkit je, kaj ni in zakaj je toliko Webkit prenosov: "Kaj morajo razvijalci vedeti o WebKitu"

Tukaj je grob povzetek:

Webkit je pogon za razčlenjevanje in urejanje spletnih strani, ki ga uporabljajo vsi brskalniki, ki temeljijo na Webkitu. Privzeti Webkit port je Safari, kar je različica, prenesena iz zbirke izvorne kode Webkit. Obstajajo tudi drugi Webkit porti, vključno s Chromium, QtWebkit itd., ki imajo različne implementacije v 2D grafiki, GPU pospeševanju, Javascrip pogonu, avdio/video dekodiranju itd.

CEF proti webkitu (pravzaprav Chromium proti Webkitu)

V8 pogon, skia 2D upodabljanje, Chromiumova GPU-pospešena implementacija itd., s pomočjo odlične implementacije Chromiuma je CEF postal tudi odličen Webkit port.

Slabosti CEF:
Bodite prijazni, CEF ima tudi svoje pomanjkljivosti in omejitve, in ne morete omeniti samo prednosti, tukaj bom predstavil slabosti in slabosti CEF:

Zvezek:

V najnovejši različici CEF naj bi bila vsota vseh DLL-jev blizu 40M, ocenjuje pa se, da bo po kompresiji 10M+. Če vaš projekt sam po sebi ni velik in ga ne more prejeti, potem CEF ni za vas.

Seveda, za igre, ki jih zdaj izračunava G, bi moral biti ta volumen še vedno sprejemljiv.

Pri običajnih projektih za naročnike je odvisno od tega, ali mora sam projekt uporabljati funkcije, ki jih je implementiral CEF, in ali se splača toliko povečati namestitveni paket izdelka. Seveda so tu tudi nekatere omejitve pri implementaciji, kot je prenos po namestitvi (osebno mislim, da to ni pomembno, saj lahko uporabniki, ki nameščajo pakete, izberejo tudi prenos programske opreme za pospešitev)

Predpomnilnik:

Chromov predpomnilnik je zasnovan tako, da bere in piše le en proces, enako velja za CEF.

Za odjemalce, ki jih je treba odpreti večkrat, je mogoče za vsako instanco procesa določiti le drugo mapo predpomnilnika. Vendar pa to nedvomno poveča porabo trdega diska in povzroči, da se nekatere datoteke, ki so bile prvotno shranjene, prenesejo večkrat (na primer, proces A predpomni jQuery.js, proces B mora enkrat zahtevati in predpomniti, ker predpomni različne imenike jQueyr.js

OSR:

OSR trenutno ni podoben resničnemu okenskemu načinu, ki ga lahko GPU pospeši, OSR pa je mogoče upodabljati le s programsko opremo, kar pomeni, da nekaterih CSS 3D učinkov ni mogoče podpirati.

Kljub temu se lastnosti OSR še vedno izboljšujejo in osebno menim, da se ga še vedno splača veseliti.

Kaj deliti kasneje
Po tolikšnem pisanju ga lahko štejem kot uvod v CEF, in v prihodnosti bom napisal nekaj suhih izdelkov, torej kako uporabljati CEF, vključno z:

Pridobivanje CEF kode, prevajanje, vdelava, obdelava API klicev strani in odjemalcev, OSR upodabljanje izven zaslona, predpomnjenje, prilagojeni protokoli, CEF1 in CEF3 itd.

No, to je za danes vse.





Prejšnji:Redis vzpostavi gesla za oddaljeno povezavo in dostop
Naslednji:ASP.NET več zahtevkov na strani hkrati pride do blokade in začasne animacije
Objavljeno na 25. 02. 2019 09:14:24 |
Krasno
 Najemodajalec| Objavljeno na 12. 08. 2023 20:08:02 |
WebView2 (6) Distribuiraj in nameščaj runtime WebView2
https://www.itsvse.com/thread-10372-1-1.html

[WebView2] (5) Nalaganje lokalnih HTML virov virtualnega gostitelja
https://www.itsvse.com/thread-10367-1-1.html

[WebView2] (4) Web in WinForm si med seboj izmenjujeta funkcije
https://www.itsvse.com/thread-10365-1-1.html

WebView2 (3) Dvosmerna komunikacija med spletom in WinForm aplikacijami
https://www.itsvse.com/thread-10364-1-1.html

[WebView2] (2) WinForm uvaja WebView2 za prikaz spletnih vsebin
https://www.itsvse.com/thread-10362-1-1.html

[WebView2] (1) Začetni uvod v tehnologijo Microsoft Edge WebView2
https://www.itsvse.com/thread-10361-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com