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.