SymfonyWorld 2020: zapowiedź
![](/posty/symfony-world-zapowiedz/sworld-2020.jpg)
Kilka słów podsumowujących konferencję Symfony World 2020. Krótko o wybranych prelekcjach, odbiorze i organizacji.
Minęło już trochę czasu od Symfony World 2020, a ja dopiero piszę podsumowanie. Nigdy tego nie potrafiłem. Wszelkie przemyślenia na temat konferencji czy prelekcji zostawiałem dla siebie. Tym razem spróbuję inaczej, dzieląc się spostrzeżeniami na temat wybranych wystąpień i samej konferencji.
Event odbył się na platformie Hopin. Wszystko pod ręką – prelekcje, rozkład jazdy, ścieżki tematyczne, miejsce dla sponsorów. Nawet opcja „networkingu”, gdzie dwie losowe osoby mogły się połączyć na żywo, porozmawiać i wymienić się spostrzeżeniami. Drobne problemy technicznie nie przeszkodziły w pozytywnym odbiorze konferencji.
Wszystkie prelekcje zostały nagrane przed rozpoczęciem konferencji, aby zapewnić jej płynny przebieg. Po zakończeniu wykładu (a często też przed), prelegenci byli dostępni i gotowi na pytania czy dorzucenie kilku informacji. Tutaj bez zmian, w porównaniu z konferencjami „on site”.
Autorzy: Fabien Potencier i Titouan Galopin
Kluczowe elementy:
Zaczęło się od zaprezentowania nowego dziecka: Symfony UX. Nareszcie jakieś narzędzie, które nie jest
Reactem, Vue czy innym Angularem. Przyznaję, z początku byłem dość sceptycznie nastawiony. No bo po co mam używać
jakiegoś dodatkowego narzędzia, skoro wystarczy mi stare dobre document.querySelector
? Ale Symfony UX to nie tylko JS.
To też połączenie między komponentami PHP i JS. Pod maską wszystkim steruje Stimulus.
Na dzień dobry otrzymaliśmy 5 komponentów:
I tu muszę przyznać, że połączeniem LazyImage, Dropzone i Cropper mnie kupili. No ale nie byłbym sobą, gdybym nie spróbował czegoś zrobić sam. Stwierdziłem, że skoro najprawdopodobniej będę już z tego z wymienionymi komponentami, to dlaczego czegoś nie napisać? Na pierwszy ogień poszedł prosty dropdown. Wiem, że jest już kilka implementacji z wykorzystaniem Stimulusa, ale chodziło o naukę… You know, for science!
import { Controller } from 'stimulus';
export default class extends Controller {
static targets = ['dropdown'];
isVisible = false;
toggle() {
this.dropdownTarget.style.display = this.isVisible ? 'none' : 'block';
this.isVisible = !this.isVisible;
}
hide(e) {
if (!this.element.contains(e.target) && this.isVisible) {
this.toggle();
}
}
}
<button data-action="dropdown#toggle click@window->dropdown#hide">
{{ user.name }}
</button>
<div style="display: none" data-target="dropdown.dropdown">
<a href="/logout">Logout</a>
</div>
10, no może 20 linijek i mamy dropdown, który można wpiąć w dowolnym miejscu. Nic, czego nie można osiągnąć za pomocą czystego JS w podobnym czasie. Po prostu ładnie opakowane.
Autor: Ryan Weaver
Kluczowe elementy:
Od wersji Symfony 5.1 dostępny jest nowy system Security. Nowy i uproszczony. Od dawna chciałem przejść ze starego
systemu na nowy i opisać to na blogu, ale nie było czasu i chęci na czytanie dokumentacji zmian. 30 minut na prelekcji i
wieczorem wdrożyłem. Koniec z pisaniem 3 klas odpowiedzialnych za logowanie użytkownika. Teraz wszystko można zmieścić w
1 klasie. Co ważne, nie ma już IS_AUTHENTICATED_ANONYMOUSLY
🙌. Teraz w listach dostępu można stosować
PUBLIC_ACCESS
.
Autor: Neal Brooks
Kluczowe elementy:
Nie ma czegoś takiego, jak „szablon DDD dla mojej aplikacji”. Jednak dla kogoś, kto zna DDD tylko z teorii, przedstawienie tego w taki sposób, jak zrobił to Neal może być gamechangerem. Maksymalnie uproszczony projekt, wyjaśnienie bounded context, aggregate i aggregate root, podział na komendy i handlery, wyodrębnienie domeny, logiki. Wszystko na tacy.
Kod, który powstał do dema w prezentacji dostępne jest na GitHub.
Mimo tego, że dużo informacji na konferencji powielało się już z moją wiedzą, nie żałuję wzięcia udziału. Nawet gdy wydaje mi się, że świetnie znam temat, coś może mnie zaskoczyć. Podobała mi się każda prelekcja, w której wziąłem udział (może po prostu dobrze trafiłem?).
Wszystkie prelekcje dostępne są dla uczestników na stronie replays.
A na koniec, kilka dni po Symfony World 2020 został ogłoszony plan SymfonyTour na pierwsze półrocze 2021 roku. Kolejna edycja World już w czerwcu, a po drodze 4 edycje lokalne (czyli odpowiedniki SymfonyLive), w tym SymfonyLive Online Poland 2021. Własny wykład nigdy nie był tak blisko…