Java 9 będzie lekka, oszczędna i modułowa jak LEGO

Po wielu latach trudów i odkładania projektu na później wreszcie nadchodzi – modułowa Java 9. W projekcie „Układanka” (Jigsaw) wyłożone zostały założenia modułowości. Pomysły były zbierane przez lata i często odkładane „na później” z różnych powodów. W końcu jednak, wraz z wydaniem Javy 9, doczekamy się obiecywanych od dawna javovych klocków.

Platforma Java SE od początku jest monolityczną bryłą i nawet jeśli aplikacja wymagała tylko jej części, należało ściągnąć całość. To jednak ma się zmienić. Dzięki zmianom w kolejnej wersji Javy, aby uruchomić aplikacje na komputerze klienckim, nie trzeba będzie ściągać całego ciężkiego środowiska. Szczególnie na urządzeniach z małą ilością pamięci sprawia to problemy, ale potężne chmury obliczeniowe także klękały pod jej ciężarem.

Obraz

„Układanka” to zbiór klas, bibliotek i różnych innych zasobów, wraz z metadanymi. Można o nich myśleć jak o pudełku z klockami LEGO, które będzie można dokładać do swojego projektu w miarę potrzeby. Wstępem do jej wprowadzenia były profile kompaktowe (compact profiles) w Javie 8, ale właściwe klocki będą dużo drobniejsze. Co więcej, prawdopodobnie będą zgodne z innymi podobnymi architekturami, jak specyfikacja opracowana przez OSGi Alliance.

Wraz z rozłożeniem Javy na części znikną pliki RT.JAR (Runtime JAR), które dla wielu są niewyczerpanym źródłem bólu. Zastąpią je profile kompaktowe (compact profiles), obecne już w Javie 8, projektowane przede wszystkim z myślą o urządzeniach wbudowanych. Dzięki temu maszyna wirtualna nie będzie tak się „rozpychać”. Pliki JAR jednak zostaną z nami do końca świata i o jeden dzień dłużej.

Modułowość poprawić ma również bezpieczeństwo aplikacji, co bez wątpienia Javie bardzo się przyda. Java 9 wprowadzi wyraźne granice między komponentami i jasno określi, co musi zostać wewnątrz modułu, a co może być widoczne na zewnątrz. Powinno to zredukować możliwości ataków przez odnoszenie się do metod, które poszerzą uprawnienia aplikacji lub jej dostęp do danych. Linkowaniem modułów zajmie się nowy linker, nazwany jlink.

Java 9 niestety mocno się spóźnia. Prace się przeciągają i zamiast w tym, ma ukazać się w przyszłym roku. W wersji 10, nieśmiało zapowiadanej na rok 2018, wprowadzone zostaną zmiany w systemie typowania obiektów. Mniej ważny będzie typ, istotna będzie tożsamość.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (48)