Java

IDE, czyli edytory kodu

Spis treści

     1 Wstęp
     2 Co mam do wyboru?
          2.1 Kryteria oceny
     3 NetBeans IDE
          3.1 Zalety
          3.2 Wady
     4 Eclipse
          4.1 Zalety
          4.2 Wady
     5 InteliJ Idea
          5.1 Zalety
          5.2 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 OO 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, jest to aplikacja lub zestaw aplikacji, które pozwalają na tworzenie, debugowanie, kompilację i testowanie kodu.

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:
  1. NetBeans IDE
  2. Eclipse
  3. InteliJ Idea
Oprogramowanie to jest najpowszechniej stosowane w przemyśle. Na jego bazie tworzone są tez inne narzędzia.

Kryteria oceny


Nie będę oceniał poszczególnych IDE, ale ich opis będzie zawierał informacje o następujących elementach
  1. Na których systemach operacyjnych działa.
  2. Jakie elementy IDE zawiera i jaka jest ich jakość.
  3. Jak można rozbudować IDE o dodatkowe elementy.
  4. 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 frameworku do tworzenia aplikacji w Swingu. Działa na wszystkich systemach operacyjnych. Dostępne wersje pozwalają na tworzenie aplikacji JSE, JEE, J2ME, 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ść NB dba jednak o utrzymanie 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 NB.
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 Suna system certyfikacji specjalistów technologii NetBeans Platform. Certyfikaty są wydawane na podstawie udziału w szkoleniach z NBP oraz tworzenia nowych rozszerzeń lub aplikacji opartych i NBP.
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


  1. Doskonały edytor wizualny Swing.
  2. Najlepszy edytor JavaFX.
  3. Łatwa integracja z różnymi serwerami aplikacji i technologiami Java.
  4. Duża i aktywna społeczność, która zapewnia wsparcie.
  5. System certyfikacji.

Wady


  1. W porównaniu z innymi najmniejsze repozytorium wtyczek.
  2. Problemy z wydajnością.
  3. 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 najpopularniejszym narzędziem tego typu. 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, które służą do różnych zadań. Najprostsza Eclipse Classic pozwala na tworzenie oprogramowania w JSE, JEE, J2ME, Groovy dodatkowo zapewnia wsparcie dla AspectJ i SpringFramework. Eclipse nie zawiera zintegrowanych serwerów, ale ma zainstalowane narzędzia do łączenia się z najpopularniejszymi serwerami aplikacji. Dodatkowo wszyscy producenci dostarczają własne narzędzia do połączenia, a w przypadku JBossa też do zdalnej administracji serwerem.
Standardowe edytory Eclipse są bardzo dobre i wygodne. Posiadają język szablonów pozwalający na przyspieszenie pracy. Niestety wadą jest bardzo słabe wsparcie dla edytorów wizualnych i JavaFX. Debugger jest bardzo prosty w użyciu.
Eclispe posiada ogromna bazę wtyczek pozwalających na tworzenie kodu w praktycznie 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 Eclispe RPC jest podobnie jak NBP frameworkiem do tworzenia aplikacji. Jednak 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 GNU GPL.

Zalety


  1. Ogromna baza rozszerzeń.
  2. Bardzo dobre edytory.
  3. Możliwość współpracy z każdym językiem.
  4. Możliwość pracy nie jako IDE, ale na przykład klient poczty.
  5. Brak problemów z wydajnością nawet przy dużej ilości pluginów.
  6. Duża i aktywna społeczność, która zapewnia wsparcie.

Wady


  1. Praktycznie brak edytora JavaFX.
  2. Bardzo kiepski edytor wizualny Swinga.
  3. 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 najbardziej zaawansowanym IDE dla Javy. Działa na wszystkich systemach operacyjnych i można ją zakupić na stronie producenta. Można też pobrać wersję Community wyposażoną w podstawowe funkcje i przeznaczoną dla programistów Java i Groovy. 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


  1. Najbardziej zaawansowane IDE dla Javy na rynku.
  2. Świetne edytory.
  3. Wspiera wszystkie technologie Java oraz inne języki takie jak php czy C/C++.
  4. Wysokiej jakości pluginy.

Wady


  1. Cena.