Sytuacja kobiet w IT w 2024 roku
11.07.20192 min
Bulldogjob

Bulldogjob

Preview Azure SDK w 4 językach programowania

Czy to koniec ciągłego bałaganu bibliotek do obsługi platformy Azure?

Preview Azure SDK w 4 językach programowania

Wygląda na to, że to koniec z niespójnością między ogromną ilością bibliotek wspierających używanie chmury Azure. Nowe biblioteki Microsoftu celują w rozwiązanie tego problemu dla programistów

Sam problem wynikał z prędkości, z jaką rozwijały się nowe funkcje na Azure przez kilka ostatnich lat. Tworzy to również swego rodzaju chmurową wersję typowego miszmaszu bibliotek, gdzie zależności pomiędzy bibliotekami dla różnych usług mogą być ze sobą sprzeczne, tak że programiści muszą żonglować różnymi wersjami, aby znaleźć działający zestaw. Inną kwestią jest to, że różne zespoły programistów przyjęły różne podejścia do projektowania swoich bibliotek, co w rezultacie powoduje jeszcze więcej problemów.

Dlatego też nowe biblioteki kodów zaczynają od czterech języków i czterech usług. Obsługiwane języki to Python, Java, JavaScript i C#/.NET. Usługi obsługiwane od początku to Azure Storage, Cosmos DB, Key Vault i Event Hubs.

Celem nowego SDK ma być wysoki standard dokumentacji i dostępnych przykładów oraz łatwe w użyciu API, które wyglądają jak natywne dla języka i ekosystemu docelowego. Standard dokumentacji i przykładów jest kluczowym wymogiem. Przykłady Microsoftu to zarówno takie, które są zbyt uproszczone, aby mogły być użyteczne, jak i projekty, które są tak duże i złożone, że przesłaniają podstawy używania API. W innych przypadkach ważne informacje mogą być ukryte we wpisie na blogu lub dyskusji na forum.

Podejście Microsoftu polega na stworzeniu zestawu wytycznych dla każdego z czterech języków, takich jak ten dla .NET tutaj. Punktem, na który należy zwrócić uwagę w odniesieniu do wytycznych .NET, jest zaangażowanie firmy w tworzenie rozwiązań międzyplatformowych:

Użycie kodu specyficznego dla danej platformy lub kodu natywnego wymaga wyjątkowego traktowania ze strony zespołu oceniającego ... Należy testować czy przykładowe aplikacje wykonują zadania zgodnie z oczekiwaniami zarówno na Linuksie, Windowsie i MacOS.

Microsoft zwraca również uwagę na problemy z kompatybilnością:

W niektórych przypadkach musieliśmy dokonać dużych zmian, aby uzyskać lepsze podstawy. Wierzymy, że oparcie się na tym fundamencie pomoże osiągnąć cele w zakresie produktywności opisane powyżej, a po jego ustanowieniu zamierzamy zapewnić wysoki stopień kompatybilności. Jako ostatnią uwagę na temat kompatybilności, przyjrzeliśmy się zależnościom, które wzięliśmy i staraliśmy się zminimalizować je w jak największym stopniu, aby zredukować przyszłe niezgodności i złożoność wersjonowania, co powinno ułatwić aktualizację bibliotek i korzystanie z innych elementów oprogramowania obok tych bibliotek.

Większość usług Azure posiada również REST API, które można wykorzystać w dowolnym języku. Każda aktualizacja do REST API może wprowadzać niekompatybilne zmiany, ale często nadal działają wywołania, o ile używają poprzedniej wersji API. Oznacza to, że nawet duże zmiany nie będą tak poważne: istniejący kod będzie nadal działał, dopóki nie będzie potrzebna jakaś funkcja, która wymaga nowszej wersji. W niektórych przypadkach nowsze API oferują również lepszą wydajność.

Pamiętajmy, że jest setki usług Azure i trochę poczekamy, zanim wszystko zostanie objęte przez Azure SDK. Nie mniej jest krok w dobrym kierunku.

<p>Loading...</p>