Bumalik sa blog

Ano ang Chromium: ang base ng browser at ang mga hangganan nito

Ang Chromium ay isang open-source na proyekto ng browser at ang karaniwang base ng mga browser tulad ng Chrome, Edge, Brave at Opera, ngunit hindi ito mismo isang tapos na produkto para sa karaniwang gumagamit. Ipinaliwanag ng artikulo ang ugnayan ng proyekto at ng mga distribusyon, at kung ano ang nakukumpirma at hindi nakukumpirma ng pahayag na nakabase sa Chromium.

Kapag nag-i-install ng browser, kakaunti ang nakakaalam na ang Edge, Brave, Opera, Vivaldi at Chrome ay gumagamit ng parehong panloob na code. Ang code na ito ay tinatawag na Chromium, at ito ang tumutukoy kung paano nire-render ang mga pahina, paano pinapatakbo ang mga script, at kung anong mga interface ang maaaring tawagin ng mga extension.

Proyekto, hindi produkto

Mga antas mula sa build ng browser ng proyektong Chromium hanggang sa produktong para sa gumagamit

Ang Chromium ay isang open-source na proyekto, inilabas bilang open source noong 2008 kasabay ng Chrome, at kabilang dito ang rendering engine na Blink, ang JavaScript engine na V8, at ang buong code ng interface ng browser. Ang Google ang nangunguna sa pagpapanatili nito, ngunit pampubliko ang code, at kahit sino ay maaaring kumuha nito para gumawa ng sariling distribusyon.

Ang pangunahing pagkakaiba: ang Chromium mismo ay hindi isang tapos na produkto para sa karaniwang gumagamit. Ang opisyal na ibinibigay ay patuloy na ginagawang snapshot, walang auto-updater, walang sistema ng account, at walang suporta sa brand o serbisyo. Ito rin ang dahilan kung bakit marami, pagkatapos mag-download ng Chromium, ay natutuklasan na kailangan nilang sarilihin ang pag-update.

Bakit ito ginagamit ng lahat

Napakamahal ng pagpapanatili ng browser engine. Ang pagsabay sa mga web standard, pag-aayos ng mga butas sa seguridad, at pag-angkop sa iba't ibang operating system at bagong hardware ay nangangailangan ng team na pangmatagalang nakatuon. Hindi makatwiran ang magsulat ng isa mula sa wala; ang mag-branch mula sa Chromium at magbago roon ay mas mura, at direktang namamana ang ecosystem ng extension at ang mga tool sa pag-debug.

Kaya naghiwalay ang mga landas. Ang Chrome ay sariling produkto ng Google; inabandona ng Edge ang sariling engine nito noong 2020 at lumipat sa Chromium; mas maaga pang ginawa ito ng Opera; ang Brave, Vivaldi at Samsung Internet ay nagpapakita rin ng pagkakaiba sa ibabaw ng base na ito. Ang WebView sa Android at ang mga Electron app sa desktop ay gumagamit din ng Chromium. Sa kabaligtaran, ang Firefox ay gumagamit ng Gecko at ang Safari ng WebKit, isang ibang teknikal na landas.

Ang pagkakaiba nito sa Chrome

Ang parehong pinagmulan ay hindi ibig sabihin na pareho sila. Nagdaragdag ang Chrome sa Chromium ng auto-updater, mga estadistika ng pag-crash at paggamit, at sync ng account ng Google, at bumili ito ng lisensya upang maisama ang mga proprietary codec tulad ng H.264 at AAC at ang Widevine DRM, kaya maayos na nagpapatugtog ang mga streaming site. Karaniwang wala ang mga ito sa opisyal na build ng Chromium; maaaring bumukas ang isang page ng video ngunit hindi ito tumutugtog, at wala ring makikitang login o sync.

Iba rin ang default sa privacy. Hindi nagpapadala ng telemetry pabalik ang Chromium, ngunit hindi rin nito iniaalok ang hanay ng privacy toggle ng Chrome; may kanya-kanyang pagpili ang mga downstream na browser, kung saan ang Brave ay default na humaharang sa mga ad at tracking script, at pinalitan ng Edge ang sistema ng account ng sa Microsoft. Wala sa mga pagkakaibang ito ang nasa loob ng engine.

Isa pang madalas na hindi napapansing pagkakaiba ay ang bilis ng pag-usad ng bersyon. May agwat sa oras sa pagitan ng mga downstream vendor at ng upstream, at may mga numero ng bersyon na mukhang magkasabay ngunit hiwalay namang isinasama ang mga patch. Kapag nakatagpo ng problemang lumalabas lamang sa isang partikular na browser, tiyakin muna ang bersyon, saka paghinalaan ang engine.

Bakit mahalaga ito sa compatibility at automation

Kapag ang front-end development ay nakatagpo ng page na gumagana sa Chrome ngunit may error sa ibang browser, ang unang hakbang ay tukuyin kung problema ito ng engine o binago ng vendor. Hangga't nasa Chromium ang lahat, halos mahuhulaan ang pag-uugali ng CSS at JavaScript, at ang mga pagkakaiba ay madalas nagmumula sa edad ng bersyon at sa mga patch ng vendor.

Nakikinabang din ang automation. Ang parehong debugging protocol ay nangangahulugan na ang script na isinulat para sa Chromium ay madalas direktang tumatakbo sa isang downstream na browser; pare-pareho rin ang mga interface ng DevTools at ang paraan ng pagtawag sa headless mode. Ang problema ay nasa bersyon: iba-iba ang tulin ng mga downstream vendor sa pagsunod sa upstream, may ilang nahuhuli ng maraming bersyon, ang parehong script ay tumatakbo sa lumang bersyon at nag-eerror sa bago, o gumagana sa browser A ngunit hindi sa browser B, kaya mas mahalaga ang pag-fix ng bersyon kaysa sa paghabol sa pinakabago.

Ang mga automation task na kailangang tumakbo nang sabay sa mahabang panahon ay karaniwang nagla-lock ng isang bersyon ng Chromium at ginagamit ito kasama ng hiwalay na runtime environment. Karamihan din ng tool para sa paghihiwalay ng maraming account ay gumagamit ng Chromium bilang base, dahil open source ito, maaaring i-lock ang bersyon, at kumpleto ang mga interface ng extension at automation. Ang PurpleMark ay isa sa mga ganitong tool: binibigyan nito ang bawat account ng sariling independiyenteng browser environment at pinaghihiwalay ang mga profile, network exit at katangian ng device.

Ano ang nakukumpirma ng pahayag na ito at ano ang hindi

Kapag sinabing nakabase sa Chromium ang isang browser, nakukumpirma na pareho ang rendering engine at script engine, magkatulad ang pag-uugali ng mga web page, halos magkapareho ang mga interface ng extension at debugging protocol, at mababa ang panganib sa web compatibility.

Ang hindi nakukumpirma ay isang mahabang listahan: ang default sa privacy, kung nangongolekta ng telemetry, ang kakayahan sa sync, ang mga update channel, kung may dagdag na blocking o acceleration feature, at kung ilang bersyon ang agwat sa upstream. Hindi rin ito batayan upang husgahan kung ligtas ang browser, dahil ang binubuksan ng Chromium ay ang code, hindi ang default na configuration.

Ang ituring na parehong browser ang anumang nakabase sa Chromium ay ang pinakakaraniwang maling pagbasa. Ang tunay na tumutukoy sa araw-araw na karanasan ay kung ano ang idinadagdag ng bawat vendor sa base na ito, kung ano ang tinatanggal nito, at gaano kadalas itong sumasabay sa upstream.