.NET pracuje dla konkurencji

Pod auspicjami Novella rozwijana jest platforma Mono, która pozwala na względnie łatwe przenoszenie aplikacji stworzonych dla .NET w środowiska Linux, Unix i MacOS.

Pod auspicjami Novella rozwijana jest platforma Mono, która pozwala na względnie łatwe przenoszenie aplikacji stworzonych dla .NET w środowiska Linux, Unix i MacOS.

Jedną z zalet platformy .NET wymienianych przez Microsoft przy wprowadzaniu jej na rynek była możliwość uruchamiania kodu aplikacji w różnych systemach operacyjnych. Jednakże koncern z Redmond przez "różne systemy operacyjne" rozumie odmiany systemu Windows. Tak naprawdę dopiero wprowadzona ostatnio na rynek platforma Mono 2.0 daje programistom wykorzystującym .NET częściową niezależność od platformy systemowej. Początki Mono są datowane na 2001 r., kiedy to Ximian ogłosił, że opracowuje platformę, która umożliwi uruchamianie kodu napisanego przy wykorzystaniu narzędzi .NET w innych, alternatywnych środowiskach. Ximian została później kupiona przez Novell i od tej pory to właśnie ta korporacja kontroluje rozwój Mono. Pierwsza jej wersja pojawiła się w 2004 r. i zawierała kompilator C#, biblioteki i przestrzenie nazw: mscorlib, System, System.Xml, System.Data, System.Web, System.Web.Services i System.Drawing.

Najnowsza wersja Mono

50%

ankietowanych przez IDC programistów, architektów, kierowników działów IT wskazało Microsoft .NET jako platformę, na której opierają się kluczowe aplikacje w ich organizacjach.

Najważniejsze elementy Mono 2.0 to wsparcie dla C# 3.0 i LINQu (Language INtegrated Query). Oprócz tego oprogramowanie dysponuje kompilatorem Visual Basic.NET, wsparciem dla ADO.NET 2.0, Windows Forms 2.0 oraz ASP.NET 2.0 (bez kontrolek WebPart). Producenci Mono uzasadniają skupienie się na tych elementach potencjalnie największym zainteresowaniem ze strony programistów. Jednakże już na pierwszy rzut oka widać, że Mono 2.0 ma też braki. Dotyczą one głównie obsługi i zgodności z podstawowymi elementami .NET 3.0, a mianowicie: Windows Communication Foundation, Windows Workflow Foundation oraz Windows Presentation Foundation. "Technologie te nie są aktualnie wspierane, gdyż użytkownicy Mono nie nalegali na to" - mówi Miguel de Icaza, wiceprezes platform programistycznych w Novell.

Ale prace nad wprowadzeniem obsługi WCF i WF trwają, a ich zakończenie planowane jest na przyszły rok. Zdaniem przedstawicieli Novell, najmniejsze szanse na wsparcie przez Mono ma WPF, gdyż silną pozycję na platformach unixowych ma projekt Moonlight - odpowiednik Silverlight dla Windows. Z tym akurat można by polemizować, gdyż Sliverlight to technologia zawierająca podzbiór WPF i uruchamiana wewnątrz przeglądarki, natomiast WPF pozwala także na budowanie aplikacji "okienkowych" i zawiera między innymi rozbudowane elementy grafiki 3D działające "bezpośrednio" pod kontrolą systemu operacyjnego.

Konkurencja dla .NET i Java

.NET pracuje dla konkurencji

Migracja z .NET do Unix, Linux lub MacOS

Microsoft współpracuje z Novell na kilku płaszczyznach. Wymienić należy wcześniej wspomniany projekt Moonlight oraz wsparcie dla wirtualizacji za pomocą Hyper-V dla SUSE Linux. Wprawdzie Mono nie stanowi poważnej kości niezgody (choć potencjalny problem mogą stworzyć prawa patentowe), ale wydaje się, że dla Microsoftu bardziej komfortowa jest sytuacja, gdy .NET jest jednoznacznie powiązany tylko z platformą systemową Windows. Wtedy prostota tworzenia aplikacji na tej platformie połączona z naturalnym trendem do ujednolicania infrastruktury mogłaby stanowić silny argument przemawiający za migrowaniem z innych systemów operacyjnych do Windows. Siłę .NET potwierdza badanie przeprowadzone przez IDC "Mission Critical North American Application Platform Study", według którego blisko 50% ankietowanych osób (programistów, architektów, kierowników działów IT) wskazało Microsoft .NET jako platformę, na której opierają się kluczowe aplikacje w ich organizacjach.

Mono 2.0 daje szansę (przynajmniej w teorii), że ten sam kod będzie mógł działać nie tylko pod kontrolą systemów operacyjnych Microsoftu, ale również pod Solarisem, MacOS lub Linuxem. Jest to dogodna sytuacja dla programistów, bo możliwość łatwego przeniesienia aplikacji na różne systemy zwiększa potencjalny popyt bez wzrostu kosztów związanych z koniecznością modyfikacji oprogramowania. Produkty do tej pory dedykowane tylko dla Windows będą miały szansę zaistnieć w nowym obszarze rynku i dotrzeć do szerszego grona odbiorców. W takim właśnie tonie wypowiada się Miguel de Icaza mówiąc: "Rozwijając projekt Mono chcieliśmy, aby większa liczba programistów zaczęła tworzyć i oferować aplikacje przystosowane do pracy pod kontrolą Linuxa".

Oprócz tego Mono to interesująca oferta dla firm wykorzystujących zarówno systemy Windows, jak i Unix lub Linux, bo nie będą musiały one budować kompetencji w zakresie kilku platform programistycznych. Opinie użytkowników są pod tym względem bardzo pozytywne. Potwierdzają one, że popularny język C# staje się uniwersalnym standardem, a pojawienie się technologii takich jak Mono może zagrażać nie tylko Microsoftowi, ale również Javie.

Marketing i rzeczywistość

Promocja Mono 2.0 koncentruje się na podkreślaniu jej niezależności od platformy systemowej oraz łatwości przenoszenia kodu między różnymi systemami. A jednym z najczęściej zachwalanych narzędzi tego pakietu jest Migration Analyzer (MoMA), który wspomaga programistów w wykrywaniu potencjalnych problemów, jakie mogą wystąpić przy migracji kodu aplikacji z .NET na Mono. A w przypadku złożonych rozwiązań problemy z konwersją są prawie nieuniknione. Świadomość tej sytuacji mają także twórcy Mono. Według ocen prezentowanych przez Miguela de Icaza, 45% aplikacji .NET będzie działać bez problemów po migracji do Unix, Linux lub MacOS, 18% będzie wymagało niewielkich poprawek kodu, natomiast w wypadku 20% niezbędne będą bardzo poważne jego modyfikacje. Zależy od stopnia integracji aplikacji z systemem operacyjnym. Na ile te szacunki są zgodne z rzeczywistością, na razie trudno ocenić. Użytkownikom Mono 2.0 pozostaje tylko mieć nadzieję, że ich kluczowa aplikacja lub najważniejsza funkcjonalność nie znajdzie się w trakcie migracji w 20% oprogramowania powodującego problemy.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200