Kurs: Tworzenie aplikacji frontendowych zima 2022/23

Język wykładowy Polski
Opiekun Kamil Matuszewski
Liczba godzin 30 (wyk.) 30 (prac.)
Rodzaj Kurs inżynierski
ECTS 5
Polecany dla I roku No
Egzamin No

Opis przedmiotu:

Choć frontend jest nieodłączną częścią większości aplikacji webowych, to proces jego wytwarzania znacząco zmienił się w ostatnich latach. Gwałtowny rozwój frameworków, bibliotek i preprocesorów sprawił, że programiści borykają się dziś z zupełnie innymi problemami niż jeszcze dekadę temu. Za zmianami ciężko jest nadążyć, nic więc dziwnego, że wiele osób nie rozumie z czym wiąże się rola Frontend Developera. Wykład ma na celu przybliżyć słuchaczom tę rolę i związane z nią odpowiedzialności, a także przekazać wiedzę umożliwiającą wytworzenie pierwszych frontendowych aplikacji. Poruszymy zarówno aspekty techniczne jak i te bardziej teoretyczne, by nie zależeć od konkretnych rozwiązań. Program przedmiotu będzie oparty na [Roadmapie Frontendowej](https://roadmap.sh/frontend). Przejdziemy przez interesujący podzbiór zagadnień, gdzieniegdzie dorzucając dodatkowe tematy. Poniższa lista tematów jest orientacyjna. W zależności od potrzeb, na niektóre z nich poświęcimy więcej (lub mniej) czasu. 1. Podstawy działania Internetu 1. HTML * Podstawy HTML * Dobre praktyki i konwencje * Formularze i walidacja 1. CSS * Podstawy CSS * Tworzenie Layoutu: Float, Grid, Flexbox, Positioning, Box Model * Responsywny design * Preprocesory CSS * BEM 1. JavaScript * Podstawy JavaScriptu * Manipulacja DOM * ES6+ * Zaawansowane pojęcia: Hoisting, Event Bubbling, Scope, Prototype, Shadow DOM * Event Loop * TypeScript 1. Komunikacja z Backendem * REST, *SOAP?*, *GraphQL?* 1. Menadżer Pakietów 1. Narzędzia * Bundlery: Webpack, EsBuild * NPM * Lintery i formatery 1. Frameworki/Biblioteki * Przegląd dostępnych opcji * Podstawy React'a 1. Nowoczesny CSS * Styled Components * CSS Modules * Frameworki CSS: Material, Bootstrap, inne? 1. Testowanie Aplikacji 1. Optymalizacja *Wymagania: podstawowa umiejętność programowania, podstawowa znajomość dowolnego systemu kontroli wersji*

Wykłady

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Kamil Matuszewski
śr 18:00-20:00 (s. 119) 55 72 2

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.

Pracownie

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Łukasz Piwowar
cz 10:00-12:00 (s. 110) 18 18 1
Kamil Matuszewski
pn 16:00-18:00 (s. 110) 18 18 8
Kamil Matuszewski
pn 18:00-20:00 (s. 110) 18 18 4
Radosław Miernik
wt 18:00-20:00 (s. 110) 18 18 2

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.


Konsultacje prowadzących:


Imię i nazwisko Pokój Konsultacje
Łukasz Piwowar 337 czwartek 12-14, pokój 337 (proszę o emaila)
Kamil Matuszewski 325 Termin do ustalenia przez maila, najlepiej soboty
Radosław Miernik 204 Zdalne lub w instytucie; proszę o wcześniejszy kontakt mailem.