[K] JetBrains

Dziś może trochę nietypowy wpis, dotyczący pewnego pakietu oprogramowania dla developerów, którego mam przyjemność używać od jakiegoś czasu. Chodzi o All Pack firmy JetBrains, a konkretnie o trzy produkty znajdujące się w tym pakiecie: IntelliJ IDEA, PHP Storm oraz DataGrip.

IntelliJ IDEA

Początkowo było tu porównanie IntelliJa z Eclipsem (obu środowisk używałem przez wiele lat), jednak postanowiłem wypisać tylko te rzeczy, które podobają mi się w produkcie JetBrains i sprawiły, że do Eclipse'a siadam tylko wtedy, kiedy nie ma innego wyjścia.

Czym według mnie IntelliJ wygrywa? Zacznę trywialnie: wyglądem i to nie żart. Osobiście preferuję ciemny layout aplikacji (tak mam skonfigurowanego Photoshopa, TotalCommandera, ciemny layout był też sporym plusem SublimeTexta), bo mniej męczy oczy (moje). Temat "Darkula" w IntelliJ jest świetny, a jak do tego dołoży się czcionkę Fira Code, to mogę nawet klepać inserty do bazy danych.

Druga rzecz, wygoda programowania. Środowisko jak tylko może, ułatwia programiście pracę. Podpowiadanie składni, szablony, wykrywanie powiązań, automatyzacja budowania projektu, bardzo wygodny edytor z mnóstwem ułatwień (wyszukiwanie kontekstowe, pliki-szkice, duży nacisk na wykorzystanie klawiatury, przyjazny refactoring). Do tego dochodzą "smaczki" - np. oznaczamy zawartość jakiejś stałej jako kod HTML i od tej pory możemy edytować ją w osobnym, dedykowanym edytorze. Albo oznaczamy stałą jako wyrażenie regularne i od tej pory możemy łatwo i szybko sprawdzać poprawność działania tego wyrażenia w małym, podręcznym okienku (koniec z kopiowaniem go na jakieś stronki WWW, zabawy z backslashami itp.)

Trzecia rzecz dotyczy stabilności. W ciągu ostatnich pięciu lat, kiedy używałem IntelliJ, sytuacje awaryjne mógłbym policzyć na palcach jednej dłoni - to dla mnie bardzo dobry wynik. Już Photoshop i Lightroom częściej odmawiały współpracy, a przecież rzadko siedziałem przy nich po 8 godzin bez przerwy.

Zachęcam chętnych do wypróbowania wersji trial IntelliJ - mimo że istnieje darmowa odmiana Community, jest ona na tyle okrojona, że warto testować wersję pełną.

PHP Storm

Uf, rozpisałem się, więc teraz postaram się streszczać. PHP Storm to IDE oparte na tym samym rdzeniu, co IntelliJ - oznacza to identyczny wygląd i rozmieszczenie poleceń w menu, te same skróty klawiaturowe i sposób pracy. Wcześniej do prac nad stronami w PHP wykorzystywałem zwykłe, proste edytory (w ostatnim roku - SublimeText z pluginem SFTP), próbowałem także (bez wielkich sukcesów) stosować środowisko zbudowane na bazie Eclipse'a. Do prostych prac to wystarczało, jednak ostatnio zacząłem pisać system katalogowania książek i potrzebowałem trochę większego wsparcia.

PHP Storm sprawdza się w roli środowiska pracy znakomicie. Bez problemów znajduje powiązania między plikami, podpowiada składnię, wykrywa błędy. Dopóki nie potrzebujemy korzystać z baz danych, można nawet nie mieć zainstalowanego lokalnie serwera WWW, bo PHP Storm ma taki wbudowany.

Dla mnie najprzydatniejsze okazały się dwie funkcje: uruchamianie z wykorzystaniem zewnętrznego serwera Apache (prosty deploy do katalogu serwera i automatyczne odpalenie strony w przeglądarce) oraz deploy na serwer docelowy. Dzięki temu nie muszę już sam przenosić odpowiednich plików z wykorzystaniem TotalCommandera czy innego klienta FTP.

Bardzo pomocne jest też podpowiadanie składni i prosty, automatyczny refaktoring kodu (np. wpisujemy w klasie wywołanie jej metody, a edytor sam zamienia je na notację wykorzystującą $this->). Dodatkowo BARDZO miłe jest powiązane kodu z plikami CSS - jeśli mamy zdefiniowany jakąś klasę stylu, edytor podpowiada ją w innym miejscu.

Na razie jeszcze nie wykorzystywałem możliwości debuggowania, ale wchodzę właśnie w taką fazę prac, że będę musiał dowiedzieć się, jak to robić w PHP Storm - widziałem kilka obiecujących opcji.

DataGrip

Przyznam, że ten program był dla mnie wielką, bardzo przyjemną niespodzianką. Do tej pory nie korzystałem z możliwości pluginu Database w IntelliJu, zamiast tego męcząc się z SQLDeveloperem. DataGrip jest właśnie nieco rozbudowanym pluginem Database, który można kupić osobno i który zawiera chyba wszystkie funkcjonalności dostępne w SQLDeveloperze, tylko zrobione... lepiej. Obejrzyjcie filmik, a zaczniecie się zastanawiać nad migracją, naprawdę.

Ponownie, mamy tu do czynienia z analogicznym środowiskiem, co w PHP Storm i IntelliJu. Definiujemy połączenie do bazy danych (wspieranych jest wiele formatów, od Oracle'a, przez SQL Server, MySQL, MariaDB po Sybase, Derby, DB2 czy PostgreSQL) i możemy działać. Jest wygodny edytor SQL z podpowiadaniem (o WIELE lepszym, niż w SQLDeveloperze), są tabele z wynikami zapytań, które można łatwo filtrować, eksportować czy edytować. Są plany zapytań, jest możliwość pracy drag'n'drop (także między osobnymi schematami!)

Co ciekawe, dopiero odkrycie DataGripa spowodowało, że zacząłem korzystać z plugina Database w pozostałych produktach. I naprawdę żałuję, że w poprzednich latach nie chciało mi się odkryć tego narzędzia, na pewno zaoszczędziłbym sobie mnóstwa frustracji, że o przyspieszeniu pracy nie wspomnę nawet.

Łyżka dziegciu

Wszystko ładnie i pięknie, narzędzia są potężne, wygodne i ładne. Gdzie tkwi haczyk? Oczywiście, w cenie. Tutaj jak nigdzie indziej sprawdza się stare powiedzenie, że nie ma nic darmo. W dodatku JetBrains poszło drogą Adobe, czyli stosuje model subskrypcji. I tak, roczna subskrypcja na All pack(zawiera wszystkie opisywane wyżej narzędzia + sporo więcej, w tym narzędzia dla platformy .NET) w wersji dla firm to koszt 649$ (licencja indywidualna: 249$). Licencje na poszczególne produkty to 499$/149$ (IntelliJ dla firm/indywidualnie) oraz 199$/89$ (PHP Storm i DataGrip dla firm/indywidualnie). Subskrypcji na szczęście nie trzeba odnawiać, po prostu po roku przestaną być dostępne uaktualnienia i zostaniemy z licencją wieczystą na ostatnią dostępną wersję, która była najnowsza w momencie rozpoczynania subskrypcji. Aha, i ważna informacja - licencji indywidualnej można bez obaw używać do prac komercyjnych, nawet w firmie - po prostu jest ona przypisana do konkretnej osoby i tylko ona może jej używać (za to na wielu komputerach, nawet jednocześnie).

Myślę, że warto - a już na pewno warto, jeśli oprogramowanie zapewnia pracodawca i nie musimy ponosić kosztów. Zobaczycie, po miesiącu nie wrócicie do Eclipse'a.

Komentarze