JavaOne 2007 - otwarte możliwości

Sun ogłosił udostępnienie OpenJDK jako open source i praktycznieJava została całkowicie otwarta. Firma przedstawiła również pierwsze elementy nowego języka programowania JavaFX Script.

Sun ogłosił udostępnienie OpenJDK jako open source i praktycznieJava została całkowicie otwarta. Firma przedstawiła również pierwsze elementy nowego języka programowania JavaFX Script.

JavaOne 2007 - otwarte możliwości

Rich Green, wiceprezes SUN Microsystems ds. oprogramowania, wysłał symboliczny list ogłaszający środowisku OPEN SOURCE, że oprogramowanie narzędziowe OpenJdk (Java Development Kit??) jest już dostępne.

Na oczach 15 tys. uczestników konferencji JavaOne 2007 Rich Green, wiceprezes Sun Microsystems ds. oprogramowania wysłał symboliczny e-mail ogłaszający środowisku open source, że oprogramowanie narzędziowe OpenJDK (Java Development Kit) jest już dostępne. Reakcja środowiska open source była natychmiastowa, zaledwie dwie godziny wystarczyły, aby Gentoo Linux skompilowało i dołączyło OpenJDK do swojej dystrybucji. W ciągu pierwszych 24 godzin deweloperzy Fedora Linux zgłosili łatę dotyczącą kompilacji i skompilowali OpenJDK w swoim środowisku, a programiści GNU/Classpath zaproponowali dwie poprawki dotyczące renderowania grafiki. Tym samym Sun udowodnił, że wie jak wykorzystać siłę open source. Rozumie potrzeby środowiska i potrafi z nim współpracować. Podejmuje odważne decyzje, które na pierwszy rzut oka trudno uzasadnić ekonomicznie. Tymczasem te posunięcia przekładają się na 20-proc. roczny wzrost przychodów.

OpenJDK będzie rozwijane jako projekt open source. Powołany został tymczasowy zarząd OpenJDK składający się z trzech przedstawicieli środowiska open source i dwóch z Sun Microsystems, który w pierwszej kolejności ma ustalić zasady rządzące procesem wytwarzania - podejmowania decyzji w zakresie funkcjonalności, przyjmowania łat i inne potrzebne reguły. Struktura jest potrzebna, aby zarządzać projektem tego rozmiaru.

Jakie skutki przyniesie otwarcie JDK? Czy pojawią się inne wersje? Zapewne tak, problem w tym, aby zapewnić kompatybilność pomiędzy różnymi dystrybucjami JDK. Dlatego Sun wybrał dla OpenJDK licencję GPLv2. Konieczność udostępnienia zmodyfikowanego kodu ma uchronić środowisko przed niestandardowymi odgałęzieniami. Ponadto Sun udostępni TCK - narzędzia do sprawdzania zgodności ze specyfikacją. Jeśli warunek kompatybilności będzie spełniony, różnorodność może przynieść wiele dobrego.

F3 = Java FX

Dużym wydarzeniem na JavaOne było przedstawienie pierwszego elementu nowego języka Java FXScript oraz Java FXMobile. Wcześniej technologia ta pojawiła się w sieci pod nazwą F3 (Form Follows Function) na blogu Chrisa Oliviera. Java FXScript jest nowym językiem skryptowym dedykowanym tworzeniu bogatych interfejsów graficznych. Jego siła tkwi w prostej składni pozwalającej wykorzystać możliwości drzemiące w Java2D. Dotychczas deweloperzy byli skazani na AWT, Swinga, czy SWT, a praca z nimi nie należała do przyjemności. Projektanci interfejsów mogli jedynie marzyć o wyrafinowanych efektach, gdyż tworzenie ich było zbyt trudne i czasochłonne. JavaFX pozwala na wykorzystanie gotowych kontrolek ze Swinga i poddanie ich w prosty sposób dowolnym transformacjom w Java2D API.

Potencjał drzemiący w tej technologii być może pozwoli Javie w przyszłości rywalizować np. z produktami Adobe. Jest to jednakże przyszłość, i to odległa. Potrzebne są narzędzia, które pozwolą projektantom pracować w graficznym środowisku podobnym do Flasha. Niezbędna będzie również kompilacja do kodu binarnego - obecnie wymagany jest interpreter, którego objętość wg twórców przekracza 700 KB, choć pakiet javafxrt.jar obecny we wtyczce do Eclipse zajmuje niemalże 2 MB. Ten fakt zdecydowanie wyklucza zastosowanie tej technologii na wielu mniejszych stronach WWW. Pytanie brzmi, dlaczego Sun zdecydował się zaprezentować tak niedopracowaną technologię? Odpowiedź jest prosta - firma zmieniła podejście do wytwarzania kodu, zwracając się ku środowisku wolnego oprogramowania. W tym modelu nie można siedzieć we własnej piaskownicy z własnymi zabawkami, ale trzeba się nimi jak najszybciej dzielić. Przynosi to wymierny efekt w postaci informacji zwrotnej, takiej jak zgłoszenia błędów, pojawianie się poprawek i rozszerzeń. Krok ten należy również rozpatrywać w kategoriach marketingowych. Sunowi zależy na budowaniu jak największego środowiska i próbuje to osiągnąć również poprzez błyszczące gadżety. Nie ulega jednakże wątpliwości, że natywne, uniwersalne rozwiązanie do tworzenia bogatych interfejsów jest potrzebne. Sun musi jednak jak najszybciej dostarczyć narzędzi, co obiecuje już za pół roku.

JavaFX Mobile

Sun zwrócił uwagę na ogromny potencjał urządzeń mobilnych. Już teraz jest na świecie ponad 2 mld telefonów komórkowych zdolnych uruchamiać kod Javy. Dlatego też na JavaOne wiele mówiło się o "wielofunkcyjnych urządzeniach podłączonych do Internetu". Rozmaite firmy prezentowały narzędzia do tworzenia aplikacji, zestawy komponentów oraz same urządzenia mobilne.

Pewnie dlatego pierwszy element nowego języka JavaFX Mobile jest dedykowany urządzeniom przenośnym. Ma to być panaceum na pofragmentowany mobilny świat. Czy hasło "write once run everywhere" ma szansę się ziścić? Wydaje się, że te wszystkie małe urządzenia są tak różne, że nie jest to możliwe. Nikt nie zaprzecza jednak, że taki standard, jak JavaFX jest potrzebny. Sun musi próbować skłonić producentów sprzętu do unifikacji. Silnym bodźcem jest potrzeba dużej ilości oprogramowania. JavaFX Mobile jest kompletnym stosem oprogramowania. Jako jądro wykorzystuje Linuxa, uzupełnionego zestawem frameworków dotyczących multimediów, grafiki, komunikacji, PIM i telefonii. Wszystko to jest dostępne poprzez API z Javy (i tylko z Javy). Dodatkowo skrypty JavaFX pozwalają łatwo tworzyć zaawansowane interfejsy.

Czy rzeczywiście jest to nowatorskie rozwiązanie? Microsoft dostarcza Windows na urządzenia mobilne od lat i oferuje platformę .Net dedykowaną sprzętowi tej klasy. Sun zdecydował się jednak na darmowe udostępnienie wszystkich narzędzi. Firma od lat powtarza, że istotne znaczenie ma społeczność budowana od ćwierć wieku, a którą Sun otwierając produkty, wzmocnił i poszerzył. Bezpośrednie zyski firma będzie czerpać z umów licencyjnych z producentami sprzętu.

Co dalej z Javą SE?

W przyszłym roku ma się pojawić Java SE (Standard Edition) w wersji 7. Sun wprowadza superpakiety, które mają rozwiązać problem publicznych artefaktów, zwiększając możliwości hermetyzacji. Za pomocą dodatkowego pliku będzie można poinstruować kompilator, które z elementów - pakietów, podpakietów czy klas - w budowanym superpakiecie mają być widoczne dla kodu znajdującego się poza nim.

Hermetyzacja będzie również działała na etapie wykonania kodu, gdyż informacja o superpakietach będzie wkompilowana w postaci dodatkowego atrybutu w klasie. Pozwoli to lepiej ukryć szczegóły implementacji w dużych bibliotekach. Przedstawiciele Suna wspomnieli również o domknięciach jako kolejnej ważnej nowości w Java SE 7. Ta konstrukcja pozwala na tworzenie callbacków bez konieczności wykorzystania interfejsów, definiowania anonimowych klas i tworzenia ich obiektów.


TOP 200