---
title: 12. dubna ’23 | {𝐅}rontendisti
tags: frontendisti
---
{%hackmd KXd2iUBpSjq7Ib2Z4h3LMg %}
# {𝐅}rontendisti v Betsys
Praha, 12. dubna ’23
<small>příště:</small>
<small>{F}rontendisti 10. května, Na věnečku, Smíchov</small>
<small>Pipedrive: 3. května _Machine learning & OpenAI_</small>
note:
- v Brně právě teď: _Diskuzní večer o produktivitě při práci (nástroje, workflow)
- příště pravděpodobně na Věnečku
---
- **Tomáš Litera**, LMC
Dialog element - nevymýšlej znovu modal!
- **Dawid Zbiński**, Betsys
Úvod do zpracování obrázků v JavaScriptu
- **moderovaná diskuse**
Jak se díky moderním nástrojům (z)mění práce (fe) vývojáře?
note:
- Marek Velas se omlouvá, onemocněl
---
## Letem swwwětem<br>
note:
---
### Nemělo by vám uninkout
- Vylda aka Vilém Lipold: [State of CSS 2022 – outsiders](https://www.youtube.com/watch?v=VjF66Uk4Jvw)
- Martin Rubáš: [Play it wrong or Playwright](https://www.youtube.com/watch?v=fFWSVvGobwU)
- Martin Michálek: [Rychlejší web snadno a rychle: Nové technologie a nástroje pro vývojáře](https://www.youtube.com/watch?v=dCONMLKgMsk)
note:
- přehled přednášek z posledních meetupů (Brno+Praha)
- Vylda přinesl přehled zajímavých novinek, které jsou, jak vyplývá ze State of CSS, opomíjené (neznámé, nebo nepoužívané)
- Martin o testování frontendu pomocí frameworku Playwright
- Máchal vyzobal ze své bohaté praxe 10 tipů na zrychlení webů (vybral jsem proto, že z přednášky vzešlo hned několik úkolů pro naše kódéry)
- další přednášky o [blockchainech v prohlížeči](https://www.youtube.com/watch?v=McgaHaSV9y4), [Nuxt 3](youtube.com/watch?v=djiDyS0Jbl0), [cachovací strategie](https://www.youtube.com/watch?v=lQMgaZIu86c), [organizace projektů pomoc monorepa](https://www.youtube.com/watch?v=qIgQ8JIHCH4) na [YT kanále {𝐅}rontendisti](https://www.youtube.com/@FrontendistiCz/videos)
---
### Prohlížeče
note:
---
#### Microsoft Edge 111
_vydán 13. března 2023_
note:
- Nic převratného.
---
#### Firefox 112
_vydán 11. dubna 2023_
note:
- Nic zásadního, a 113 zatím vypadá obdobně…
---
#### Chrome 112
_vydán 29. března 2023_
- nativní zanořování (CSS nesting)
```css
.foo {
color: red;
&:hover {
color: navy;
}
+ .bar {
color: blue;
}
}
```
note:
- obdoba toho, co známe z preprocesorů, ale nepůjde spojovat názvy tříd, jako se někdy zapisuje BEM
- byť konsorcium na specifikaci stále pracuje
- FF někdy také, Safari od 16.5
---
#### Nelze (na rozdíl od preprocesrů)
```css
form {
border: 1px solid silver;
input {
margin: 1em;
}
}
/* Invalid, because "input" is an identifier. */
```
---
#### Nutno takto (na rozdíl od preprocesrů)
```css
form {
border: 1px solid silver;
& input { margin: 1em; }
/* valid, no longer starts with an identifier */
:is(input) { margin: 1em; }
/* valid, starts with a colon,
and equivalent to the previous rule. */
}
```
---
#### Safari 16.4
_vydáno 27. března 2023_
```css
@media (100px <= width <= 1900px) {
/* rulesets */
}
article {
margin-trim: inline-start;
}
```
note:
- zjednodušený zápis media queries pomocí rozsahů jako poslední důležitý prohlížeč, i když s křížkem po funuse, media queries už nejsou tak důležitá (tekutý gid, `min()`, `max()` funkce, container queries)
- `margin-trim` ([příklad užití na MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/margin-trim#basic_usage)), pouze Safari…
- CSS nesting od verze 16.5 (nyní jako beta)
---
## Zachyceno v síti
---
#### [OpenProps](https://open-props.style/)
note:
- na minulém srazu představil Petr Koláček z Etnetery
- 4 kB framework od Adama Argyla
- [demo základ](https://codepen.io/argyleink/pen/KKvRORE?editors=1100)
- [demo komponenta](https://codepen.io/argyleink/pen/KKvRORE?editors=1100)
- tip k devTool: změnit paletu (barvy na stránce, všecky proměnné vlastnosti)
---
#### Josh Collinsworth: [Ten tips for better CSS transitions and animations](https://joshcollinsworth.com/blog/great-transitions)
note:
- perfektní sada tipů, chyb, kterým je třeba se vyhnout, a ukázek animací
- méně znamená více => nedělejme animace [příliš dlouhé](https://codepen.io/collinsworth/embed/abaqpRV?height=370&default-tab=result&slug-hash=abaqpRV&user=collinsworth&name=cp_embed_2#result-box); zkracovat, dokud nám nepřijde příliš rychlá a pak ji malinko zpomalit
- nepoužívat výchozí hodnoty prohlížečů; VS code skvěle doplňuje hodnoty Bézierových křivek
- inspirovat se skutečným pohybem; nikdy se nic okamžitě nerozpohybuje ani nezastaví; [CodePen](https://codepen.io/collinsworth/pen/poORdVo/6a29e9ec4ceb068892a7b77211864139)
---
#### Daniel C. Wilson: [Improving CSS Shapes with Trigonometric Functions](https://danielcwilson.com/posts/css-shapes-with-trig-functions/)
- sinus, cosinus, deskriptiva…
- `clip-path`, `shape-outside`
note:
- trigonometrické funkce ([sinus](https://developer.mozilla.org/en-US/docs/Web/CSS/sin), [cosinus](https://developer.mozilla.org/en-US/docs/Web/CSS/cos), [tangens](https://developer.mozilla.org/en-US/docs/Web/CSS/tan)) jsou nově podporovány v CSS funkci `calc()`
- Chrome (jako poslední) přidal podporu ve verzi 111, v nowwwinkách jsem tehdy vynechal, přišlo mi to jako obskurní záležitost, leč chyba lávky!
- nutno oprášit znalosti [kuželoseček](https://www.matweb.cz/kuzelosecky/) a [analytické geometrie](https://www.matweb.cz/kategorie-analyticka-geometrie/) => vyjadřování křivek pomocí rovnica
- [přehled tvarů](https://codepen.io/danwilson/embed/qBMvveV?height=366&default-tab=css%2Cresult&slug-hash=qBMvveV&user=danwilson&name=cp_embed_9#result-box)
- [animace](https://codepen.io/danwilson/pen/JjaxYGJ)
---
#### [Nevíte, co je to „překvapník“‽](https://shadycharacters.co.uk/contents/)
note:
- anglicky interrobang
- nádherný blog pro typografické labužníky
- překvapník dle Wikipedie razí desginér Filip Blažek
---
#### [Penpot](https://penpot.app/)
note:
- klon Figmy vzniklý v reakci na akvizici Adobe
- funguje i offline, buď v Dockeru nebo Elestio
---
### CodePen
---
[Infinite loader](https://codepen.io/jkantner/pen/mdKOpbe) (animace SVG)
note:
- jak to funguje?!
---
[Pixelated image](https://codepen.io/andyfitz/pen/XWxWgyY)
- využívá vlastnost `image-rendering`
```css
transform-origin: 0 0;
transform: scale(6000, 1);
background-image:inherit;
image-rendering: pixelated;
transition: all 2s cubic-bezier(.5,0,0,1) ;
```
note:
- jednoduché a efektní
- vlastnost `image-rendering` se uplatní pouze pro obrázky, u nichž se liší zobrazovaná velikost od skutečné
---
Díky, prezentace během večera na [@frontendisti](https://twitter.com/frontendisti)