ugrás a tartalomhoz

Miért nincsen egy standard böngészőmotor?

Max Logan · 2008. Jan. 4. (P), 09.33
Azon gondolkodom, hogy ha van egy W3C, aki szabványokat, akarom mondani ajánlásokat készít, akkor miért nincsen egy alszervezete, aki fejleszti a kidolgozott ajánlásokra épülő standard böngésző motort.

Mivel egységes lenne a platform minden böngészőben, nem kellene szívni azzal, hogy CSS és JS terén ide-oda optimalizáljon (hackeljen) az ember.

A megjelenítő motor egységes lenne a többit pedig mindenki így oldaná meg ahogy akarja.

Ezzel sztem elérhető lenne a tényleges platformfüggetlenség.
 
1

mindenki a saját szekerét

winston · 2008. Jan. 4. (P), 09.38
mert mindenki tolja a saját szekerét, fejleszti a saját ... cuccait, és nem a szabványok érdeklik őket, hanem hogy nagyobb szeletet hasítsanak ki és több pénzt szerezzenek. mert akárhogy is nézzük, ez üzlet.
3

Valahogy így

zila · 2008. Jan. 4. (P), 09.45
Nagyjából így van. Persze vannak akik nem találják fel a spanyolviaszt újra meg újra. A Safari és Konqueror pl. a webkit-et használja motornak aztán ott vannak a gecko motorra épülő böngészők (Firefox, Camino, Epiphany stb.) Opera és MSIE pedig fejlesztgetik a saját motorjukat. Nyilván ők is beállhatnának a sorba és használhatnák valamelyik OS motort, de szinte kizárt, hogy az MS valaha is lecserélné valamelyikre a sajátját (javítaniuk kéne nagyon-nagyon sok alkalmazásukban kezdve a windows update-től az activex cuccokon át a helprendszerig mindent...) Opera sem valószínű, hogy váltani fog, mert ugye ők arra büszkék, hogy övék a leggyorsabb megjelenítő, ha ezt elvesztik akkor miért használnának Operát az emberek?
2

Mit gondolsz?

janoszen · 2008. Jan. 4. (P), 09.39
Miért nincs standard oprendszer... ugyanez. A böngésző megjelenítő enginekre épít és oprendszer controlokra plusz az egyéni "fícsörszetre", mint pl IE-ActiveX, szal nem igazán tudsz szabványt csinálni.

Elvileg van a W3C-nek motorja (Amaya), de az kb használhatatlan mert csupán elméleti szempontból használható...
4

nem az a baj...

ashnur · 2008. Jan. 4. (P), 09.52
nem az a baj, hogy nincs standard megjelenito, hanem, hogy arra edzenek, hogy a szarul , hulyen megirt oldalakat is meg tudjak jeleniteni. mintha a php parser megprobalna kitalalni, hogy miert felejtetted el a ;-t a sorvegerol, es hogy tulajdonkeppen mit is akarsz. mindezt azert mert v isszafele is kompatibilisek akarnak lenni. ami jooo, de en nem bannam ha lenne egy olyan doctype ami ezt eldobja az ertelmezokben, es szigoru szabalyok szerint jelenitene meg dolgokat. vagyis ha rosszul irod akkor egyaltalan. egy ilyen sokkal egyszerubbe tenne a helyes megjelenitest, nem kellene lottoznia a bongeszonek, hogy vajon mit akarsz. esetleg jol jonne hozza egy olyan is alapbol, hogy ha ezt a doctypet hasznalod akkor minden ertek inherit/auto, paddingok, marginok meg 0
6

XHTML

zmb · 2008. Jan. 4. (P), 11.28
Erre lenne az xhtml. Probald csak meg a helyes contenttype-al kuldeni a bongeszoknek, amint van egy aprocska hiba, eldobja magat az xml parser. Ezek utan ezt kombinald ossze azzal, hogy a weboldalt hasznalo felhasznalok orrba-szajba toljak a tartalmat a weboldalba...
Kepzeld el, ha az Indexen megjeleno blog ismertetok hibat karaktert/markupot tartalmaznanak, es egy xml parser probalna ertelmezni az oldalt. Pillanatok alatt haza lehetne vagni az egeszet.
7

Nem lehetetlen

vbence · 2008. Jan. 4. (P), 12.20
Én már készítettem XML+XSL alapú portált. Olyan ez, mint a valid HTML. Ha nem sajálod a munkát rá, közepesen nehéz feladat. (Ugye input-ellenőrzés meg mindig van a userektől származó bármire).
5

Szabványok és a standard böngészőmotor

sly · 2008. Jan. 4. (P), 10.21
A szabványokat maguk a böngésző készítők is készítik. Standard w3c böngészőmotor meg talán az Amaya.
8

gumicsont

Fraki · 2008. Jan. 5. (Szo), 01.20
Egyrészt, mint már írták, van standard implementáció.

Másrészt elnézést, hogy megint ilyen volumenű hozzászólásra van csak energiám, de ez a téma annyiszor előjött már, és annyira gumicsont. Főleg ilyenkor, a JS keretrendszerek korszakában, a web2 korszakában (ie bugok és workaroundok sz*rrá dokumentálva a neten), lassan az ie7 és az acid2-képes ie8 korszakában... fordított oldalról is lehetne már nézni a dolgot, ti. hogy milyen örvendetesen nagy utat jártunk be.

Amit felvetsz, hogy közös kódbázison alapuló megjelenítő minden böngészőben, az egy (nem túl demokratikus) utópia.

Ezeknél 26x többet lehet szívni egy trac-telepítéssel... kinek mihez van affinitása. A problémamegoldás mindenhol kelendő készség.
9

Nem igazán értem

Max Logan · 2008. Jan. 5. (Szo), 02.35
Miért jó az, hogy mindenki a saját megoldását alkalmazza a böngésző motorhoz?

Igazából elvi problémám van. Ha van egy szabvány, annak van egy tökéletes implementációja, akkor nincsen gond. Mindenhol minden úgyanúgy jelenik meg, a körítést meg mindenki hozzáadja (buta hasonlattal élve: van egy toshiba LCD kijelző ami köré több gyártó, többféle notebook-ot gyárt, minden gépen ugyanúgy jelenik meg a kép).

Ha egységes lenne a motor, akkor lehetne pl. CSS-sel formázott e-mail-eket küldeni, amit minden levelező kliens normálisan jelenítene meg, köszönhetően az egységes motornak. A funkcionalitást pedig mindenki úgy oldja meg ahogy neki jól esik.

Szóval az a bajom, hogy van egy szabvány és azt nem implementálják 100%-osan, a saját útját járja mindenki. Persze ez fejlődéshez is vezet, mert jó ötletek születnek, de akkor is szivatva van a fejlesztő társadalom. Vhogy ezt nem érezm igazságosnak. Jó tudom kapitalizmus, a profit a lényeg ...
10

Visszakérdezek: miért jó az, ha a saját tökéletlen...

Fraki · 2008. Jan. 5. (Szo), 05.57
Visszakérdezek: miért jó az, ha a saját tökéletlen megoldásod helyett mások tökéletlen megoldását kellene alkalmaznod?

Az utópiákkal sem elvi probléma van...

A megjelenítőmotornak számos paramétere van, amivel a szabvány nem foglalkozik (teljesítmény, stabilitás, bugok stb. kismillió apróság, pl. hogy hogyan szkrolloz – gondolom, te is látod, mennyire különbözik az FF motorja az Operáétól egy pixelre ugyanúgy renderelt lap esetében is).

A kijelzős példa tökéletes, hiszen nemcsak tochiba LCD létezik, és a toshiba LCD sem tökéletes. És az Amaya is valószínűleg sokkal gyengébben támogatja a szabványt, mint a legtöbb piaci böngésző.

Igazából, amiről írsz, az tkp. magának a szabványnak a félreértése. A szabvány azért van, hogy a közös nevező szerepét betöltse, nem pedig azért, hogy az alapja legyen egy specifikáltabb közös nevezőnek, mert akkor az utóbbi lenne a szabvány. Ha mindenki ugyanazt az implementációt használná, akkor fölösleges volna maga a szabvány is (ill. nem szabvány volna a neve, hanem manuál). Implementáció ráadásul soha nem tud szabvány lenni, az fából vaskarika. A szabványnak kívül kell esnie azon a körön, ahol bármilyen technikai paraméter vagy a megvalósítással kapcsolatos emberi tökéletlenség bejátszhat. Ez két külön világ.

A szabvány közérdek, az egységes implementáció nem, mert az emberek szeretnek többféle böngészőt használni (és nemcsak a körítésben többfélét, hanem a fent említett paraméterekben, amik nem leválaszthatók a motorról). Így a te érdeked mint fejlesztőé, hogy egy motorra fejlessz, ütközik a felhasználók érdekével (és te is felhasználó vagy), és az utóbbi sokkal erősebb.
11

Nem értek egyet

zila · 2008. Jan. 5. (Szo), 10.22
A szabványok márpedig azért vannak, hogy úgy implementálják őket ahogy le vagyon írva.

Érdekes módon egy jpg kép bármelyik képnézegető programban jól jelenik meg, nyilván azért, mert mindegyik 100%-ban követi a szabványt. Persze az egyik gyorsabb a másiknál mert másképp implementálták a szabványt de ettől még mindkettő szabványos. A html+css+js esetén is ez lenne a kívánatos, aztán scrollozhat másképpen az opera meg a firefox, attól még ugyanúgy kellene kinéznie bennük a szabványos oldalaknak. Ugyanez igaz pl. odt-re. Szép lenne, ha egy szerkesztő olyan dokumentumokat állítana elő amit egy másik nem tud megnyitni, vagy éppen szétesik benne a dokumentum. Az ilyen alkalmazás egyszerűen nem a szabványnak megfelelően működik és így nem tekinthető opendocument képes szerkesztőnek...

Pont az a közérdek, hogy olyan alkalmazások legynek amelyek megfelelnek a szabványoknak. Máskülönben kitörölhetjük a fenekünket a szabványokkal...
14

jpeg-re sem igaz a szabványosság

Jano · 2008. Jan. 5. (Szo), 15.41
Sajnos jpeg-ekre se igaz a szabványosság teljes mértékben, sok alkalmazás nem veszi figyelembe a színtér információkat (ICC).
15

egyetértek

Fraki · 2008. Jan. 5. (Szo), 17.27
"A szabványok márpedig azért vannak, hogy úgy implementálják őket ahogy le vagyon írva."

"Pont az a közérdek, hogy olyan alkalmazások legynek amelyek megfelelnek a szabványoknak. Máskülönben kitörölhetjük a fenekünket a szabványokkal..."

Ez tökéletesen igaz. Valójában egyetértesz (vagy legalábbis én veled).

Azért egy képformátum és egy teljes platform leírását egy kalap alá venni aránytévesztés. Az .odt-s példa már közelebb áll, ennek megfelelően a dokumentumok terén ugyanez a probléma fenn is áll.
12

teljes a szabvány?

Hodicska Gergely · 2008. Jan. 5. (Szo), 13.58
Ami miatt nem lehetséges amit szeretnél az az, hogy van egy csomó dolog, amit a szabvány nem specifikál. Konkrétumot nem tudnék mondani (nem az én asztalom a sitebuild), de már itt is több olyan szálat olvastam, ahol előjött, hogy ez meg az nincs tökéletesen specifikálva, és xy szerint épp az IE viselkedése a logikus, néha meg a FF-é.

A szabvány az helyenként csak egy ajánlás. Ha megnézed, akkor a szabványokban ilyesmi igék vannak: must, should, may stb. Ami must, azt elvileg kötelező a szabványt teljeséggel megvalósító alkalmazásnak a szabványban leírt módon implementálni, de ami mondjuk may, azt már nem feltétlenül. Annó pl. elolvastam DOM speckót is, és azért akadt benne olyan, ami teljesen a megvalósítóra volt bízva.

Egy másik probléma, hogy a szabványban sosem lesz benne minden egyes kombináció. Szerintem saját tapasztalatodból is ismerős lehet, hogy még egy nagyon jól specifikált feladat esetén is mindig vannak kérdéses esetek, amikre gyakran elképzelhető több (más-más szempontból) jó megoldás is.

Szóval még a lehető legjóhiszeműbb esetben sem lesz egy tökéletes megvalósítás. Az meg külön kérdés, hogy biztosítani nulláról a teljes szabvány támogatását, az kb. azt jelentené, hogy elmennek a fejlesztők egy barlangba, és kijönnek sok év múlva egy fasza böngészővel, ami nyilván üzleti szempontból nem fog működni, ezért mindenki mérlegel, hogy szerinte mi az amit fonos támogatni, mi az amit elég lesz egy későbbi verzióban.


Üdv,
Felhő
13

Példa

vbence · 2008. Jan. 5. (Szo), 14.48
http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-keyevents
1.6.3. Key events
The DOM Level 2 Event specification does not provide a key event module. An event module designed for use with keyboard input devices will be included in a later version of the DOM specification.


Max: ebből kiindulva a tökéletes böngészőben nem lenne például event.charCode