12 kwietnia 2008

Warszawski dzień NetBeans RoadShow


Sobota była ostatnim dniem NetBeans RoadShow, w którym uczestniczę z prezentacją JSF 1.2 w wykonaniu NetBeans IDE 6.1. Tym razem w Warszawie i kolejny raz publiczność nie zawiodła - i pod względem frekwencji, jak i aktywności. Udało mi się zademonstrować 6 z 7 planowanych przykładów i z reakcji publiczności mogę mniemać, że ich liczba i skomplikowanie były odpowiednie. Z dobrym odbiorem spotkały się również pytania kontrolne, za które można było otrzymać koszulkę NetBeans. Na ostatni 7. przykład nie starczyło czasu, więc pozostawiłem go sobie na najbliższy artykuł (w zasadzie przedstawiłem go w większej części w poprzednim wpisie Nowości NetBeans IDE 6.1 - JSF CRUD Generator). Mimo wszystko powtórzę go w detalach niebawem. Kręcę się koło pomysłu napisania książki o Java EE 5 i tego typu artykuły obserwuję, że mogłyby być świetnym materiałem na książkę. Wiele osób pyta o podstawowe tematy związane z Java EE 5, których wyjaśnienie można znaleźć w wielu miejscach w Sieci, ale czy to ich liczba, czy brak powiązania między nimi, a może w końcu bariera językowa sprawiają, że początkujący, polscy programiści zainteresowani Korporacyjną Javą 5 nie mogą się w nich odnaleźć. Pomysł jest, a z realizacją...się zobaczy ;-)

Podczas dzisiejszej mojej prezentacji dowiedziałem się o ciekawej funkcjonalności NetBeans, która upraszcza tworzenie metod typu setter/getter. Do tej pory korzystałem z funkcji Refactor > Encapsulate Fields... lub Alt+Insert przy zdefiniowanej zmiennej instancji, a wystarczy po prostu zdefiniować ją i....Ctrl+Spacja.


Warto zwrócić uwagę na metody getKomunikat() oraz setKomunikat(String komunikat), które odpowiadają polu instancji komunikat. To jest ta rzecz, o której nie wiedziałem wcześniej. Miłe! Tego typu tricki, kiedy poznane, znacząco mogą skrócić czas tworzenia aplikacji. Kolejny plus publicznych wystąpień - nie tylko prelegent może coś przekazać słuchaczom, ale i w drugą stronę też to działa.

Niestety, nie udało mi się jednak odtworzyć problemu z wiązaniem stron JSF korzystając z edytora faces-config.xml, który pierwszy raz napotkałem na wczorajszej prezentacji w Krakowie. Na razie mam (i kilku z uczestników mojej krakowskiej prezentacji) świadomość jego istnienia, ale póki co, jest on głęboko schowany w czeluściach netbeansowego kodu. Na dzisiejszej prezentacji poszło wyjątkowo bezwyjątkowo ;-)

Wczoraj podczas mojego powrotu z Krakowa miałem możliwość wysłuchania podcastu w wykonaniu Romana Strobla i...no właśnie tego drugiego nazwiska nie pamiętam, w którym dowiedziałem się o funkcji, która do dzisiaj była niewielkiej dla mnie wartości - Undock Window (Alt+Shift+D). Dzięki uprzejmości Karola Harezlaka okazuje się, że może się ona przydać podczas pracy z wieloma (dwoma, trzema, czterema, ech, rozmarzyłem się) monitorami. Wtedy "rozszczepienie" okienek NetBeans może być nieocenione.


Korzystając z okazji posiadania tak licznej publiczności (naliczyłem około 80 osób) nie mogłem opanować się, aby nie pochwalić się moją nową wiedzą klawiszową. Szybko okazało się, że jestem bodajże ostatnim, który o tych skrótach klawiszowych nie wiedział (!) O zgrozo, dlaczego mi wcześniej nie powiedziano o nich. Tyle czasu poszło do kosza. Niedawno, całkiem przypadkiem, zademonstrowano mi możliwość kasowania całych wyrazów w Windows za pomocą klawisza Ctrl+Backspace oraz Ctrl+Delete. Zamiast ciągłego przyciskania klawisza Backspace, można po prostu wcisnąć klawisz Ctrl i...znowu oszczędzamy trochę czasu.

Na konferencji dowiedziałem się o wydaniu wersji NetBeans IDE 6.1 Release Candidate 1 (RC1), która szczęśliwie okazała się być wersją, którą prezentowałem podczas moich wystąpień krakowskiej i warszawskiej. Ja korzystałem z wersji rozwojowej z 2 dni wcześniej, na której wydaje się być oparte RC1. Mimo wszystko pobrałem ją, bo a nuż coś na koniec jeszcze dodano.

Zakończyliśmy prezentację o JSF 1.2 i NetBeans 6.1 kilkoma pytaniami, wśród których pojawiło się jedno o wsparcie dla Hibernate. Dla mnie Hibernate to jeden z wielu dostawców JPA (dostawca JPA jest w relacji JPA jak sterownik JDBC w stosunku do JDBC), więc zdawkowo odpowiedziałem, że być może skoro korzystam z JPA. Prawda jest taka, że tandem NetBeans-Hibernate nigdy nie był pod moją lupą i nie wiedziałem, czy w ogóle byłby możliwy. Dowiedziałem się, że istnieje wtyczka (wspierająca) Hibernate dla NetBeans 6.1, o której również wspomniano w Feature Highlights w dokumencie NetBeans IDE 6.1 Release Candidate Information w sekcji New Update Center Modules - Hibernate Framework Support. Dokument czytałem wcześniej, ale nie pamiętam, abym trafił na tę informację. Kolejna zaleta publicznych wystąpień, że nie tylko prelegent słuchaczom, ale i słuchacze prelegentowi coś wyjaśnią, przedstawią, czy wskażą.

Moja prezentacja JSF 1.2 w wykonaniu NetBeans IDE 6.1 z tegorocznego NetBeans RoadShow po Polsce dostępna jest do pobrania jako JacekLaskowski-NetBeansRoadShow-JSFiNetBeans61-11-12.04.2008.pdf.

Jutro ostatni dzień NetBeans RoadShow w Polsce, we Wrocławiu. Tam mnie jednak nie będzie, ale mimo wszystko zapraszam w imieniu organizatorów. Może ktoś podeśle linka z relacją jak było? Paweł?