Přejít k navigační liště

Zdroják » Zprávičky » Peppy: Hledání elementů v DOM snadno a rychle

Peppy: Hledání elementů v DOM snadno a rychle

Zprávičky JavaScript, Různé

James Donaghue zveřejnil první beta verzi javascriptového nástroje Peppy, který slouží k procházení DOM stromu a hledání elementů. Hledání je kompatibilní s CSS3 selektory. Vzhledem k velikosti (10kB) a k faktu, že funguje nezávisle na jiných knihovnách ve všech hlavních prohlížečích, by mohl být ideální volbou pro aplikace, které intenzivně pracují s DOM stromem.

Autor uvádí, že jeho knihovna je rychlejší než obdobné nástroje, použité ve většině JS frameworků (Prototype, jQuery, YUI apod.) a své tvrzení podporuje zajímavým benchmarkem.

Komentáře

Odebírat
Upozornit na
guest
5 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře
jkubos

Prototype v tomhle testu tedy pořádně pohořel. Napadá mě několik důvodů:

– data vrací v rozšířených (extended) kolekcích, což může být pomalejší, než použití nativních

– vrací rozšířené (extended) DOM elementy, což může být pomalejší, než použití nativních

Neznám ostatní frameworky, ale pokud opravdu vracejí jen standardní kolekci standardních DOM elementů, pak se obávám, že ten test porovnává neporovnatelné. Stačí si představit kód následného zpracování vyhledaných elementů – nativní DOM (řešení nekompatibilit browserů) versus extended DOM prototype (Ruby styl práce). Takže to vidím na klasický problém: efektivita/elegance.

Martin Hassman

test porovnává neporovnatelné

Test Slickspeed porovnává přesně to, co porovnat má (a jak vývojáři prohlížečů, tak frameworků jeho výsledky dobře sledují), tedy čas pro získání objektů (ostatně řada vývojářů používá právě jen to a zbytek frameworku ignorují). Pokud bychom chtěli testovat nejen navrácení objektů, ale i jejich zpracování, mohl by výsledek možná dopadnout jinak, ale to už by byl úplně jiný test.

jkubos

Já jen tvrdím, že počet vrácených objektů není objektivní kritérium – pokud jeden vrací obyčejné DOM elementy a drůhý rozšířené. Tohle by tam mělo být explicitně zmíněno.

Martin Hassman

Jenže objektivní kritérium pro co? Ono „pro co“ je důležité dodat. Pro porovnání jak rychle mi framework vrátí výsledek, se kterým můžu dále pracovat, bude čas tím správným kritériem. Pokud framework mezitím dělá „něco navíc“, může se to projevit v kódu jinde a jinak (třeba na přehlednosti kódu, jeho snazší údržbě nebo prostě úplně jinak) a pokud to „něco navíc“ dokážu použít, tak je to pro mě plus, ale nijak to výsledek Slickspeedu nemění. Vývojáři prototype se rozhodli dělat „něco navíc“, čímž vyhledávání v DOMu zpomalili (a to správně Slickspeed ukazuje a proti tomu je těžké něco namítat) a přidaná hodnota „toho navíc“ se může (a nemusí) projevit – na to by se mohl hodit zcela jiný test.

johny.smrz

Ono je pravda zeneni porovnani jako porovnani, tenhle test rika pouze to jak rychle jednotlive frameworky umi prohledavat DOM a v tomto smeru je spravy a opravdy prototype pohorel. Pro me jako programatora je to rozhodne zajimave zjisteni ale musim se take podivat i na druhou stranu mince a to je uzitecnost. Prototype lze pouzit na mnohem vice veci nez jenom prohledavani DOMu, je to proste cena za urcitou abstrakci takze pokud budu delat neco sloziteho, pouziju treba prototype. Na druhou stranu vidim ze pokud budu potrebovat udelat neco jednoducheho a efektivniho kde se spokojim s par radky kodu, rad po Peppy sahnu.

Přístupnost není jen o splnění norem: nový pohled na inkluzivní design

Přístupnost a inkluze možná nepatří mezi nejžhavější témata digitálního světa – dokud o nich nezačne mluvit Vitaly Friedman. Na WebExpo 2024 předvedl, že inkluzivní design není jen o splněných checkboxech, ale hlavně o lidech. S energií sobě vlastní obrátil zažité přístupy naruby a ukázal, že skutečně přístupný web je nejen možný, ale i nezbytný.

Efektivnější vývoj UI nebo API: Co si odnést z WebExpo 2025?

Různé
Komentáře: 0
Jak snadno implementovat moderní uživatelské rozhraní? Které funkce brzdí rychlost vašeho webu? A kdy raději sami přibrzdit, abychom využitím AI nepřekročili etické principy? Debatu aktuálních dev témat rozdmýchá sedmnáctý ročník technologické konference WebExpo, která proběhne v Praze od 28. do 30. května. Který talk či workshop si rozhodně nenechat ujít? Toto je náš redakční výběr z vývojářských hroznů.

Zapřáhněte AI jako nikdy předtím. Květnová konference WebExpo přivítá hvězdy technologického světa

Od 28. do 30. května 2025 promění pražský Palác Lucerna na tři dny technologická konference WebExpo. Na programu je více než 80 přednášek a workshopů od expertů z celého světa. WebExpo tradičně propojuje vývojáře, designéry, marketéry i byznysové lídry a nabízí praktické dovednosti, strategické myšlení a přináší nejnovější trendy nejen v oblasti AI.