Sieciowe ziarno i zaćmienie

Projektowanie interfejsu graficznego w NetBeans odbywa się podobnie jak w każdym tego typu środowisku. Jednak założenia leżące u podstaw edytora formatek NetBeans różnią się nieco od tych, które przyświecały twórcom np. JBuilder. W NetBeans projektowanie w trybie WYSIWYG wykorzystuje mechanizm testowania pozwalający na kompilację formatek w locie i ich uruchamianie w środowisku edytora. Standardowo mechanizm ten działa tylko "w jedną stronę" - na podstawie projektu jest tworzony kod w Javie.

Debugger środowiska NetBeans zawiera wszystko, czego potrzebuje przeciętny programista, łącznie z krokowym śledzeniem wykonania programu. Jedną z ciekawostek jest możliwość eksportu stanu wątku do pliku tekstowego. Szkoda, że nie istnieje analogiczny mechanizm do wczytywania tak zapisanego stanu do IDE. Środowisko debuggera umożliwia uruchamianie wielu równoległych sesji śledzenia, co jest przydatne podczas tworzenia aplikacji wielowątkowych. Zawiera też, dostępny niestety tylko komercyjnie, mechanizm wspierający wykrywanie zakleszczeń w kodzie.

Pozwala on śledzić krok po kroku kod Java oraz - za pośrednictwem JNI - także kod C/C++. Inne (część z nich jest komercyjna) rozszerzenia Net-Beans umożliwiają tworzenie usług Web i projektowanie aplikacji WWW wykorzystujących serwlety JSP lub architekturę Struts.

Jedno z dostępnych rozszerzeń udostępnia łatwą integrację kodu Java z kodem C/C++ za pośrednictwem JNI. Ponieważ konstrukcja wyrażeń używających mechanizmów JNI jest dosyć skomplikowana, pozwala on automatycznie wygenerować szkielet. Od razu tworzy też odpowiednie moduły w C/C++, włączając je do projektu.

NetBeans zawiera wiele dodatkowych, eksperymentalnych narzędzi. Jednym z nich jest ANT - rozbudowane narzędzie do automatycznej kompilacji wielomodułowego projektu, które po skompilowaniu projektu pozwala od razu uruchomić dodatkowe operacje, np. proces testowania czy przenoszenia modułów na docelowy serwer aplikacyjny. ANT integruje się z NetBeans, zastępując standardowe mechanizmy kompilacji.

Licencja narzędzi NetBeans jest podobna do licencji Eclipse. Sun udostępnia je na licencji SPL (Sun Public License), wywodzącej się z MPL (Mozilla Public License). NetBeans można używać do tworzenia rozwiązań komercyjnych. Jeżeli programista dokona jakichkolwiek zmian w środowisku, musi je przesłać do prowadzonego przez Sun Microsystems centralnego repozytorium. Dodawanie do NetBeans udoskonaleń nie ingerujących w jego strukturę nie wymaga udostępniania kodu. Większość komercyjnych rozszerzeń dla NetBeans powstaje w formie dynamicznie dołączanych wtyczek (plug-ins).

Dylemat pozostaje

Eclipse od początku był projektowany jako szkielet umożliwiający tworzenie specjalizowanych środowisk IDE i dlatego jest obecnie wykorzystywane jako fundament nowoczesnych IDE. Z drugiej jednak strony Eclipse nie ma wielkiego dorobku w dziedzinie niezależnie tworzonych rozszerzeń. NetBeans ma rozszerzeń kilkaset, a środowisko osób i firm z nim związanych jest znacznie większe. Oferuje też w miarę standardowe, gotowe do użycia środowisko IDE, które jednak nie ogranicza możliwości jego dalszej rozbudowy.

Pytanie, co dalej? Co prawda Oracle prowadzi prace nad połączeniem Eclipse i NetBeans, ale obserwując rozwój technologii informatycznych, można nawet założyć, że z biegiem czasu liczba architektur IDE dla Javy jeszcze się zwiększy. Pewnego dnia BEA może np. dojść do wniosku, że udostępnienie narzędzi w trybie open source jest w jej interesie. Co wtedy ma wybrać firma produkująca dodatki? Kierować się popularnością platform, czy integrować swoje rozwiązania z każdym IDE?

Tylko fakty

Eclipse

  • Zalety: Otwarty framework, niezależny od języka; może pełnić rolę IDE do wszystkiego; perspektywy dostosowane do typu wykonywanych zadań

  • Wady: Brak gotowego narzędzia do projektowania formatek; tworzenie dodatków skomplikowane

    NetBeans

  • Zalety: Klasyczne, kompleksowe IDE dla Javy; duża liczba komercyjnych dodatków; dobry debugger

  • Wady: Testy przeprowadzone w ramach HIE pokazały, że w kilku miejscach GUI jest mało intuicyjne. Ze względu na architekturę NetBeans są to elementy trudne do poprawienia


  • TOP 200