IDE, czyli edytory kodu
Koziołek
1 Wstęp
2 Co mam do wyboru?
2.1 Kryteria oceny
3 NetBeans IDE
3.2 Zalety
3.3 Wady
4 Eclipse
4.4 Zalety
4.5 Wady
5 InteliJ Idea
5.6 Zalety
5.7 Wady
Wstęp
Wiele książek poświęconych programowaniu w Javie zaczyna się od słów "otwórz swój ulubiony edytor tekstu". Pisanie kodu w Notatniku, vim czy Open Office Writer jest możliwe. Nic nie stoi na przeszkodzie, by wykorzystywać te narzędzia. Jednak najlepszym przyjacielem programisty będzie IDE.
IDE (ang. Integrated Development Environment, zintegrowane środowisko programistyczne) – aplikacja lub zestaw aplikacji, które pozwalają w zintegrowany sposób tworzyć, debugować, kompilować i testować kod.
Mówiąc prościej, jest to specjalny program, który łączy w sobie edytor kodu źródłowego (obecnie z podpowiadaniem i kolorowaniem składni), kompilator (własny lub zainstalowany w systemie), debugger, narzędzia do testów i profilowania aplikacji. Swoisty N-w-jednym dla programisty.
W tym artykule omówię najpopularniejsze IDE dla Javy. Nie będę ich oceniał czy porównywał. Postaram się jednak przybliżyć ich zalety, wady i specyficzne funkcje.
Co mam do wyboru?
Jeżeli chcesz programować w Javie, zapewne staniesz przed wyborem, które IDE będzie najlepsze. Na rynku mamy kilka środowisk do wyboru. Skupię się na trzech najpopularniejszych:
- NetBeans IDE
- Eclipse
- InteliJ Idea
Powyższe IDE są najpowszechniej stosowane w przemyśle. Na ich bazie tworzone są też inne narzędzia.
Kryteria oceny
Opis każdego IDE zawiera następujące informacje:
- na których systemach operacyjnych działa;
- jakie elementy zawiera i jaka jest ich jakość;
- jak można rozbudować je o dodatkowe elementy;
- jego cena i licencja.
NetBeans IDE
Producent: Sun Microsystem / Oracle
Strona WWW: http://netbeans.org/
Licencja: CDDLv1 / GNU GPL v2
NetBeans IDE firmy Sun (obecnie część Oracle) jest aplikacją, którą można pobrać wraz z JDK. Można też pobrać samo IDE ze strony producenta. Zbudowane jest na bazie NetBeans Platform, czyli platformie do tworzenia aplikacji we frameworku Swing. Działa na wszystkich systemach operacyjnych. Dostępne wersje pozwalają na tworzenie aplikacji JSE, JEE, Java ME, JavaFX, Ruby, Groovy, C/C++, PHP. Ponad to można pobrać wersję z serwerem Glassfish ES v3 i Apache Tomcat 6.x.
Standardowe edytory są bardzo dobrej jakości. Edytor wizualny Swing i JavaFX są najlepszymi bezpłatnymi narzędziami tego typu na rynku. Debugger jest łatwy w użyciu.
NetBeans ma duże repozytorium wtyczek, ale ich jakość jest różna. Społeczność NetBeans dba jednak o utrzymanie pewnego poziomu, zatem w oficjalnych repozytoriach nie znajdziemy raczej bardzo słabych narzędzi. Wszyscy duzi producenci serwerów aplikacji dostarczają własne narzędzia do pracy w środowisku NetBeans. NetBeans pozwala na rozwijanie własnych narzędzi i pluginów za pomocą NetBeans Platform. Proces ten jest bardzo prosty i w znacznej części zautomatyzowany.
Istnieje prowadzony przez Sun Microsystems system certyfikacji specjalistów technologii NetBeans Platform. Certyfikaty są wydawane na podstawie udziału w szkoleniach z NetBeans Platform oraz tworzenia nowych rozszerzeń lub aplikacji opartych o tę platformę.
NetBeans jest udostępniony na licencji CDDLv1 / GNU GPL v2. Szczegółowy opis licencji i jej zastosowania do poszczególnych elementów można znaleźć na stronie producenta.
Zalety
- Doskonały edytor wizualny Swing
- Najlepszy edytor JavaFX
- Łatwa integracja z różnymi serwerami aplikacji i technologiami Java
- Duża i aktywna społeczność, która zapewnia wsparcie
- System certyfikacji
Wady
- W porównaniu z innymi – najmniejsze repozytorium wtyczek
- Problemy z wydajnością
- Brak wtyczek do zarządzania procesami biznesowymi
Eclipse
Producent: The Eclipse Foundation
Strona WWW: http://eclipse.org/
Licencja: EPL / EDL (obie niezgodne z GNU GPL)
Eclipse IDE jest obecnie najpopularniejszym IDE. Zostało stworzone w laboratoriach IBM, a następnie uwolnione. Można go pobrać ze strony Fundacji Eclipse, działa na wszystkich systemach operacyjnych. Zbudowane jest na bazie Eclipse RPCi biblioteki SWT.
Istnieje bardzo dużo oficjalnych wersji Eclipse, które służą do różnych zadań. Najprostsza Eclipse Classic pozwala na tworzenie oprogramowania w JSE, JEE, Java ME, Groovy; dodatkowo, zapewnia wsparcie dla AspectJ i Spring. Eclipse nie zawiera zintegrowanych serwerów, ale ma zainstalowane narzędzia do łączenia się z najpopularniejszymi serwerami aplikacji. Ponadto wszyscy producenci dostarczają własne narzędzia do połączenia, a w przypadku JBossa też do zdalnej administracji.
Standardowe edytory Eclipse są bardzo dobre i wygodne. Posiadają język szablonów pozwalający na przyspieszenie pracy. Przy czym, wadą jest bardzo słabe wsparcie dla edytorów wizualnych i JavaFX. Debuger jest bardzo prosty w użyciu.
Eclipse posiada ogromna bazę wtyczek pozwalających na tworzenie kodu w niemal każdym języku programowania, jak i wykorzystanie go jako bazy dla aplikacji innego typu. Przykładem może być klient poczty IBM Lotus Notes, który oparty jest na Eclipse RPC.
Samo Eclipse RPC jest, podobnie jak NetBeans Platform, frameworkiem do tworzenia aplikacji; wykorzystuje bibliotekę SWT. Tworzenie aplikacji i pluginów jest stosunkowo proste.
IDE, jak i produkty powstałe na bazie Eclipse RPC, dystrybuowane są na licencji Eclipse – która, choć jest licencją otwartą, nie jest zgodna z licencją GNU GPL.
Zalety
- Ogromna baza rozszerzeń
- Bardzo dobre edytory
- Możliwość współpracy z każdym językiem
- Możliwość pracy nie jako IDE, ale, na przykład, klient poczty
- Brak problemów z wydajnością nawet przy dużej ilości wtyczek
- Duża i aktywna społeczność, która zapewnia wsparcie
Wady
- Praktycznie brak edytora JavaFX
- Bardzo kiepski edytor wizualny Swinga
- Brak kontroli nad jakością wtyczek
InteliJ Idea
Producent: JetBrains
Strona WWW: http://www.jetbrains.com/idea
Licencja: Komercyjna / Apache 2 w wersji Community.
InteliJ Idea jest obecnie najbardziej zaawansowanym IDE dla Javy. Działa na wszystkich systemach operacyjnych i można je zakupić na stronie producenta. Można też pobrać wersję Community, wyposażoną w podstawowe funkcje i przeznaczoną dla programistów Java i Groovy.
InteliJ Idea posiada najbardziej zaawansowany edytor Java oraz dużą bazę wysokiej jakości wtyczek. JetBrains świadczy całodobową pomoc techniczną dla użytkowników, który ją wykupią. Standardowo mamy dostęp do wsparcia przez zgłoszenie błędu.
Zalety
- Obecnie najbardziej zaawansowane IDE dla Javy na rynku
- Świetne edytory
- Wspiera wszystkie technologie Java oraz inne języki, takie jak PHP czy C/C++
- Wysokiej jakości wtyczki
Wady
- Cena