Warsztat programisty PHP – IDE

Kilka miesięcy temu popełniłem wpis zatytułowany Warsztat programisty PHP, w którym wymieniłem najważniejsze narzędzia jakimi posługuje się (powinien posługiwać się) programista PHP. Dzisiejszy wpis będzie stanowił rozwinięcie zawartym w nich informacji. Na pierwszy ogień idzie IDE.

Czasy, w których do tworzenia aplikacji internetowych (nazywanych wtedy stronami) wystarczył notatnik lub dowolny inne nieskomplikowany edytor, minęły bezpowrotnie. Dzisiaj, aby móc pracować nad większością projektów, niezbędne jest IDE, czyli kombajn usprawniający naszą pracę. Na rynku mamy dostępnych co najmniej kilka dobrych aplikacji i nie da się jednoznacznie stwierdzić, która z nich jest najlepsza. Przez długi czas pracowałem na Eclipse, miałem styczność z Netbeansem, a obecnie wszędzie gdzie to możliwe, wykorzystuję PhpStorm.

Co cechuje dobre IDE? Przede wszystkim wygoda w używaniu. IDE nie powinno przeszkadzać programiście, który ginie w gąszczu skrótów klawiaturowych, setek zakładek i milionach ustawień. Dobre IDE musi być gotowe do pracy od razu po instalacji, bez konieczności poświęcania połowy dnia na jego konfigurację. Ważna jest również prędkość jego działania. Sytuacja, w której oczekiwanie na podpowiedź kodu zajmuje więcej czasu niż sprawdzenie w dokumentacji jest niedopuszczalna.

Porządne IDE pozwala na pracę ze wszystkimi sposobami zapisywania danych – systemy kontroli wersji oraz FTP/SFTP. Bez tego będziemy żonglować oknami, co w krótkim czasie spowoduje liczne problemy. Nie można również zapomnieć o najprostszym nawet interfejsie wyświetlającym dane z bazy danych, które co jakiś czas musimy sprawdzić lub zmienić.

Równie istotne jest proste debugowanie kodu. IDE powinno być w stanie wyłapać najczęstsze pomyłki popełniane w kodzie oraz pokazać, w którym miejscu w kodzie źle wstawiliśmy średnik, przecinek, klamrę lub dowolny inny niechciany znak. Poza samym wskazywaniem błędów, istotna jest możliwość korzystania z zaawansowanych debugerów (np. Xdebug).

Na koniec pozostaje możliwość integracji IDE z zewnętrznymi narzędziami wspomagającymi deploy aplikacji na sewer/do chmury, wspomagającymi tworzenie testów, konsolą systemową oraz lokalnym serwerem.

Czy idealne IDE istnieje? Tak. Jakie to IDE? Każdy odpowie, że to, z którego właśnie korzysta. I każdy będzie miał rację. Idealne IDE to taka aplikacja, z którą wygodnie się pracuje, a większość nudnych czynności wykonuje za nas.

  1. Niestety, u mnie Storm 3.0 na tych samym sprzęcie i tych samych projektach działał zdecydowanie wolniej niż 2.1. Dopiero po powyłączaniu większości wtyczek udało się to nieco poprawić. Mam nadzieję, że nie rozwinie się w kierunku kobyły do wszystkiego i do niczego, niczym Eclipse. ;b

  2. Jakiś czas temu też się przesiadłem na PhpStorm i jestem bardzo zadowolony z tej zmiany. Jest o wiele bardziej intuicyjny w obsłudze (szczególnie jeżeli chodzi o skróty klawiaturowe), a przede wszystkim podpowiadanie składni i prędkość działania są wręcz rewelacyjne.

  3. Pracowałem najpierw na eclipse (nie wiem ile), 1 rok aptana, 4 lata netbeans, 30dnia phpstorm 3 i kilka dnie temu znów wróciłem do eclipse :P

    Moja opinia, każdy ma wady i zalety.
    Netbeans kiedyś wyprzedził eclipse jeśli chodzi o obsługę php/html/css ale przy projektach na SF2 + Ext po 3h robi się strasznie niestabilny, poza tym w za sadzie brak podpowiadania w js przy projekcie z ext.

    Storm jest fajny, ale obsługa php 5.3 (namespace, podpowiadanie etc) kuleje strasznie, aczkolwiek ma genialne wsparcie dla Ext JS czy mootols. W dodatku bardzo przyjemnie pracuje się z nim po spięciu z redminem. No el właśnie to php 5.3 i projekt z sf.

    Zainstalowałem eclipse i nie wiem czy to magia mac os x czy po prostu go poprawili, ten sam projekt na eclipse chodzi szybciej jak goły netbeans!! Mało tego zdecydowanie lepiej radzi sobie z php5.3 (nie trzeba wstawiać ton phpdoca żeby symulować co zwróci. Po wgraniu pluginu dla SF2 mimo że jeszcze jest to wczesna beta pracuje się genialnie. O niebo lepiej jak na netbeans i lepiej jak na phpstorm. Ext JS to połowa sukcesu (podpowiada tylko klasy ext ale to już coś). No i wspracie dla twig’a wreszcie w miarę normalne. No i moje największe zdziwienie. Debugger po prostu działa, od razu, bez problemu (pamiętam magię instalacji wsparcia dla xdebug z dawnych lat – php4).

    Podsumowując albo w indigo zaczęli optymalizować IDE albo po prostu dobrze to działa na macu. Eclipse dla mnie przy moich projektach jest wręcz niezbędny (zakochałem się) :P

  4. Jeżeli chodzi o edytory, to przez 4 lata używałem Eclipse, niedawno zacząłem robić nowe projekty na PHPStrom. Nie wiem, czy to przyzwyczajenia, czy coś innego, ale PHPStorm jest dla mnie nieintuicyjny. Skróty klawiaturowe ma dość nietypowe. Dziwne jest też to, że w jednym oknie nie można mieć otwartych kilku projektów. Obsługa SVN też nie należy do łatwych. Za to świetnie obsługuje podpowiadanie kodu w PHP i JS. To też jedyny znany mi IDE, który rozumie Smarty.
    Ciężko mi stwierdzić czy PHPStorm jest lepszy od Eclipse, czy może na odwrót. Moim zdaniem oba IDE są świetne, tylko trzeba się przyzwyczaić. Niestety Storm nie jest darmowy i gdyby nie nieużywana licencja w mojej pracy w ogóle bym go nie używał i bym z tego powodu nie płakał. :

  5. @renq Storm na dzień dobry obsługuje skróty klawiaturowe z innych IDE – sam z przyzwyczajania używam tych z Eclipse’a.
    Poszukaj w ustawieniach.

  6. Też używam phpstorma, ale FTP w tym IDE to koszmar i duże ryzyko. Co chwilę wywala blędy, nie przegrywa wszystkich plików. Co gorsza, nie można skopiować tylko tych plików, które zawiodły za pierwszym razem. Trzeba ręcznie szukać ich na podstawie listy błędów lub kopiować całość.
    W 2 było to samo, co ciekawe w zmianach wersji 3 napisali, że klient FTP został ulepszony. Ciekawe jak?

  7. @zordon – od 3.0 jeśli masz ustawiony deployment, możesz robić synchronizację.
    U mnie, stormowe FTP/SFTP działa prawidłowo.
    Spróbuj reinstal samego IDE, przy pierwszej instalacji 3.0 wieszał się, po reinstalce, pracował bezbłędnie.

    Sam sprawdziłem sporo IDE, od DreamWeavera (dawne czasy), Eclipse, Aptana, Netbeans, Komodo… skończyło się na płatnym phpStormie i chyba zostanę na dłużej, bo się bardzo przyjemnie pracuje.

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting