Czy Microsoft naprawdę lubi Javę?

W tle konfliktu z Sun Microsystems Microsoft wprowadza na rynek Visual J++ 6.0, drugą wersję oprogramowania narzędziowego do tworzenia aplikacji w Javie.

W tle konfliktu z Sun Microsystems Microsoft wprowadza na rynek Visual J++ 6.0, drugą wersję oprogramowania narzędziowego do tworzenia aplikacji w Javie.

Mimo że Microsoft zdecydował się znacznie ulepszyć narzędzie do tworzenia aplikacji w Javie - zdaniem przedstawicieli firmy - w jej strategii Java pozostaje kolejnym językiem programowania. Priorytetem nie jest zapewnienie "przenośności", ale ułatwienie pracy programistom i zapewnienie szybkości działania programów.

Śledząc politykę Microsoftu wobec Javy w ciągu ostatnich dwóch lat, można odnieść wrażenie, że firma nie wiąże dużych nadziei z rozwojem tego języka, a nieraz wręcz stara się ograniczyć jego popularność wśród programistów. Przedstawiciele Microsoftu często dawali do zrozumienia, że nie widzą zastosowania dla w pełni przenośnych aplikacji. Ich podstawowym argumentem było twierdzenie, iż duże programy pisane w Javie będą powolne, a ponadto będą stawiać przed użytkownikami ogromne wymagania sprzętowe. Tymczasem podczas największych światowych internetowych targów InternetWorld, Microsoft udostępnił odmienioną wersję (na razie beta) Visual J++ 6.0, która przedstawia nowe podejście firmy do języka Java. Technicznie jest to dopiero druga wersja Visual J++, ale numeracja związana jest z planami włączenia jej do kolejnej edycji zestawu narzędziowego Visual Studio 6.0.

Bez JavaBeans

Wersja Visual J++ 6.0 zyskała wiele cech prawdziwego narzędzia typu RAD, pozwalającego szybko tworzyć aplikacje. Środowisko programistyczne coraz bardziej przypomina to znane z popularnego Visual Basic. Przykładowo, wdrożono technologię InteliSense, pozwalającą na automatyczne uzupełnianie pewnych wyrażeń w kodzie.

Jednak to, co oferuje Microsoft, znacznie różni się od propozycji Sun Microsystems, twórcy języka Java. Visual J++ 6.0 nie umożliwia tworzenia i korzystania z JavaBeans (komponentów działających po stronie klienta) ani Enterprise JavaBeans (komponentów serwerowych). Zamiast tego, Visual J++ pozwala na wykorzystywanie ActiveX/HTML i Microsoft Transaction Server (MTS) oraz Microsoft Message Queue. Dzięki temu za pomocą Visual J++ można pisać zarówno aplikacje dla klienta, jak i tworzyć rozproszone aplikacje, stosujące duże bazy danych.

Komponenty, które wykorzystuje nowy Visual J++, opierają się na modelu COM/COM+. W nowych narzędziach Microsoftu kreatory są coraz bardziej rozbudowane. Jeden z nowych kreatorów w Visual J++ pozwala przekształcać obiekty Javy w transakcyjne komponenty MTS.

Nie tylko Java

Microsoft wprowadził do Visual J++ wiele rozszerzeń ułatwiających korzystanie z technologii nie związanych bezpośrednio z Javą. Uproszczono integrację fragmentów HTML/DHTML, JavaScript i VBScript z programem w Javie. Każdy taki element dołączany do projektu może być zawarty w obiekcie Javy, który dostarcza odpowiedniego interfejsu.

Nowe internetowe środowisko programistyczne Vegas pozwala w jednym projekcie zarządzać wszystkimi elementami potrzebnymi do pisania aplikacji sieciowych. Wśród programistów, którzy już mieli okazję poznać wersję beta Visual J++, można usłyszeć opinie, że to, co Microsoft tym razem zrobił z Javą, przypomina to, co stało się z C++, gdy pojawiło się na rynku Visual C++.

Nowością jest także wykorzystywanie API Win32 w kodzie Javy. Zamiast wspierać Java Foundation Class (przenośne klasy GUI rozpowszechniane przez Suna), Microsoft proponuje własne Windows Foundation Classes, dzięki którym programiści Javy będą mieli dostęp do funkcji Win32. Chcąc zapewnić możliwość współpracy z funkcjami wbudowanymi w Windows, Microsoft zaproponował rozwiązanie odpowiadające funkcjonalnie wskaźnikom, znanym np. z języka C. Jednak podczas konstruowania języka Java zakładano, że nie będzie on zawierał takich rozwiązań, gdyż są niepotrzebnym utrudnieniem.

Zwykły język

Jak stwierdził Tod Nielsen, wiceprezes Microsoftu, podczas ubiegłotygodniowej wizyty w Polsce, firma traktuje Javę jako kolejny język programowania, oparty na dobrych podstawach teoretycznych, tak jak Visual Basic czy C++. Jego zdaniem, priorytetem nie jest zapewnienie przenośności, a raczej wygoda programisty i szybkość działania programu.

Takie oświadczenia menedżerów Microsoftu spotkały się już ze sprzeciwem Sun Microsystems. Twórcy Javy twierdzą, że wykorzystanie w Visual J++ tylko niektórych elementów Javy stanowi naruszenie umowy licencyjnej między firmami. Poza tym zagraża to realizacji podstawowej idei Suna, aby Java była językiem działającym na wszystkich platformach. Przedstawiciele JavaSoft, oddziału Suna, zajmującego się rozwojem Javy, rozważają możliwość rozwiązania kolejnego konfliktu z Microsoftem na drodze sądowej.


TOP 200