Aktualność książki “JavaFX 9. Tworzenie graficznych interfejsów użytkownika”

Tekst książki jest aktualny na dziś, czyli 17 kwietnia 2021, przy uwzględnieniu uwag z poniższego artykułu.

Od czasu wydania mojej i taty książki, o której pisałam w artykule Kulisy powstania książki “JavaFX 9. Tworzenie graficznych interfejsów użytkownika”, pojawiły się kolejne wersje Javy i JavaFX troszkę się zmieniła (o tych zmianach możesz przeczytać w tekście Zmiany w JavaFX od JavaFX 9). Mimo to książka jest nadal aktualna, a ponieważ chcemy, żebyście mogli z niej swobodnie i wygodnie korzystać, wykorzystując najnowszą wersję JDK, w tym artykule opisujemy zmiany i udostępniamy zaktualizowane kody.

Zmiany w rozdziale 30 – Nashorn

“Rozdział 30. Nashorn”, poświęcony wersji JavaScript “Nashorn”, przeznaczonej dla JDK, stracił rację bytu w dniu 15 września 2020, wraz z pojawieniem się JDK 15, z którego Nashorn został ostatecznie usunięty.

Zmiany w rozdziale 34 – FXML

W tym rozdziale pojawia się kilka przykładów, pokazujących obsługę przycisków przy użyciu JavaScript Nashorn. W związku z usunięciem Nashorna, przykłady te od wersji JDK 15 już nie działają.

Zmiany w rozdziale 36 – modularyzacja

“Rozdział 36. Modularyzacja” tylko pośrednio dotyczy JavaFX. Kiedy pisaliśmy książkę, było to zagadnienie nowe, wymagające dokładniejszego omówienia. Dzisiaj wszyscy ten temat znają, a w Internecie jest mnóstwo dobrych materiałów przybliżających związane z nim problemy. Dlatego gdybyśmy wydawali nową wersję książki, ten rozdział zostałby prawdopodobnie usunięty. Mimo to wszystko, co w nim powiedziano, jest nadal aktualne.

Zmiany w kodzie

Kod projektu został przejrzany, sprawdzony i zweryfikowany zgodnie z powyższymi uwagami. Zmiany w kodzie w stosunku do wersji pierwotnej są następujące:

  • Ścieżki do plików obrazków, które zaczynały się od ‘src/’, teraz zaczynają się od ‘JavaFX9/src/’ ze względu na zmiany w układzie modułów.
  • Usunięto Rozdział 30. “Nashorn” ze względu na usunięcie tego języka z JDK.
  • W przypadku urli ścieżka zmienia się z:
    URL url = this.getClass().getClassLoader().getResource("JavaFX9/src/resources/html/alert.html");
    na:
    URL url = this.getClass().getResource("/resources/html/alert.html");
  • Z powodu usunięcia języka Nashorn usunięto pliki:
    • Listing34_05.java oraz /resources/listing34_05.fxml
    • Listing34_06.java oraz /resources/listing34_06.fxml
    • Listing34_07.java oraz /resources/listing34_07.fxml
    • Listing34_08.java oraz /resources/listing34_08.fxml
    • Listing34_12.java oraz /resources/listing34_12.fxml
  • Folder ‘math’ dołączono do projektu jako moduł.
  • W module ‘math’ dodano brakujący folder ‘assets’
  • Pominięto projekty od Rozdzial36_1 do Rozdzial36_6. Nie wymagają one poprawek i można je ściągnąć ze strony Helionu.

Nowy kod

Poprawiony i zaktualizowany kod w postaci projektu IntelliJ IDEA możecie ściągnąć stąd:

UWAGA!
Jeżeli korzystacie z Google Chrome, przy pobieraniu mogą się pojawić ostrzeżenia o treści: “Plik JavaFX9.zip jest rzadko (albo: nie jest często) pobierany i może być niebezpieczny”. Możecie je zignorować – w plikach nie ma nic niebezpiecznego, a ostrzeżenie pojawia się ze względu na to, że zip zawiera pliki *.iml, charakterystyczne dla projektów IntelliJ IDEA, które są rzadko przesyłane.

Jeżeli w IntelliJ Idea będzie środowisko o nazwie “15” (czyli Open JDK 15.0.2) oraz biblioteka globalna o nazwie “javafx” (JavaFX 15.0.1), nie będziecie mieć problemu z importem projektu.

Do projektu trzeba dodać (tak jak się dodaje bibliotekę) dwa pliki *.jar obecne w folderze src/resources/jars.

W pliku do ściągnięcia nie umieszczano materiałów dotyczących rozdziału 36. Nie wymagały one żadnej zmiany i właściwie są już mało użyteczne, choć wciąż aktualne. Jeśli potrzebujesz – możesz użyć kodów dostępnych na stronie książki w Wydawnictwie Helion.

Nasza książka o JavaFX

Nasza książka o JavaFX już dostępna na stronie Helionu. Bardzo ją Wam polecam. Mimo że dotyczy Javy 9, jest kompatybilna z najnowszą wersją JavaFX, z uwzględnieniem zmian, o których czytaliście w powyższym tekście. Jest napisana przystępnym językiem, tłumaczy zagadnienia w prosty, jasny sposób i pozwala szybko nauczyć się korzystania z funkcjonalności JavaFX. Można ją traktować jako podręcznik, czytając krok po kroku, ale też nic nie stoi na przeszkodzie, by korzystać z niej, szukając konkretnych zagadnień.

Oprócz książki Helion udostępnia też pliki z kodami źródłowymi. Warto je pobrać, bardzo się przy nich napracowaliśmy, ale w efekcie powstał kod, który ułatwia zrozumienie treści znajdujących się w książce. Wszystkie kody można uruchomić i zobaczyć w praktyce, jak działają poszczególne elementy JavaFX. Pliki znajdują się tutaj:

Zmiany w JavaFX od JavaFX 9

Od czasu wydania mojej i taty książki, o której pisałam w artykule Kulisy powstania książki “JavaFX 9. Tworzenie graficznych interfejsów użytkownika”, pojawiły się kolejne wersje Javy i JavaFX troszkę się zmieniła. Nie są to duże zmiany, ale warto o nich wspomnieć.

Zmiany w JavaFX 10

W JavaFX 10 nie było żadnych zmian w stosunku do Java 9. JavaFX została jedynie przeniesiona z Oracle do OpenJFX.

Zmiany w JavaFX 11

JavaFX 11 stała się zestawem modułów oddzielonych od JDK 11, wymaga jednak obecności przynajmniej OpenJDK 10, a najlepiej JDK 11, które jest rekomendowane.

Od tej wersji autonomiczne (standalone) moduły javafx.* są ładowane przez ładowarkę klas aplikacji i domyślnie nie wymagają zezwoleń (permissions). Aplikacje, które mają być uruchamiane z menedżerem bezpieczeństwa muszą specyfikować plik polityki bezpieczeństwa używając “-Djava.security.policy”, a także udzielając pozwolenia na każdy moduł javafx.*.

Więcej informacji na ten temat znajdziesz na stronie JDK-8210617.

W tej wersji naprawiono też niektóre błędy i wprowadzono szereg rozszerzeń, ich listę znajdziesz tu: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 11.

Najważniejszą zmianą jest dodanie FX Robot API z klasą javax.scene.robot. Robot w module javafx.graphics.

Zmiany w JavaFX 12

W wersji JavaFX 12 brak przełomowych zmian. Listę rozszerzeń i naprawionych błędów znajdziesz tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 12.

Warte zauważenia jest dodanie obsługi File API oraz FileReader w WebView.

Zmiany w JavaFX 13

Ta wersja nie wnosi nic szczególnie istotnego. Lista rozszerzeń i naprawionych błędów znajduje się tu: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 13.

Zmiany w JavaFX 14

W wersji JavaFX 14 nadal brak przełomowych zmian. Listę rozszerzeń i naprawionych błędów znajdziecie tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 14.

Warte zauważenia jest wprowadzenie obsługi HTTP/2 do WebView.

Zmiany w JavaFX 15

Również i w tej wersji nie pojawiło się nic szczególnie istotnego. Listę rozszerzeń i naprawionych błędów dla JavaFX 15 znajdziecie tu: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 15, a dla JavaFX 15.0.1 tu: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 15.0.1.

Zmiany w JavaFX 16

Listę rozszerzeń i naprawionych błędów dla JavaDX 16 znajdziecie tutaj: lista naprawionych błędów oraz lista rozszerzeń dla JavaFX 16.

W tej wersji pojawia się dość istotna zmiana: od teraz JavaFX musi być załadowana z modułów umieszczonych na ścieżce modułów (MODULEPATH). Nie może być ładowana ze ścieżki klas (CLASSPATH).

Oprócz tych zmian w JavaFX 16 pojawił się też odkryty przez nas błąd. Do wykonania kodu tworzenia migawek zawierajacych linię
BufferedImage bi = SwingFXUtils.fromFXImage(wi, null);
wymagane są moduły java.desktop i javafx.swing. Niestety, ‘module-info.java’ wyrzuca komunikat pokazany na obrazku poniżej:

Komunikat: Module 'rozdzial07c' reads package 'java.applet' from both 'java.desktop' and 'java.desktop'

Usunięcie linii dotyczącej ‘java.desktop’ niczego nie zmienia, ale kod mimo wszystko się wykonuje. Prawdopodobną przyczyną komunikatu jest błąd w module ‘javafx.swing’. Problem występuje tylko w JavaFX 16, we wcześniejszych wersjach JavaFX się nie pojawia.

Nasza książka o JavaFX

Nasza książka o JavaFX już dostępna na stronie Helionu. Bardzo ją Wam polecam. Mimo że dotyczy Javy 9, jest kompatybilna z najnowszą wersją JavaFX, z uwzględnieniem zmian, o których czytaliście w powyższym tekście – ich realizację znajdziecie w artykule Aktualność książki “JavaFX 9. Tworzenie graficznych interfejsów użytkownika”. Książka jest napisana przystępnym językiem, tłumaczy zagadnienia w prosty, jasny sposób i pozwala szybko nauczyć się korzystania z funkcjonalności JavaFX. Można ją traktować jako podręcznik, czytając krok po kroku, ale też nic nie stoi na przeszkodzie, by korzystać z niej, szukając konkretnych zagadnień.

Oprócz książki Helion udostępnia też pliki z kodami źródłowymi. Warto je pobrać, bardzo się przy nich napracowaliśmy, ale w efekcie powstał kod, który ułatwia zrozumienie treści znajdujących się w książce. Wszystkie kody można uruchomić i zobaczyć w praktyce, jak działają poszczególne elementy JavaFX. Pliki znajdują się tutaj:

Stawiłem sobie pomnik trwalszy niż ze spiżu

“Stawiłem sobie pomnik trwalszy niż ze spiżu.
Od królewskich piramid sięgający wyżej;
Ani go deszcz trawiący, ani Akwilony
Nie pożyją bezsilne, ni lat niezliczony

Szereg, ni czas lecący w wieczności otchłanie.
Nie wszystek umrę, wiele ze mnie tu zostanie
Poza grobem. Potomną sławą zawsze młody,
Róść ja dopóty będę, dopóki na schody

Kapitolu z westalką cichą kapłan kroczy.
Gdzie z szumem się Aufidus rozhukany toczy,
Gdzie Daunus w suchym kraju rządził polne ludy,
Tam o mnie mówić będą, że ja, niski wprzódy,

Na wyżyny się wzbiłem i żem przeniósł pierwszy
Do narodu Italów rytm eolskich wierszy.
Melpomeno, weź chlubę, co z zasługi rośnie,
I delfickim wawrzynem wieńcz mi skroń radośnie”.

Horacy “Exegi monumentum”, tł. Rydel

Photo by Greg Reese on Pixabay

Ta książ­ka ła­god­nie mnie na­po­mi­na

“Ta książ­ka ła­god­nie mnie na­po­mi­na nie po­zwa­la
bym zbyt szyb­ko biegł w takt to­czą­cej się fra­zy
każe wró­cić do po­cząt­ku wciąż za­czy­nać od nowa

Od pół wie­ku tkwię po uszy w Księ­dze pierw­szej roz­dział trze­ci wers VII
I sły­szę głos: ni­g­dy nie po­znasz Księ­gi do­kład­nie
po­wta­rzam li­te­rę po li­te­rze – ale mój za­pał czę­sto ga­śnie

Cier­pli­wy głos książ­ki po­ucza:
naj­gor­szą rze­czą w spra­wach du­cha jest po­śpiech
i jed­no­cze­śnie po­cie­sza: masz lata przed sobą

Mówi: za­po­mnij ze cze­ka cie­bie jesz­cze dużo stro­nic
To­mów łez bi­blio­tek czy­taj do­kład­nie roz­dział trze­ci
W nim bo­wiem jest klucz i prze­paść po­czą­tek i ko­niec

Mówi: nie ża­łuj oczu świec in­kau­stu prze­pi­suj sta­ran­nie
wer­set za wer­se­tem a ko­piuj ści­śle jak­byś od­bi­jał w lu­strze
sło­wa nie­zro­zu­mia­le wy­bla­kłe o tro­ja­kim zna­cze­niu

My­ślę z roz­pa­czą że nie je­stem ani zdol­ny ani dość cier­pli­wy
bra­cia moi są bie­glej­si w sztu­ce
sły­szę ich drwi­ny nad gło­wą wi­dzę szy­der­cze spoj­rze­nia

o póź­nym zi­mo­wym świ­cie – kie­dy za­czy­nam od nowa”.

Z. Herbert “Książka”

Rdz 3,7: “A wtedy otworzyły się im obojgu oczy i poznali, że są nadzy; spletli więc gałązki figowe i zrobili sobie przepaski.”

Photo by Mystic Art Design on Pixabay

Gdyby nuta powiedziała: jedna nuta nie czyni muzyki

“Gdyby nuta powiedziała: jedna nuta nie czyni muzyki… nie byłoby symfonii.
Gdyby słowo powiedziało: jedno słowo nie tworzy stronicy… nie byłoby książki.
Gdyby cegła powiedziała: jedna cegła nie tworzy muru… nie byłoby domu.
Gdyby kropla wody powiedziała: jedna kropla nie może utworzyć rzeki… nie byłoby oceanu.
Gdyby ziarno zboża powiedziało: jedno ziarno nie może obsiać pola… nie byłoby żniwa.
Gdyby człowiek powiedział: jeden gest miłości nie ocali ludzkości… nie byłoby nigdy na ziemi sprawiedliwości i pokoju, godności i szczęścia.
Jak symfonia potrzebuje każdej nuty,
Jak książka potrzebuje każdego słowa,
Jak dom potrzebuje każdej cegły,
Jak ocean potrzebuje każdej kropli wody,
Jak żniwo potrzebuje każdego ziarna zboża,
Tak cała ludzkość potrzebuje ciebie”.

M. Quoist

Dziewczyny kodują, czyli powieści dla przyszłych programistek

Reshma Saujani, założycielka organizacji Girls Who Code, napisała, że

“[…] brakuje książek, które opisywałyby, jak to jest być dziewczyną programistką. Zawsze powtarzam, że nie można stać się kimś, kogo w życiu się nie widziało. Ani o kim nic się nie czytało. Musimy czytać o dziewczynach takich jak my, żeby mieć odwagę próbować nowych rzeczy!” – “Kod przyjaźni”, s. 5-6).

Cóż, teraz już nie brakuje – książki Stacii Deutsch “Kod przyjaźni” i “Przyjaciółki rządzą” wypełniają tę lukę, a sądząc z komunikatu na końcu drugiego tomu serii, będzie ona kontynuowana.

O czym są te książki?

Książeczki z serii “Dziewczyny kodują” to powieści dla dziewczynek w wieku 10 – 12 lat. Opowiadają o czterech (a w drugim tomie – pięciu) przyjaciółkach, które zaczęły się uczyć kodowania. A jednocześnie przemycają pewną dawkę wiedzy programistycznej – głównie dotyczącej sposobów myślenia, ale też pseudokodu i terminologii. Książki są ciekawe, a bohaterki zróżnicowane – co jest bardzo ważne, bo pokazuje, że “programować każdy może”. Narratorką każdej z książek jest inna dziewczynka z tej samej grupy, co pozwala przyjrzeć się stworzonemu światu z różnych perspektyw.

W pierwszym tomie dziewczynki znajdują tajemnicze listy, w których otrzymują zadania do wykonania. Zadania są oczywiście związane z programowaniem – listy zapisane są pseudokodem. Jednocześnie czytelniczka jest ostrożnie wprowadzana w tajniki myślenia programistycznego oraz podstawowych elementów pseudokodu. W kolejnym tomie dziewczynki biorą udział w hakatonie – konkursie programistycznym, w którym ich zadaniem jest zaprogramować robota tak, by przeszedł przez labirynt. Jednocześnie pojawiają się kolejne terminy oraz prezentowany jest sposób, w jaki tworzy się oprogramowanie.

Trochę zastrzeżeń

Chociaż książki są dobrze napisane i nie zawierają błędów merytorycznych, pewne moje zastrzeżenia budzi tłumaczenie elementów pseudokodu na polski. Pojawia się ono tylko w pierwszym tomie – był to trudny wybór tłumaczki, która musiała zdecydować się albo na formę angielską, która mogłaby być niezrozumiała dla nieznającej angielskiego dziewczynki, albo na formę polską, która jednak odbiera temu fragmentowi część wymiaru edukacyjnego. W drugim tomie w analogicznej sytuacji pojawia się już słówko angielskie.

Drugie moje zastrzeżenie to trochę zbyt skomplikowany język, którym napisana jest jedna z definicji pod koniec książki – nie jestem pewna, czy czytająca dziewczynka zrozumie o co chodzi. To jednak są drobiazgi.

Czy warto podarować dziewczynce książkę z serii “Dziewczyny kodują”?

Książki same w sobie przedstawiają pewną wartość merytoryczną, przekazują podstawową wiedzę zarówno o podstawowych terminach związanych z kodowaniem, jak i o potrzebnym do tego sposobie myślenia. Są też ciekawe. Nie to jednak stanowi o ich wartości. Moim zdaniem najważniejsze jest to właśnie, co powiedziała cytowana wyżej Reshma Saujani – pokazują, że programowanie jest także dla dziewczynek, i że może być dla nich świetną zabawą. I że może się nim zajmować każdy. Nieważne, czy jest dziewczynką, czy chłopcem, typem strojnisi czy sportsmenki. Kodować każdy może.

Książki burzą też mit samotnego, niechętnego ludziom programisty-ekscentryka i pokazują, że programowanie to tak naprawdę często praca zespołowa. A tym samym zachęcają dziewczynki do podjęcia pierwszych prób. I to właśnie liczy się dla mnie w tych powieściach najbardziej.

Wszystkie cytaty w tekście pochodzą z książkek Stacii Deutsch “Kod przyjaźni” i “Przyjaciółki rządzą” z serii “Dziewczyny kodują”. Tł. K. Rosłan, Warszawa 2017.

“Jak poruszyć niebo”

Bóg się spóźnia. Przecież tyle się modliłam, tyle prosiłam. Przecież obiecał – “o cokolwiek prosić będziecie”… A tu nic. Cisza. Nic się nie dzieje.

Jak to się zaczęło?

Po książkę “Jak poruszyć niebo” Marcina Jakimowicza sięgnęłam całkowitym przypadkiem. Albo zrządzeniem Bożym, jak kto woli. Nie miałam pomysłu, co poczytać spośród sterty czekających na przeczytanie książek. Krótka modlitwa: “wskaż mi, co poczytać”… i książka była już w ręku. Pochłonęłam ją niemal od razu w całości, zaznaczając do zapisania w cytatniku chyba z pół książki. Najbardziej jednak poruszył mnie sam początek, który zdawał się odpowiadać na moje wątpliwości i wahania.

Martwa sytuacja nie jest martwa

Książka mówi o różnych doświadczeniach wiary. O poczuciu bezsensu, o momentach, kiedy wszystko idzie nie tak, kiedy jesteśmy mali i wydaje nam się, że nic się nie dzieje, a Boże obietnice to jakaś pomyłka. Mówi o tym, że to jednak ma sens. Że dokądś prowadzi. Przypomina, że logika Boga różni się od logiki człowieka. Że nawet śmierć – zarówno ta rozumiana dosłownie, jak i ta metaforyczna – nie jest końcem.

“Jeśli spóźniający się cztery dni do Betanii Jezus zapowiada, że choroba Łazarza «nie zmierza ku śmierci», to znaczy, że martwa sytuacja, w której tkwimy po uszy, skończy się ostatecznie eksplozją życia. Koniec, kropka. Nawet jeśli po kilku dniach wydaje się, że jest już «po ptokach».” (s. 12 – 13).

Książka przypomina też, że Bóg chce i lubi być proszony – i że zawsze wysłuchuje naszych próśb, w ten czy inny sposób. Bóg nie zawodzi!

“Jeśli On coś obiecał, dotrzyma słowa. Sam raczy wiedzieć kiedy.” (s. 16).

I jeśli jeszcze nie odpowiedział na twoje modlitwy, to znaczy, że ma powód. Może czeka na właściwy moment. Może czeka, aż będziesz gotowy na przyjęcie Jego łaski. A może to wszystko jest po prostu próbą…

“Zaufaj! Każda próba jest po coś. Każda dolina jest po to, by Bóg mógł cię jeszcze wyżej wynieść.” (s. 132).

Pieniądze się nie liczą

Wyobraź sobie taką sytuację: zwolniono cię z pracy, nie możesz znaleźć drugiej. Ale z czegoś żyć trzeba, jedzenie kosztuje, mieszkanie kosztuje… Zaczynasz mieć długi. Albo zostaje ci ostatnia złotówka. I wtedy przychodzi ktoś, kto cię o tę ostatnią złotówkę prosi. Co robisz?

Pieniądze się nie liczą – tak uczy Biblia. Jeśli my nie będziemy niczego żałować Bogu i bliźnim, to i On nam nie pożałuje. Mówił mi to kiedyś jeden ze znajomych, przeczytałam to również w książce Jakimowicza. I przyznaję, że mnie to nie przekonuje 😉 Niby w to wierzę, ale jednocześnie nie ma we mnie tyle zaufania, żebym potrafiła oddać ostatni grosz żebrakowi, tak jak zrobił to na moich oczach wspomniany znajomy, który w tamtym momencie był dokładnie w sytuacji opisanej wyżej. Z jednej strony odebrałam to jako piękne. Z drugiej – jako głupie.

Co robić?

Książka daje konkretne wskazówki (zgodnie z obietnicą w podtytule), co robić, kiedy nie wiemy, co robić. Odpowiedź jest bardzo prosta:

“Nie wykonujcie nerwowych ruchów […] – Czekajcie na Jego odpowiedź w waszej sprawie. Jeśli jesteście pasterzami, wróćcie do pasienia owiec.” (s. 16).

A skoro czekać na odpowiedź – to najpierw trzeba zapytać, prawda? Autor pisze więc i o modlitwie. Ta część zrobiła na mnie spore wrażenie. Problem rozproszeń na modlitwie jest dla mnie bardzo trudny, często łapię się na tym, że odmówiłam dziesiątkę różańca i nawet nie pamiętam którą, bo moje myśli błądziły gdzieś daleko. A tymczasem

“Modlitwa pełna roztargnień jest na ogół bardziej upokarzająca niż modlitwa w skupieniu, dlatego przynosi więcej chwały Bogu, mniej nam, później zaś stwierdzamy, że zyskaliśmy więcej dobra.” (cytat ze słów Johna Chapmana), s. 137).

Bo to nie my mamy działać. My mamy zaufać. Mamy iść za głosem Boga. A On załatwi resztę. Co wcale nie znaczy, że będzie łatwo, niestety…

Bóg się nami opiekuje

Jak zauważa autor, dziecku nie przychodzi do głowy, żeby prosić rano tatę (lub mamę) o to, by się nim cały dzień opiekował. Ono i tak wie, że rodzic będzie to robił. To oczywiste i nie trzeba o to prosić. Mówienie Bogu, co ma robić, co jest dla nas dobre, nie jest naszym zdaniem – On wie to lepiej od nas. My mamy tylko starać się jak najlepiej przeżywać nasze życie. Takie, jakim jest. Cierpliwie nosić krzyże. I kochać. Przede wszystkim kochać. Boga i bliźnich. A szczególnie tych, którzy najmocniej nas skrzywdzili. Wszystko inne załatwi On.

Wszystkie cytaty w tekście pochodzą z książki Marcina Jakimowicza “Jak poruszyć niebo? 44 konkretne wskazówki”. Kraków 2018.


Jeśli interesuje cię temat modlitwy, zachęcam cię do przejrzenia również wpisu dotyczącego książki “Jutro ma na imię Bóg”

Miłość za murami Auschwitz

Miłość. Obóz zagłady. Obrotny żyd. I – co najlepsze – to wszystko prawdziwa historia.

Jak to się zaczęło?

Lektura książki “Tatuażysta z Auschwitz” Heather Morris jest efektem przypadkowej wizyty w księgarni. Szłam na zajęcia, miałam jeszcze czas, mijałam księgarnię. Skusiło mnie. Weszłam. Wśród książek na półkach rzuciła mi się w oczy właśnie ta. Kupiłam. Przeczytałam jednym tchem. Tak można tę historię streścić.

Książka jest oparta na faktach. Pewien stary mężczyzna, po śmierci ukochanej, postanowił opowiedzieć historię swojej miłości. Miłości niezwykłej i trudnej, bo narodzonej w świecie śmierci – za murami Auschwitz.

Kim jest on?

Bohaterem książki jest młody Żyd – Lale. Mężczyzna – jak wielu Żydów – cwany i obrotny. Udaje mu się wkręcić na intratne stanowisko – tatuuje numery na ramionach przybywających do obozu więźniów, mężczyzn i kobiet. Nie jest to łatwe zajęcie, wymaga nie tylko zadawania i tak już wymęczonym więźniom dodatkowego bólu, ale też ciągłych kontaktów z Niemcami. A takie kontakty to ryzyko.

A kim ona?

Gita pojawia się w życiu Lalego jako podsunięte do tatuowania ramię.

“Kiedy kończy, przez moment trzyma ramię dziewczyny w dłoni i spogląda na nią. Zmusza się do nieśmiałego uśmiechu. Ona odpowiada jeszcze bardziej nieśmiało, ale oczy jej błyszczą. Kiedy Lale w nie zagląda, czuje, jak serce zatrzymuje mu się na chwilę, po czym zaczyna bić mocno, jakby po raz pierwszy w życiu, niemal wyrywając mu się z piersi. Z trudem odrywa wzrok od jej oczu i wbija go w ziemię.” (s. 10).

Lale nie wie o dziewczynie nic. Nie zna jej imienia, nie wie, do którego bloku trafiła. Wie tylko, że spotkał miłość swojego życia. I zaczyna jej szukać.

Jak okazać miłość, gdy nie masz nic?

Jak to zwykle bywa, miłość do Gity popycha Lalego do działania, które przynosi mu sukces – nie tylko w miłości, ale i w obozowym życiu. Zaczyna się od marzenia, by ukochanej dziewczynie przynieść kawałek luksusu – kostkę czekolady. Jak ją zdobyć, gdy nawet o chleb jest ciężko? Jak przekupić kapo i zdobyć czas, który można spędzić z ukochaną? Jak uchronić ją przed śmiercią i cierpieniem?

Co dalej?

Nie zdradzę Wam, co Lale zrobił, by wygrać swoją miłość. Dość wspomnieć, że miał w tym udział pewien Niemiec, kliku Polaków i wielu, wielu więźniów. Co się działo? Przeczytajcie sami.

Książka jest pisana w spokojnym, delikatnym stylu. Nie ma w niej drastycznych opisów, choć wspominane jest bestialstwo i tragedie obozowego życia. Narracja prowadzona jest jednak jakby trochę z dystansu – być może dlatego, że książki nie pisał Lale, a kobieta, która wysłuchała jego historii. No i głównym tematem książki nie jest zagłada, ale miłość. Miłość, która umie przebić sobie drogę nawet tam, gdzie króluje śmierć.

Nie tylko miłość

Oprócz wątku miłości dwojga ludzi, w książce pojawia się wiele równie ciekawych wątków – przyjaźni, także tych jednostronnych, relacji, które nie miałyby szansy powstać, gdyby nie obóz. Wątkiem, który był dla mnie istotny jest np. “przyjaźń” Lalego z jednym z Niemców. W cudzysłowie, bo jest to przyjaźń dziwna, trochę jednostronna, taka ni to przyjaźń, ni to biznesowa relacja – bardzo autentyczna w swojej wymowie, i jakże często spotykana również współcześnie.

W moim odczuciu książka naprawdę warta jest przeczytania. Nie brakuje w niej sytuacji dramatycznych, jak ciężka choroba Gity, ale akcja dzieje się spokojnie, kładzie nacisk przede wszystkim na psychologię człowieka. Pokazuje, że w obozach, oprócz okrucieństw, było też po prostu zwyczajne życie. Byli zwyczajni ludzie – i po jednej, i po drugiej stronie. Nie tylko wielcy bohaterowie i wielcy zbrodniarze, ale też zwykli, szarzy, wrażliwi ludzie, którzy chcieli po prostu żyć, kochać, przetrwać jakoś ten zły czas i wrócić do normalności. I niektórym się udało. Tak jak Lalemu.

Wszystkie cytaty w tekście pochodzą z książki H. Morris “Tatuażysta z Auschwitz”. Warszawa 2018.

Z ciekawszych tekstów dotyczących książki polecam wywiad z autorką książki, inny wywiad można znaleźć też na stronie Interii.

Czasem, jak w opisanej książce, piękna miłość musi przetrwać straszne warunki. A czasem to właśnie “miłość” (tak, taka w cudzysłowie) stwarza straszne warunki. O takiej miłości mówi książka Teresy Ewy Opoki „Żona psychopaty”.