5 narzędzi i technologii deweloperskich firmy Microsoft do zbadania w 2020 r

Pod koniec 2019 roku warto spojrzeć w przyszłość, przygotowując plany rozwoju aplikacji i plany rozwoju technologii. Ostatnie kilka lat przyniosło wiele zmian każdemu, kto tworzy na wielu platformach Microsoftu, a tempo to nie zwalnia.

Na co należy zwrócić uwagę w 2020 roku i dlaczego? Oto pięć opcji dla systemu Windows, platformy Azure i nie tylko. Nie są jedynymi, ale powinny rozpocząć Cię na drodze do bardziej nowoczesnego zestawu platform programistycznych i narzędzi.

Rozpocznij przejście na .NET 5

Być może największym wyzwaniem stojącym przed każdym tworzącym kod .NET jest przejście ze starzejącej się platformy .NET Framework na .NET Core wraz z wydaniem platformy .NET 5 pod koniec 2020 roku. Połączenie dwóch aspektów .NET ma sens, nawet jeśli wymaga utraty niektórych starszych interfejsów API. Firma Microsoft opublikowała listę tego, co będzie, a czego nie dokona przejścia w repozytorium .NET GitHub. Niektóre z brakujących interfejsów API zostaną przeniesione do implementacji społeczności, podczas gdy inne zyskają bardziej nowoczesne alternatywy.

Jeśli wspierasz i rozwijasz kod .NET Framework, rok 2020 będzie dobrą okazją do zbadania, jak kod zostanie dostarczony w przyszłości. Bieżąca wersja .NET Core 3.1 jest wersją długoterminowego wsparcia i wraz z bibliotekami .NET Standard obsługuje wiele interfejsów API, które będą dostępne w .NET 5. Przeniesienie kodu do .NET Core 3.1 daje możliwość eksploracji nie tylko jakie zmiany należy wprowadzić w kodzie, ale także aby zbudować nowy toolchain.

NET Core to przyszłość międzyplatformowa, z Blazor w WebAssembly i po stronie serwera za pośrednictwem ASP.NET i Razor; .NET Core w systemach Windows, macOS i Linux; i za pomocą platformy Xamarin na urządzeniach mobilnych. Przeniesienie kodu do .NET 5 to nie tylko obsługa przyszłych wydań systemu Windows, to szansa na dostarczenie go na wiele innych platform i użytkowników.

Rozpocznij eksplorację WinUI 3.0

W 2020 roku zmienia się platforma Windows. Microsoft w końcu dzieli Windows SDK na dwie części: oddzielając składniki interfejsu użytkownika do WinUI i pozostawiając funkcje na poziomie systemu operacyjnego. Wraz z nadchodzącym wydaniem WinUI 3.0, komponenty interfejsu użytkownika będą mogły być dostarczane w innym rytmie niż system operacyjny, dodając nowe elementy sterujące w miarę ich wydawania. Będą obsługiwane w systemie Windows 10 do użytku w aplikacjach Win32 i WinForms, a także w aplikacjach Universal Windows Platform (UWP).

WinUI będzie również obsługiwane w nowoczesnych przeglądarkach, takich jak nowy Edge oparty na Chromium, dzięki partnerstwu z platformą Uno, która będzie przenosić kontrolki do WebAssembly, umożliwiając WinUI dotarcie do znacznie szerszej publiczności. Istniejące aplikacje UWP będą mogły używać WinUI 3.0 z minimalnymi zmianami, a kod C ++ będzie mógł korzystać z nowych kontrolek, aby dodać obsługę języka projektowania Fluent firmy Microsoft.

Użyj AKS dla aplikacji natywnych dla chmury

Tworzenie nowoczesnych aplikacji w chmurze oznacza tworzenie rozproszonych aplikacji opartych na mikrousługach, wdrażanie skonteneryzowanego kodu tam, gdzie jest to potrzebne oraz zarządzanie zasobami w celu reagowania na zapotrzebowanie. Wszystko to wymaga koordynatora do zarządzania skalowaniem i wdrażaniem. Możesz samodzielnie zaimplementować Kubernetes, wchodząc w szczegóły związane z plikami konfiguracyjnymi kubectl i YAML. Istnieje jednak alternatywa na platformie Azure: opcja zarządzana z usługą Azure Kubernetes Service, zarówno dla kontenerów systemu Linux, jak i Windows.

Upraszcza to wdrażanie kontenerowych aplikacji i usług przy użyciu znanego portalu Azure, z dostępem do własnych funkcji sieciowych platformy Azure i możliwością pracy z narzędziami, takimi jak Terraform firmy HashiCorp. Inne opcje obejmują kontrolę dostępu opartą na rolach, aby zablokować dostęp do zasobów, zmniejszając narażenie na bezpieczeństwo.

AKS automatycznie skaluje klaster Kubernetes w górę iw dół oraz integruje się z narzędziami do monitorowania platformy Azure, dzięki czemu możesz uważnie obserwować operacje usługowe. Rezultatem jest połączenie czystej platformy Kubernetes, którą można zarządzać za pomocą narzędzi Kubernetes do precyzyjnej kontroli oraz znanego portalu Azure z zarządzanym dostępem do innych usług platformy Azure. Ta integracja usług może uprościć operacje Kubernetes, na przykład dzięki bezpośredniemu dostępowi do magazynu platformy Azure w celu uzyskania trwałych danych i obsłudze własnego rejestru kontenerów platformy Azure.

Jeśli tworzysz aplikacje Kubernetes na platformie Azure, naprawdę nie ma alternatywy, zwłaszcza jeśli weźmiesz pod uwagę usługi takie jak Azure Dev Spaces. Opierając się na AKS, Dev Spaces zapewnia bezpieczne, prywatne środowisko do tworzenia, testowania i debugowania kodu natywnego dla chmury bez wpływu na usługi produkcyjne.

Programuj dla chmury na swoim laptopie z WSL 2 i Docker

Nie tak dawno temu na każdym wydarzeniu dla programistów nie było widać nic poza linią świecących logo Apple. Teraz jest to znacznie bardziej zróżnicowany skład, ponieważ Microsoft pracował nad przywróceniem programistów do systemu Windows, zapewniając szybki dostęp do popularnych języków, takich jak Python, łatwy do dostosowania edytor programisty w Visual Studio Code, nowy terminal Windows i, większość co ważne, podsystem Windows dla systemu Linux (WSL).

Początkowo emulujący jądro Linuksa, WSL zostanie wkrótce zaktualizowany o własne jądro Linuksa działające razem z systemem Windows. Mając na celu ułatwienie tworzenia i testowania aplikacji w chmurze na komputerze PC, WSL 2 będzie zawierał również system plików Linux, do którego można uzyskać dostęp z systemu Windows, oraz obsługę zdalnej edycji za pomocą Visual Studio Code. Docker rozpoczął testowanie wersji Docker Desktop dla WSL 2. To dodaje natywną obsługę kontenerów Linuksa do systemu Windows, używając znanych plików dockerfiles do budowania i wdrażania lokalnych instancji kontenerów oraz kodu do pracy bezpośrednio z ich zawartością.

Połączenie systemów Windows, Linux i Docker zapewnia elastyczną podstawę do konstruowania potężnego, kompleksowego zestawu narzędzi programistycznych, który w pełni wykorzystuje każdą platformę i zapewnia elastyczność pracy tak, jak chcesz, jednocześnie dostarczając kod do typowych repozytoriów.

Bezpieczny Internet rzeczy dzięki usłudze Azure Sphere

Minęło trochę czasu, odkąd ostatni raz oglądałem Azure Sphere, platformę Microsoft do bezpiecznego IoT. Mieszanie zabezpieczeń sprzętowych z niestandardowym jądrem systemu Linux i platformą zarządzania hostowaną w chmurze jest sposobem na zapewnienie, że system operacyjny i aplikacje działające na Twoim sprzęcie nie zostały naruszone, a kodu nie można zmienić ani wstawić przez złośliwe strony trzecie.

Płytka programistyczna wykorzystująca bezpieczny mikrokontroler ARM firmy Microsoft jest dostępna już od jakiegoś czasu, a ostatnio dołączyły do ​​niej tańsze alternatywy. Jasne jest, że usługa Azure Sphere jest teraz gotowa do użycia w Twoich produktach, dzięki gotowym do produkcji modułom i SOC, dzięki czemu możesz zbudować własny sprzęt wokół niego. Nie potrzebujesz nowych narzędzi programistycznych; cały rozwój Azure Sphere odbywa się w znanym programie Visual Studio.

Jednym z bardziej interesujących rozwiązań jest zestaw jednostek Guardian opartych na sferze, które mogą współpracować z istniejącymi sterownikami przemysłowymi, dodając warstwę ochrony podczas integracji sterowników PLC i innych istniejących systemów przemysłowych z aplikacjami, umożliwiając podłączenie urządzeń, które mogły być brane pod uwagę zbyt ryzykowne, aby dodawać je do platformy IoT w przeszłości.