Přejít k obsahu Přejít k hlavnímu menu

SUPERKODERS

Letem frontendovým světem, vol. 16

Lehká vlna nostalgie nás zanese na pole nových IDEček, zoptimalizujeme metriku INP a vyřešíme srovnání výšky nadpisů bez JavaScriptu.

Luděk Chaloupka 11. března 2024 3 min. čtení

Zed: Inovativní platforma pro vývoj webových aplikací

Pamatujete ještě PSPad nebo Notepad++? Mnozí z nás na těchto nástrojích začínali. Každopádně věčný boj mezi IDE editory přináší dalšího protivníka do boje a tím se zdá být ZED Externí odkaz . Prozatím jen pro jablíčkáře.

Co je ZED?

Zjednodušeně editor zaměřený na produktivní vývoj. Nabízí komplexní sadu nástrojů, které umožňují rychlejší a efektivnější práci. Zed podporuje GitHub Copilot a GPT-4, které můžete třeba použít ke generování nebo refaktorování kódu.

Spolupráce mezi týmy

Za zmínku stojí také spojení více vývojářů nad sdíleným pracovním prostorem. Kanály pro diskuze, plánování či psaní softwaru v týmu fungují jako virtuální kancelář, což je v dnešní době nepostradatelný nástroj.

Práce s kódem

Práce s kódem z libovolného počítače je další super funkce tohoto nástroje, což jistě ocení vaši kolegové, pokud s nimi zrovna nesedíte v kanceláři. Vlastně to ocení i když sedíte, ale zrovna se vám nechce otočit. 😃

Co říct závěrem? Popsat všechny vychytávky by vydalo na vlastní článek, ale prozatím je u nás ZED v testovacím módu. Já osobně zůstávám věrný VS Code a asi se těžko nadchnu pro nový editor, každopádně ZED rozhodně stojí minimálně za zmínku.


Tipy a triky pro metriku INP

Google oznámil na 12. března změny v metrikách Core Web Vitals, a tak přinášíme pár rad na zlepšení metriky INP (Interaction to Next Paint) Externí odkaz . Ta je v CWV nová a měří rychlost reakce webu na akci uživatele.

Odložte načítání megamenu

Tímto problémem trpí některé e‑shopy, na kterých je megamenu o tolika položkách, že vám při scrollování na konec dojde baterka v myši.

Něco takového může zhoršit metriku INP. Přitom stačí málo, zkuste donačítat položky postupně AJAXem.

Intersection Observer

Další rychlá úprava spočívá ve vypnutí všech nepotřebných widgetů při načítání stránky v prvním viewportu. Slyšeli jste už o  Intersection Observer Externí odkaz ? Ten vám lehce zajistí spuštění widgetu až v okamžiku, kdy je skutečně ve viewportu.

Využití CSS místo js pluginu dotdotdot

V podstatě podobné je cyklické opakování jedné javascriptové funkce na každé stránce, typicky třeba dotdotdot Externí odkaz plugin. Pokud jej stále používáte, nejlépe se ho co nejdříve zbavte a zkracování textu přepište pomocí CSS vlastnosti text-overflow:ellipsis Externí odkaz či line-clamp Externí odkaz .

Měřící kódy

Měřící kódy jsou téma samo o sobě. Zde jen ve zkratce, co můžete odložit - odložte. 😃

Zajímají tě novinky ze světa Frontendu?

Přihlas se k našemu newsletteru nebo nás sleduj na  sociálních sítích Externí odkaz .


Optimální velikost cílové oblasti elementu

Aby uživatelé měli na webových stránkách co nejlepší zážitek, je klíčové optimalizovat velikost cílové oblasti, tedy místa, na která uživatel kliká.

Studie Ahmada Shadeeda Externí odkaz upozorňuje na to, že příliš malé cílové oblasti mohou být frustrující pro uživatele, zejména na mobilních telefonech. Naopak, příliš velké cílové oblasti mohou způsobit náhodné kliknutí a zhoršit celkový uživatelský zážitek. Autor tedy vytvořil rozsáhlého průvodce, jak k celému problému přistupovat.

Velmi zajímavý je web i s  praktickými ukázkami Externí odkaz .


composedPath() metoda

Není to sice žádná novinka, ale metoda composedPath() Externí odkaz není tak hojně využívaná, což je v mnoha ohledech škoda.

K čemu to je?

Tato metoda vrací pole s cestou (path) z kořene dokumentu k DOM prvkům, které byly dotčeny událostí. Cesta je tvořena všemi elementy, které událost prošla k cílovému prvku.

Zajištění správné cesty

Někdy může být obtížné zjistit, které prvky DOM byly zahrnuty v propagaci události, zejména pokud je na stránce složitá struktura DOM nebo pokud jsou některé prvky zanořeny do shadow DOMu.

Korekce chyb

Metoda composedPath() poskytuje jednoduchý způsob, jak získat kompletní cestu dané události, což pomáhá s laděním a opravou chyb.

Jak používat composedPath()?

// Funkce pro zachycení outside click události
function handleOutsideClick(event, target, callback) {
	// Získání cesty kliknutí
	const path = event.composedPath();
	// Zjištění, zda bylo kliknuto uvnitř node
	const isClickInside = path.some(node => target.contains(node));
	if (!isClickInsideModal) {
		// Volání zadaného callbacku při kliknutí mimo
		callback();
	}
}
		

Ukázka subgridu pro srovnání výšek nadpisů

O subgridu se minule zmiňoval i Jozef ve  Frontendových novinách Externí odkaz a dneska vám přinášíme ukázku, jak pomocí grid-template-rows: subgrid srovnáváme výšky nadpisů. A protože kód řekne více než tisíc slov, zde to máte:

See the Pen on CodePen.


Chceš se bavit s námi?

Hledáme do týmu další zapálené vývojáře.
Mrkněte na kariéru a napište Michalovi.

Michal Matuška | CTO +420 737 770 642

Michal Matuška