.NET pracuje dla konkurencji

18 listopad 2008
Sylwester Lewandowski
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

Kliknij, aby powiększyć
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.

Oceń artykuł

średnio: liczba ocen:

Komentarze

Redakcja Computerworld.pl nie ponosi odpowiedzialności za wypowiedzi Internautów opublikowane na stronach serwisu oraz zastrzega sobie prawo do redagowania, skracania bądź usuwania komentarzy zawierających treści zabronione przez prawo, uznawane za obraźliwie lub naruszające zasady współżycia społecznego. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną.

.ll.

  • ocena: brak oceny
  • IP: 84.234.33.202
  • 29-11-2008, 21:01

Mono może być alternatywą dla javy, a .net? Przecież to tylko na jednym systemie działa, to musi jakaś firma zewnętrzna specjalnie portować bo MS to nie interesuje, parodia.

normalny

  • ocena: 4
  • IP: 12.35.79.2
  • 19-11-2008, 16:57

Uwzględniając że na rynku jest dostępny .NET 3.5 SP1, Workflow Foundation jest bardzo często używany w aplikacjach (wygodny) to nie rozumiem optymizmu Miguela w kwestii migracji....
Mono jest tak lekko licząc 2.5 roku do tyłu w stosunku do .NET

Whitepaper Connect

Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME - Reklama - Licencjonowanie treści
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2009 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88