Jakie są rodzaje narzędzi programistycznych Java®?

Dostępnych jest wiele narzędzi programistycznych Java® dla niemal wszystkich etapów tworzenia oprogramowania, od wdrożenia po wdrożenie. Narzędzia te są w stanie całkowicie profilować działające aplikacje, dezasemblować skompilowane klasy, a nawet tworzyć specjalne powiązania z bibliotekami napisanymi w językach innych niż Java®. Zintegrowane środowiska programistyczne (IDE) implementują wiele z tych narzędzi i dodają inne wygodne funkcje, które mogą ułatwić programowanie i debugowanie niż korzystanie z wiersza polecenia. Różnorodność i ilość narzędzi programistycznych Java® wynika z tego, że język jest open source, co pozwala programistom na łatwy dostęp do wewnętrznych zasad działania podstawowych implementacji podczas tworzenia narzędzi.

Większość dostępnych narzędzi jest przydatna na etapie wdrożenia. Niektóre dostępne narzędzia mogą przyglądać się wykonaniu programu i izolować obszary kodu źródłowego, w których spędza się najwięcej czasu przetwarzania. Są również w stanie znaleźć nieużywane bloki kodu, do których główny program nie ma dostępu. Zostały napisane specjalne narzędzia programistyczne Java®, które są w stanie pokazać stan pamięci w czasie rzeczywistym w miarę jej ewolucji podczas wykonywania.

Istnieją samodzielne narzędzia, których można użyć do stworzenia całego interfejsu użytkownika, po prostu przeciągając i upuszczając gotowe komponenty. Komponenty nie muszą być nawet stricte wizualne, ale mogą być klasami kontrolnymi. Ten rodzaj szybkiego tworzenia aplikacji umożliwia programistom tworzenie małych, dostosowywalnych elementów, które można łatwo ponownie wykorzystać, zapewniając spójną funkcjonalność.

Środowisko IDE Java® to bardzo skuteczne narzędzia do debugowania programów. Oprócz możliwości bezproblemowego traktowania kodu źródłowego podstawowych bibliotek Java® tak, jakby był częścią bieżącego projektu, IDE mogą również dostarczać szczegółowe ślady stosu i możliwości przeglądania klas. IDE mogą używać dodatkowych narzędzi, które umożliwiają śledzenie wersji i wersjonowania plików, dzięki czemu niechciane zmiany mogą zostać usunięte, a pliki źródłowe przywrócone do stanu funkcjonalnego.

Dostępnych jest również wiele emulatorów systemowych. Te narzędzia programistyczne Java® mogą symulować środowisko wykonawcze urządzenia przenośnego, określonego systemu operacyjnego lub przeglądarki internetowej. Emulatory umożliwiają rozwój na komputerze stacjonarnym bez konieczności ciągłego przenoszenia programów na rzeczywiste urządzenie docelowe w celu przetestowania.

Wdrożenie można ułatwić, korzystając z protokołu Java® Network Launch Protocol (JNLP). Pozwala to na pełną instalację i wdrożenie programu w systemie hosta za pośrednictwem połączenia sieciowego. Przyszłe utrzymanie programu można wspomóc za pomocą JNLP, zapewniając strukturę do automatycznych aktualizacji programu.