PhpStorm 6.0 - Recenzja
25.03.2013 20:43
Kilka dni temu uzyskałem darmową licencję na PhpStorma w ramach ich programu wspierania projektów Open Source (Polecam zaaplikować każdemu, kto rozwija jakiś projekt, ja zaaplikowałem swojego bota i się udało :)) Z tym IDE miałem już wcześniej trochę styczności (wersja trial) i naprawdę mi się spodobało, warto by było je więc trochę szerzej opisać.
Trochę informacji
PhpStorm to jedno ze świetnych IDE autorstwa JetBrains. Jak praktycznie każde dobre IDE zostało napisane w ... Javie (wyjątkiem tu chyba jest tylko Visual Studio Microsoftu, ale to chyba oczywiste) co trochę mnie smuci ponieważ jak to Java musi zjeść troszkę RAM‑u, a jego to akurat mi brakuje - 1.5GB to nie za dużo jak na developerkę. Pierwsza wersja IDE została wydana w 2009 roku i raczej świata nie podbiła. Niestety w porównaniu do konkurencji - świetnego NetBeans i ciut gorszego Eclipse - PhpStorm nie jest darmowy. Licencja kosztuje ~350zł za roczną subskrypcję aktualizacji, po upływie tego czasu nie możemy już aktualizować IDE ale nie uniemożliwia nam to korzystania. Na całe szczęście dla projektów Open Source oraz Studentów licencję można uzyskać za darmo. W sumie rozumiem twórców - chcesz zarabiać na naszym produkcie - to nam płać.
Co w nim znajdziemy
PhpStorm ma w gruncie rzeczy wszystko to, co mają inne IDE, bez jakichś rewolucyjnych narzędzi (Przynajmniej w porównaniu do Visual Studio w wersji Ultimate). Znaczna część natomiast została rozbudowana i zrobiona bardzo solidnie w porównaniu do konkurencji.
Kolorowanie składni
Ktoś by powiedział, że przecież tak trywialną rzecz ma nawet nano - owszem ma - ale nie tej jakości co PhpStorm. Nie znam innego IDE które potrafiłoby kolorować zagnieżdżone ciągi zawierające kod w danym języku. Niby mała rzecz, a bardzo ułatwia pracę. Dodatkowym faktem jest tutaj wsparcie specyficznych dialektów np SQL, i to dla każdego pliku osobno. Osoby zainteresowane ułatwianiem sobie życia na poziomie "PR0" zapewne ucieszy też fakt, że wsparcie języków takich jak CoffeScript, TypeScript czy Less jest tutaj wbudowane, a na osłodę dostajemy jeden z fajniejszych ułatwiaczy życia "webmajstera" - Emmet.
GITy, SVNy i inne Mercuriale
Inną bardzo ważną funkcjonalnością jest wsparcie systemów wersjonowania, szczerze mówiąc nie widziałem lepszego wbudowanego w IDE narzędzia do zarządzania repozytorium. Eclipse miał swoje fochy, NetBeans jeszcze większe a Visual nie ma wsparcia bezpośrednio w IDE, jednym słowem masakra i musiałem wspomagać się programem zewnętrznym (który zresztą polecam) Git Extensions. PhpStorm na całe szczęście przychodzi z wbudowanym solidnym narzędziem do zarządzania repozytorium, niestety nie udało mi się dobrnąć do wykresu gałęzi, ale w końcu to znajdę - mam nadzieję.
Interfejs
Od wersji 6 mamy też do dyspozycji bardzo przyjemne i dobrze wykonane ciemne UI (które chyba stało się głównym stylem, ponieważ ikonki w jasnym stylu wyglądają po prostu źle), które w porównaniu do mrocznego stylu Visual Studio jest wykonane po prostu rewelacyjne, choć Visual Studio też aż tak zły nie jest. Mi ososbiście pracuje się lepiej przy ciemnych kolorach, które nie palą mnie w oczy, choć to pewnie efekt placebo czy coś takiego.
#define true false // Happy debugging suckers!
Pisząc o PhpStorm ciężko nie wspomnieć o genialnym debuggerze, który po prostu... działa. Nie trzeba nic konfigurować (noo poza ścieżkami do interpretera ;D), wystarczy kliknąć debuguj i już. Debugger posiada jeszcze jeden ficzer, który jest cholernie przydatny podczas debugowania, i którego strasznie brakowało mi w NetBeans (Od Visual Studio w du... głowie mi się poprzewracało, zbyt wygodnie tam jest) mianowicie możliwość sprawdzania wyniku wyrażeń. Podczas debugowania wystarczy dać "Evaluate expression" i gotowe! Wspaniała funkcjonalność, zasługująca na medal.
Refaktoryzacja
W życiu każdego projektu, kiedyś przyjdzie taki moment, że trzeba będzie coś zmienić. Jeżeli ktoś pisał coś w Visual Studio i c# doskonale wie, że zmiana nazwy klasy w nim potrafi automatycznie dostosować cały projekt, nie muszę chyba mówić ile to czasu oszczędza. PhpStorm też ma taki bajer i muszę przyznać, że działa całkiem nieźle. Do tego dochodzi jeszcze łatwa możliwość likwidowania powtórzeń kodu (Fanatycy DRY byliby dumni).
Pozostałości
Najważniejsze dla mnie rzeczy zostały już wymienione, choć pewnie coś pominąłem. Z mniej ważnych mogę dodać breadcrumbsy
, które przydają się zwłaszcza przy dużych projektach, gdzieh jest sporo plików o jednakowych nazwach. Wracając do kolorowania składni, IDE to potrafi też ubarwić życie z... regexami co jest takim malutkim smaczkiem ale jednak przydatnym, niestety nie radzi sobie zbyt dobrze z rozpoznawaniem ciągów zawierających regexy i w większości przypadków trzeba ustawiać samemu zagnieżdżenie języka. Dodatkowo, do dyspozycji dostajemy wsparcie dość sporej ilości języków od php, przez html i xml po js i wspomniany wcześniej typeScript. Ciekawostką jest, że domyślnie IDE nie obsługuje plików INI i trzeba sobie do tego dograć plugin - który zbyt dobrze w wersji 6.0 nie działa - ale mam nadzieję, że wkrótce programista tego addona to poprawi.
Nie ma róży bez kolców
Coś za idealnie było, nie? PhpStorm jak każdy program posiada także kilka wad, jedną z tych, które mnie bardzo denerwują jest podpowiadanie składni. Owszem działa sporo szybciej niż w Eclipse czy NetBeans, ale w porównaniu do tego drugiego nie ma wbudowanego manuala co było naprawdę pomocne (a może to ja po prostu ślepy jestem?).
Zużycie ramu też do najmniejszych nie należy i wynosi najczęściej coś koło 250mb ale w sumie da się to przeżyć, niestety z zużyciem ramu idzie w parze duże swapowanie i praktycznie bitwa o ram z Firefoxem, ale to można wybaczyć w końcu mój sprzęt ma już 7 lat, a i tak jest sporo lepiej niż w NetBeans czy Eclipse.
Tak, to już wszystko :P
Podsumowanie
IDE jest świetne i godne polecenia każdemu, mimo kilku denerwujących mnie szczegółów zawiera tyle przyjemnych funkcjonalności, że po zakończeniu triala aż się robi smutno, że nie można więcej używać. IDE kończy u mnie z notą 9+ na 10, za ten manual. Oczywiście pewnie sporo rzeczy pominąłem, ale jest to w sumie takie pierwsze spojrzenie na nową wersję tego środowiska.
PS Przepraszam za lekki chaos we wpisie, ale jakoś.. jakoś tak wyszło :D PPS [Nie nie partia] Wpis skopiowany z mojego bloga ;)