Portál AbcLinuxu, 30. dubna 2025 12:59
Když před časem žačal Google vyvíjet svůj vlastní prohlížeč, nijak extrémně mne tato zpráva nezasáhla. Až ve chvíli, kdy jsem se doslechl, že tento prohlížeč bude open source, zbystřil jsem sluch.
Pak přišlo vydání první verze. Pouze pro Windows. Byl jsem zklamán, ale přeci jen jsem Google tak trochu chápal - nejdříve si svůj prohlížeč vyzkoušíme na nejrozšířenější platformě a pak teprve jej naportujeme na ostatní. Pak přišlo nekonečné čekání na Chromium (respektive Google Chrome) pro Linux, který ostatně dodnes není oficiálně dostupný. Zatím máme k dispozici pouze jakési buildy, jejichž funkčnost je sporadická - tedy alespoň u mne veškerá funkčnost skončila hláškou:
pushkin@pushkin:/home/data/Install - GNU_Linux/Google Chrome/chrome-linux> ./chrome ./chrome: error while loading shared libraries: libnss3.so.1d: cannot open shared object file: No such file or directory
Moje nedočkavost mne ale dohnala k pokusu, zkompilovat si Chromium na vlastní pěst. Od začátku šlo o poměrně slušnou anabázi. První překážkou byl pokus o stažení zdrojových kódů, které Google nemůže uložit pod nějaký jednoduchý odkaz, ale je třeba se k nim složitě doklikat až sem, kde jsou dostupné pod malinkým odkázkem "Download source tarball."
Následovalo stažení tarballu se zdrojovými kódy. Jeho velikost mne šokovala - 644,4MiB! Pro pouhý webový prohlížeč! I ty KDE mají zdrojové kódy menší...
Mezitím jsem se jal řešit závislosti. Podle návodů (tohoto, tohoto) jsem začal postupně stahovat potřebné balíky pro svůj systém (openSUSE 10.3). Nejzázračnějším prvkem obou návodů je to, že ani jeden neobsahuje kompletní seznam potřebných balíčků, a tak je potřeba postupovat podle obou z nich.
Následoval další šok - Chromium lze sestavit POUZE jako 32bit aplikaci. To, že Chromium je hardlinkované na MS fonty už bylo pouze třešničkou na dortu. Kyselém.
Nicméně pokračoval jsem dále. Následovalo rozbalení zdrojových kódů, které je nutné navíc dolnit jakýmisi depot_tools. Při jejich velikosti (cca 250kiB) by mohly být rovnou součást balíku s Chromiem. Zde je zajímavá část návodu, které přidává depot_tools do PATH, a to
$ export PATH=`pwd`/depot_tools:"$PATH"Pokud toto použijete, zruší se odkazy na jiné PATH a nebude možné používat pro kompilaci naprosto nezbytné příkazy jako
sed
či exec
. O tom, že zdrojové kódy musí být uloženy v adresáři, který nemá v názvu mezeru, pak už nemá cenu se rozšiřovat. Dnes bychom měli být mnohem dál.
Mezitím pokračuje rozbalování archivu s Chromiem. Velikost extrahovaného balastu dosáhla 1,7GiB. Vzdávám to, zabíjím kio_archive
a extrahovaný balast mažu.
Co tímto Google sleduje? Vytvoří "open source" projekt, který prakticky nelze zkompilovat - ať už kvůli mizerné kvalitě návodů či nehorázné velikosti zdrojových kódů. Snaží se Google potopit open source a dokázat, že koncepce open source nemá smysl? Ať už zamýšlí cokoliv, tento jeho balast mi do počítače nesmí ani v binární formě. Ať už se jí někdy dočkáme či ne.
Tiskni
Sdílej:
Nechápu. Vždyť ta verze pro Win se téměř bude rovnat verzi pro GNU/Linux.
Znova nechápu. Dnem 15.5.2009 přestávají jet všechny weby na všech prohlížečích krom Chromia?
ii chromium-browser 2.0.181.0~svn20090514r16065-0ubuntu1~ucd1~jaunty Chromium browser ii ia32-libs-chromium-browser 0.01~ucd6~jaunty Chromium browser, ia32-libsJsou hezky vidět pokroky v implementaci a dokážu si představit, že by se časem mohl stát hlavním prohlížečem např. v Xubuntu.
Bohužel u Chromia(a Chrome samozřejmě) to kvůli V8 ani jinak nejde.
A už Jarík přeportoval V8 i pro 64-bit jak jsem mu tuhle říkal?
JIT je myslím v interpretu SquirrelFish(ten co je používán v čístém WebKitu) a to je furt málo.
Si přečti ten seriál. Ve zkratce: JIT se prvně snaží odhadnout zda-li daný blok bude rychlejší když se bude interpretovat nebo kompilovat, pak se interpretuje a nebo kompiluje a pokud se zkompiluje, tak pak teprv se spustí.(Jen doufám, že si to nepletu s tím nahrazováním instrukcí virtuálního stroje s přímými adresami funkcí) V8 před zobrazením všechno zkompiluje do instrukcí fyzického stroje a to spustí. Bohužel zatím kompiluje jen do obecného x86.
Problém jsou dynamicky typované jazyky, které nejde tak dobře optimalizovat. Javascript je prostě dynamický jazyk a výkonnostně na tom nebude nikdy tak dobře jak třeba C#. Přijde mi to někdy až absurdní, zavádíme dynamické typování, ale skoro v každé funkci očekáváme určitý typ a někdy dokonce provádíme kontrolu. Jaký je v tom teda přínos?
Moje řeč. Mělo se to rovnou posílat v čistém Céčku, když už se v tom píší operační systémy a aplikace. Jinak u V8 se ta kontrola a dynamické typování provádí při kompilaci, což je jedno malé plus k rychlosti. Vsadil bych boty, že zkompilované skripty(binárky) se potom kešují a to navozuje dojem té rychlosti. A asi jsem se špatně vyjádřil:
…a to je furt málo.
Není málo mně. Osobně mi bohatě stačí i Tracemonkey u Gecka, ale ostatní furt jaksi nemají v čem machrovat v JavaScriptových benchmarcích.
Ale jinak prohlížeč podle mě nebrzdí javascript, ale DOM-HELL. Dom se začal totiž používat na věci, na které není stavěný, je zbytečně komplikovaný, každá nová vlastnost všechno ještě víc komplikuje, atd.
No IMHO prohlížeč by měl hlavně rychle vykreslovat a ne se patlat s nějakou dynamikou.
Moje řeč. Mělo se to rovnou posílat v čistém Céčku, když už se v tom píší operační systémy a aplikace. Jinak u V8 se ta kontrola a dynamické typování provádí při kompilaci, což je jedno malé plus k rychlosti. Vsadil bych boty, že zkompilované skripty(binárky) se potom kešují a to navozuje dojem té rychlosti. A asi jsem se špatně vyjádřilNo ono to funguje tak, že ten engine si řekne, že třeba tato hodnota s velkou pravděpodobností nikdy nebude nic jiného než celé číslo. Jenže problém je ten, že v dynamicky typovaném jazyce to může kterákoliv funkce (nebo nepředvídatelný eval) zase změnit. Takže je to sice kompilované do x86, ale stejně i ten zkompilovaný kód obsahuje strašně moc kontrol na typy proměnných. Kontroly jde omezit snad jen u lokálních proměnných a tam je to taky sporné, protože sviňa eval může změnit i ty (doufám, že to říkám dobře;]).
No IMHO prohlížeč by měl hlavně rychle vykreslovat a ne se patlat s nějakou dynamikou.Nevim přesně jak to myslíte, ale podle mě web není jen o tom vykreslování. Právě ty výpočty na layout a všechny podobné CSS nesmysly zaberou strašně moc času, a podle mě toto je největší bastl dnešního webu. Podívejte se, jak jsou věci udělané, místo nějakého rozumného popisu vzhledu a elementů na webu se používá milión zanořených DIVů do sebe, existují desítky hácků jak udělat layout nebo obejít chyby prohlížečů dalším zanořováním DIVů, a výsledek je takový, že když si necháte zobrazit DOM třeba ve firefugu, tak se člověk musí zhrozit nad tím, co to vlastně vytvořil. Podle mě jsou CSS styly totálně debilně navržené, a vůbec neumožňují to, k čemu byly původně navržené (oddělit vzhled od obsahu). Nemluvím jen o webových stránkách, ale snahou protlačit na web i aplikace (tomu trendu se nedá vyhnout). Třeba já když potřebuju něco udělat, tak používám toolkit qooxdoo, webový gui toolkit, má celkem dobré API. No a co musím říct je to, že ta javascriptová část prostě frčí, jediné co brzdí prohlížeč je právě ten DOM-HELL :( Asi tomu začnu říkat Doom
Hodně se mi líbila myšlenka, aby byl nový js staticky i dynamicky typovaný (protlačoval to myslím Adobe a Mozilla?, jejich actionscript to podporuje?), tím by se celkově zvýšila rychlost tohoto jazyka (teda pro ty, co by psali některé věci pomocí statického typování) a zachovala by se zpětná kompatibilita.Zkus Objective-J (http://cappuccino.org/learn/tutorials/objective-j-tutorial.php)
Linuxova verze Chrome zatim nedosahla ani Beta stadia
Přesně tak. Chromium je zatím Aplha.
je to nehotove dilo, buildy jsou urcene jen pro lidi, kteri maji zajem testovat, podilet se na vyvoji
Když se Chromium spustí prvně, tak přímo na stránce co naskočí je výrazně psáno, že se portuje funkčnost a veškeré chybové hlášení se budou ignorovat a ať nikdo nic zatím nereportuje. Já mam nastaven PPA na Chromium a jen tak od oka už toho není moc na portování, takže bych řekl, že do beta stádia se dostane co nevidět.
Každý větší projekt se vyvýjí. To že ti to nejde zkompilovat toho moc o kvalitách projektu neříká. Pokud vývojáři raději pracují na funkčnosti a aby to zkompiloval každý BFU nechají na později, tak to bych jim neměl za zlé. A navíc po Chrome není zas tak moc třeba toužit, když máme firefox...
Prečo? Napríklad pre mňa je prioritné pohodlie (a viem si to predstaviť ešte vymakanejšie), ktoré mi poskytujú pluginy Tab Mix Plus a Fire Gestures vo Firefoxe. Kedysi som bol skoro rovnaký Opera-fanboy, ako veďvietekto ohľadom Firefoxu, ale... konvertoval som.
integraci s DE
Pak nemůže být řeč o Chromiu vůbec. Mám udělat screenshot?
Já bych chtěl znát nějaké konkrétní příklady integrace Firefoxu do DE, který bych nutně potřeboval nebo by mi zrychlily práci. Zatím řada stránek, které potřebuju, v Konqueroru ani nejde, a nejdou tam ani funkce nebo rošíření, které chci. Nechápu, v čem by mi lepší integrace zantelněji urychlila práci. Proto netuším, proč je to pro někoho tak zásadní kritérium.
Proč?
Firefox pod Linuxem ?
No dobře, tak zrovna FireFox nemusím ani já. Ale znova opakuju. Existuje X dalších prohlížečů jiných než FireFox, které nejsou tak nenažrané, jsou výborně integrované, jsou docela rychlé a jsou i docela robustní. Vlastně proč mluvím o X, když mám na mysli jeden konkrétní: Epiphany (konkrétně ten s Geckem). Používám ho stále mnohem radši než WebKitovou verzi nebo Chromium. Rychlostně to není až tak strašné (ale neskrývám, že bych upravený WebKit z Chromia + V8 nechtěl mít nasáčkované na Epiphany také). A aspoň to není jeden obří hack, který nejde kvůli tomu zkompilovat.
vytuhne jeden tab a jdou s ním i ostatní
Spíš vytuhne jeden Flash Player. FireFox samotný my snad ještě nikdy nevytuhnul.
Tomeš
Já si myslím, že to je hlavně o něm. Už přes rok se tady snažím šaškovat, že celý WebKit(a to Chrome už vůbec ne) není tak růžový jak propaganda tvrdí, ale nikdo neposlouchá. Jednou řekl Tomeš FireFox nebo Gecko a hotovo. A že by mohl mít aspoň z části pravdu vůbec nikoho nezajímalo. A vůbec…je docela zajímavé lidi sledovat, protože já mám z toho takový dojem, že oni ani nechtějí rychlý nebo pěkný prohlížeč (a nebo Chromium). Oni chtějí prostě Google Chrome.
Ano, konečně to někdo pochopil. Tomeš taky nemá žádné předsudky, umí uznat, když je nějaký produkt v něčem lepší. Používá různé prohlížeče i operační systémy, podle toho, v čem se mu daná věc docílí lépe/snáze/rychleji nebo vůbec docílí. Bohužel to někdo vnímá jako rozdupanou bábovičku, když napíšu, že někde něco nejde nebo pomaleji nebo hůře. Nechápu, proč lidi nerespektují, že někdo má jisté nároky a potřeby. Vtipné na tom je, že jsem před lety ve svém příspěvku o tom, proč se vracím k Windows XP, nepsal vůbec nic o tom, že je jeden systém (nebo jeho uživatelé) špatný nebo horší a druhý dobrý nebo lepší. Ale prostě stáda se to dotklo a pořádně kvičelo. Smutný to obraz.
Tomeš dloooouuuho všude tvrdí, ať si každý používá to, co mu nejlépe vyhovuje, protože tak je to nejlepší. Vygooglujte si to. Tomešovi pouze vadí, když se opakují pitomosti. Tomeš není fanatický ani blbý a je schopen vnímat a popsat momentální zajímavé rozdíly v rychlosti prohlížečů ve prospěch Chrome, stejně jako další kritéria. Tomeš měl ale pravdu, když před 5 lety tvrdil, že Firefox je poměrně kvalitní produkt a má šanci změnit poměry na trhu prohlížečů. Dneska se Firefox 3 v Evropě a Česku stává nejpoužívanějším prohlížečem a i celosvětově si vede dobře. Roste dlouhodobě rychleji než všechny ostatní prohlížeče (s výjimkou klesajícího IE) dohromady. To, že to někteří lidé nechtějí slyšet a pochopit, je věc jiná. Já si myslím, že je velice dobře, když byly prioriy Firefoxu nastaveny tak jak byly, a že díky tomu teď 200 milionů lidí používá ve všech oblastech výrazně lepší prohlížeč než IE, a že více než půl miliardy lidí dnes již nepoužívá IE 6. Bez Firefoxu by se tak rychle neobnovil vývoj IE. Mně to přijde jako výrazně lepší strategie pro prosazování webových standardů a otevřených formátů, než mít v některých parametrech a funkcích lepší prohlížeče, které však využije tak akorát pár procent lidí. Podívejte se na Operu a na ostatní. Z úspěchu Firefoxu těží úplně všichni uživatelé i tvůrci stránek. Je to vlajková loď open source pro koncové uživatele a určité měřítko a laťka. A v neposlední řadě jsem rád, že sílí podíl otevřených technologií na trhu a že ty uzavřené začínají drtit ve výkonu i v jiných paramatrech.
Ach jo, to je furt dokola. Ten 100MB balíček je s ladícími symboly. Na tom má z větší části podíl samotný WebKit. Stripnutý balíček má 20MB.
Na Rootu je tohle.
To je nějaký druh vtipu?
sed -ir 's/lib\([a-z]*[0-9]\).so.[01]d\d000/lib\1.so\d000\d000\d000\d000/g' chrome
Skúmal niekto tie zdrojáky, že prečo je to tak obludne veľké? Aj keby tam bol celý WebKit, SKIA, či celé GTK+, tak mi to príde strašne veľké...
WebKit z GITu nezabalený má tak kolem 1GB.(Ale přiznávám, že jsou v něm různé závislosti třetích stran -třeba ta V8. Když se to oseká jen na GtkWebKit, tak to má zabalené jen kolem 12MB). WebKit samotný…co dodat?(naspodu příspěvku)
používám daily builds z launchpadu a normálně to jede... je to super rychlé a pěkné, je ale pravda, že na ff zatím nemá..
./configure && make && make install
, plus nějaké to ladění navíc).Přiznávám se, prostě už na mě bylo to dlouhé čekání na Chrome pro Linux příliš dlouhé, a tak jsem ho chtěl zkusit sám a po tak dlouhé době jsem od něj jaksi čekal více.
Ono je pravda, že se s portováním na Linux začalo nedávno.
Velikost stažených zdrojových kódů mě vyloženě šokovala (viz porovnání s KDE nebo třeba OpenOffice.org), protože takto rozsáhlé zdrojové kódy mívají výrazně komplexnější aplikace (třeba SALOME, výpočty MKP).
Znova. Zkoušel si vůbec někdo stahovat zdrojáky?
Ten zbytek už je dán prostě nesouladem s klasickým Linuxovým postupem (./configure && make && make install
, plus nějaké to ladění navíc).
A ještě jednou a snad už naposledy: Chromium není připraveno pro běžné použití. Chromium není připraveno pro testování. No, ono Chromium není vůbec připraveno. Je připraveno pro vývoj a to, že nabízejí zdrojové kódy je jen vedlejší efekt toho, že se jedná o otevřený projekt.
Ono je pravda, že se s portováním na Linux začalo nedávno.V tom je možná právě ten problém. Kdyby byl Chrome od začátku vyvíjen jako multiplatformní, mohl by být mnohem dál. Takhle je hotová koncepce a je hotový prohlížeč pro jeden, a přiznejme si to, dosti nestandartní operační systém. Výsledek je ten, že je možná větší problém tohle naportovat na jiné systémy, nežli napsat prohlížeč od nuly.
Znova. Zkoušel si vůbec někdo stahovat zdrojáky?Ano. Já.
Chromium není připraveno pro běžné použití. Chromium není připraveno pro testování. No, ono Chromium není vůbec připraveno.Ano uznávám, v tom stavu, v jakém je, je připraveno pro vývoj a pro vývojáře. V takovémto stádiu by možná stálo za to dát pěkně tučným textem varování o tomto stavu hned do záhlaví webových stránek. Pak to dopadne tak, že to chce nějaký rapl jako já vyzkoušet a jednoduše mu z toho jde hlava kolem
Kdyby byl Chrome od začátku vyvíjen jako multiplatformní, mohl by být mnohem dál. Takhle je hotová koncepce a je hotový prohlížeč pro jeden, a přiznejme si to, dosti nestandartní operační systém.
Co? To je další vtip? Jinak je to hlavně důsledek toho, že to vyvíjí komerční firma. Prvně a hlavně co nejrychleji binárky, zabalené a připravené pro použití co největším počtem uživatelů(původně se mi podařilo nechtěně napsat uřivatelů a asi by to bylo vhodnější) aby se udělalo jméno. Klasická koncepce vývoje freewaru. Pak je čas na ostatní věci(a to ještě Linuxová verze přeskočila 64-bitovou okenní verzi, takže na něj asi zas tak moc nekašlou.
Znova. Zkoušel si vůbec někdo stahovat zdrojáky?
Ach jo. Poslední dobou mi nějak vypadávají slovíčka, takže oprava: Zkoušel si vůbec někdo stahovat zdrojáky WebKitu?
V takovémto stádiu by možná stálo za to dát pěkně tučným textem varování o tomto stavu hned do záhlaví webových stránek.
To je jako odměna za to když se to někomu podaří zkompilovat.
Pak to dopadne tak, že to chce nějaký rapl jako já vyzkoušet a jednoduše mu z toho jde hlava kolem.
Ale dle mého názoru to nebude lepší ani po finálním vydání. Chromium ani WebKit nejsou klasické otevřené projekty (po pravdě řečeno jsou oba dost pěkné bastly), takže bych ./configure && make && make install
nečekal ani ve finální verzi.
K cemu ten bulvarni titulek blogpostu?Prostě mě nic lepšího v danou chvíli nenapadlo...
Chrome pro Linux proste jeste neni finalni a pro verejnou konzumaci. Tak nechapu, co resis.Viz tento thread. Nehledě na to, že stránky Chromia jsou naprosto nulové a podobné upozornění neobsahují, tudíž jsem dost dobře netušil, co čekat.
Věděl jsi, že stahuješ noční sestavení a ještě ani oficiální alfaverzi. Proč se asi moc nepropaguje? Chce to trochu myslet.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.