Zwykłem we wcześniejszych miesiącach sporadycznie marudzić, że dlaczego jeszcze nie dłubiemy w Springu, że przecież Spring to standard współczesnych aplikacji webowych, że w zasobniku kompetencji juniora Spring być musi i basta. No i doczekałem się, w czwartym, przedostatnim miesiącu kursu w Software Development Academy wskoczyliśmy w Springa i… no cóż… cieszę się, że nastąpiło to tak późno.

Zapraszam do podsumowań poprzednich miesięcy:
Pierwszy miesiąc – Make it till you make it
Drugi miesiąc – Jest poważnie!
Trzecie miesiąc – goniąc króliczka

Odwracania kontroli, czyli dlaczego nie warto uczyć się frameworka bez solidnych podstaw


Gdy ktoś pyta czym zasadniczo jest framework, w głowie mam odpowiedź, którą podsłuchałem na podcaście DevTalk Trio – Andrzej Krzywda powiedział, że framework wywołuje nasz kod, a nasz kod wywołuje biblioteki.

Framework jest więc podstawowym mechanizmem odwrócenia kontroli i tak chyba najlepiej rozumieć ich istotę. Wpinamy nasz kod w silnik frameworka, który następnie obsługuje pozostałe warstwy aplikacji – połączenia sieciowe, bazy danych, autoryzację, etc.

Tak jak pisałem we wstępniaku – cieszę się, że Spring wszedł dopiero teraz. Bo zasadniczo bez solidnej znajomości tych właśnie „pozostałych warstw aplikacji”, czyli JDBC, Hibernate, JSP i Servletów to w Springu błądzi się jak we mgle. Teoretycznie mnogość istniejących tutoriali i poradników przeprowadzi Cię przez postawienie własnej aplikacji, ale w praktyce „bebechy” Springa są mega istotne i prędzej czy później nieznajomość podstaw Cię zablokuje.

Pierwsze dwa tygodnie czwartego miesiąca upłynęły właśnie na poznawaniu JDBC i Hibernate. Korzystając z wcześniej stworzonych baz danych w MySQL i MongoDB mapowaliśmy obiekty z użyciem zarówno JDBC i Hibernate, jak też tworzyliśmy do każdej prostego CRUD’a. Kolejny blok to bardzo szybkie i pobieżne prześlizgnięcie się przez technologie front-endowe – HTML,CSS, Angular. Zaledwie trzy zajęcia, które w większości poświęciliśmy na postawienie prostej apki w Angularze – co było o tyle spoko, że Angular (wersja 4) staje się jednym ze standardów w technologiach front-endowych, a co z drugiej strony było zupełnie bez sensu, bo nikt z nas nie ma pojęcia o pisaniu w TypeScripcie, więc większość pracy szła na zasadzie kopiuj – wklej.

No i Spring! W Springu – jeżeli ujarzmi się podstawowe adnotacje i strukturę – urzeka prostota wystawiania aplikacji. Już po chwili dostajemy coś „na pysk”, czyli w localhoście. Mamy to, możemy się nawet przeklikać i ostylować sobie stronki! 😉

Każde kolejne zajęcia to kolejne projekty w Springu – o coraz większym skomplikowaniu i z coraz szerszą strukturą. Miesiąc kończyliśmy deploymentem aplikacji Springowej na Heroku. Własna apka pod URL’em to kolejny ważny milestone – opiszę proces jej powstawania jeszcze w tym tygodniu.