r   e   k   l   a   m   a
r   e   k   l   a   m   a

Windows Compatibility Pack, czyli .NET na Linuksa ma być jednak drugiej kategorii

Strona główna AktualnościOPROGRAMOWANIE

Wydanie frameworka .NET Core miało być dowodem, że Microsoft zna się na interoperacyjności i potrafi dostarczyć platformę, która pozwoli na tworzenie aplikacji działających na wszystkich popularnych systemach operacyjnych. Najnowsze działania firmy z Redmond pokazują jednak, że to chyba nie o to chodziło. Zapowiedziany właśnie Windows Compatibility Pack dla .NET Core, służący ułatwieniu przenoszenia aplikacji z tradycyjnego .NET Frameworka na .NET Core, działa tylko na Windowsach.

Podczas ostatniej konferencji DevIntersections Europe dyrektor Microsoftu Scott Hunter zapowiedział rychłe udostępnienie do testów narzędzi Windows Compatibility Pack. Posłużyć ma on do przenoszenia starych aplikacji pisanych na .NET Framework na .NET Core 2.0, które implementuje wszystkie interfejsy programowania ujęte w nowym standardzie .NET Standard 2.0. Zaraz, zaraz, zakrzykną uważni Czytelnicy zaznajomieni z tematem, czy nowy .NET Framework (od 4.6.1) też nie jest zgodny z .NET Standard 2.0?

Owszem, na poziomie tego standardu mamy pełną zgodność. Poza nim jest jednak gorzej, standard nie obejmuje żadnych klas, które wiążą się ze specyficznymi dla Windowsa mechanizmami, takimi np. jak obsługa Rejestru. Po to właśnie pomyślano Windows Compatibility Pack, należy myśleć o nim jako o rozszerzeniu .NET Core, które działa tylko w Windowsach i dodaje wiele klas potrzebnych właśnie aplikacjom pisanym na platformę Microsoftu.

r   e   k   l   a   m   a

Scott Hunter wspomniał podczas swojej prezentacji m.in. o takich dodatkowych klasach jak Microsoft.Win32.Registry, System.CodeDom, System.Configuration.ConfigurationManager, System.Drawing czy System.Runtime.Caching. Ich udostępnienie ułatwi migrację istniejących aplikacji na .NET Core i pozwoli na łatwiejsze wykorzystanie pakietów menedżera NuGet.

Takie jednak przeniesione z wykorzystaniem Windows Compatibility Pack na .NET Core aplikacje przestaną spełniać podstawowe założenie .NET Core, tj. multiplatformowość. Nie uruchomimy ich na Linuksie czy macOS-ie. Dojdzie więc do sytuacji, gdy oprogramowanie na rzekomo multiplatformowy .NET Core będzie dzieliło się na równe (działające na wszystkich implementacjach tego frameworku) i równiejsze (działające tylko na Windowsie. Czy to ma być sposób na konkurowanie z uniwersalną Javą?

Pomyśleć by można, że faktycznym powodem takiej decyzji jest zamiar zakończenia życia klasycznego .NET Frameworka, by zastąpić go schludniejszym, bardziej nowoczesnym .NET Core. A niezależność od platform? To nie jest Java – Microsoft za daleko zabrnął w Windowsa, by na poważnie myśleć o multiplatformowości, wcale zresztą chyba nie tak ważnej dla jego klientów. Dobrym przykładem tego może być przeniesiony na Linuksa SQL Server – warstwa abstrakcji, która wykorzystywana jest do komunikacji z silnikiem systemu zarządzania relacyjną bazą danych, obsługiwać musi aż 1200 specyficznych dla Windowsa wywołań.

Testowa wersja (Technical Preview) Windows Compatibility Pack zostanie najprawdopodobniej udostępniona podczas najbliższej konferencji Ignite.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.