React jest bez wątpienia jednym z najpopularniejszych rozwiązań jeśli chodzi o wytwarzanie aplikacji Frontendowych. Od wielu lat można go znaleźć na szczycie najczęściej używanych bibliotek frontendowych,
Wykład ma na celu przybliżyć słuchaczom React'a i przekazać wiedzę pozwalającą na budowanie przy jego pomocy pierwszych aplikacji Frontendowych. Skupiać będziemy się głównie na podstawach oraz popularnych obecnie bibliotekach usprawniających pracę, jednak będziemy też zahaczać o tematy historyczne (jak np. Komponenty Klasowe) w celu lepszego zrozumienia ideologii React'a.
Program przedmiotu oparty będzie głównie na [Roadmapie Reactowej](https://roadmap.sh/react), choć wracać będziemy także do JavaScriptu, TypeScriptu i innych zagadnień związanych z Frontendem.
Podstawą zaliczenia kursu będą pracownie, na których studenci tworzyć będą proste aplikacje z użyciem React'a, mające na celu pokazanie umiejętności zastosowania koncepcji poznanych na wykładzie i zbudowanie własnego portfolio.
**Wymagania wstępne:** *Zaliczony [Kurs: Tworzenie aplikacji frontendowych](https://zapisy.ii.uni.wroc.pl/offer/3183-kurs-tworzenie-aplikacji-frontendowych/) lub [Kurs WWW](https://zapisy.ii.uni.wroc.pl/offer/kurs-www_108/). W ogólności **minimalne wymagania techniczne:** Podstawowa znajomość HTML'a, CSS'a i JavaScript'u. Pomocna będzie znajomość TypeScript'a.*
Orientacyjny program przedmiotu:
1. Podstawy React i środowisko React
1. TypeScript i React
1. React Router i alternatywy
1. Zarządzanie stanem
1. Nowoczense stylowanie (CSS-in-JS, SCSS, biblioteki)
1. Konsumowanie zewnętrznych API, React Query
1. Formularze, biblioteki
1. Testowanie aplikacji w React
1. Zaawansowane koncepcje (Suspense, Render Props, HOC, Hooks)
1. Techniki optymalizacji
1. *Next.js?*
*Powyższa lista jest orientacyjna: na niektóre tematy poświęcimy więcej czasu, na inne mniej, w zależności od potrzeb słuchaczy.*