Osiem powodów, dla których stos Microsoft jest nadal opłacalnym wyborem

Opublikowany: 2022-03-11

Dla programistów Microsoft 10 lat temu życie było wspaniałe. Firmy były zadowolone z tego, że w swoich projektach rozwojowych korzystały w 100% z Microsoftu. Z ASP.NET na interfejsie, .NET w warstwie środkowej i SQL Server na zapleczu, w większości wszystko działało bardzo dobrze. Kiedy tego nie zrobili, programiści po prostu zaakceptowali to jako coś, co było związane z terytorium. Microsoft prawie nie prowadził programu. Następnie, pod koniec ostatniej dekady, status goryla ważącego 800 funtów Microsoftu zaczął się ujawniać. Może było to spowodowane wprowadzeniem iPhone'a i Microsoftu, który nie przestawił się na mobilność, a może było to spowodowane rozprzestrzenianiem się projektów open source, ale wszystko się zmieniło i dziś te same firmy trzeba przekonać, że przejście na Microsoft Stack jest dobry pomysł. W tym artykule przedstawiono osiem powodów, dla których warto trzymać się stosu oprogramowania Microsoft.

Powód 1: .NET jest nadal jednym z najlepszych

Wprowadzony ponad 10 lat temu .NET Framework jest bogaty w funkcje i dokładnie przetestowany. Chociaż na początku istnienia platformy .NET często trzeba było łączyć programowanie natywne z kodem zarządzanym, większość zadań programistycznych jest obecnie obsługiwana po wyjęciu z pudełka. Nawet firmy takie jak Oracle wydały komponenty, które są w 100 procentach kodem zarządzanym .NET (tj. sterownikiem zarządzanym ODP.NET), aby komunikować się ze swoimi produktami. .NET API jest spójne, dobrze udokumentowane i używane przez miliony.

Baza wiedzy dostępna za pośrednictwem MSDN, StackOverflow oraz tysięcy forów i blogów jest ogromna. Przez lata programowania w .NET nie pamiętam przypadku, w którym utknąłbym na długo na błędzie frameworka; za każdym razem ktoś już doświadczył, zbadał i opublikował odpowiedź, nie zawsze taką, na którą liczyłem, ale wciąż coś, co popychało mnie do przodu. W nadchodzącym wydaniu 2015 .NET Core będzie open-source i będzie dostępny w systemach innych niż Windows.

Powód 2: ASP.NET ewoluował

stos microsoft

Patrząc wstecz na tradycyjny stos Microsoftu od sieci do bazy danych sprzed 10 lat, warto zobaczyć, które części przetrwały próbę czasu, a które wyblakły. Podczas gdy back-end stosu Microsoft pozostał praktycznie niezmieniony (nadal używamy tego samego zestawu wzorców i komponentów, takich jak Dependency Injection, Tasks, Linq, EF lub ADO), front-end, element ASP.NET, zobaczył fundamentalna zmiana z „zrób to jak Microsoft” (tj. formularze internetowe) na „zrób to po swojemu i używaj ASP.NET jako platformy”. Obecnie ASP.NET jest platformą opartą na MVC, zawierającą solidną infrastrukturę do uwierzytelniania, tworzenia pakietów i routingu, która integruje się z wieloma technologiami firm innych niż Microsoft, takimi jak Bootstrap i AngularJS. Witryny ASP.NET wyglądają ładnie w wielu różnych formatach, od telefonów po komputery stacjonarne, a funkcje internetowego interfejsu API sprawiają, że udostępnianie usług internetowych jest dziecinnie proste. Framework jest open-source od wielu lat, więc jeśli utkniesz na problemie, źródło jest dostępne na GitHub. ASP.NET zmienił się i zmienił na lepsze.

Powód 3: prostota internetowego interfejsu API i moc WCF

stos sieciowy i microsoft

Mój ulubiony cytat pochodzi od Alana Kaya, który powiedział: „Proste rzeczy powinny być proste; skomplikowane rzeczy powinny być możliwe”. Kiedy Windows Communication Foundation (WCF) pojawił się po raz pierwszy w 2006 roku, nie było to proste; zachowania, punkty końcowe i powiązania były przytłaczające. Tak więc firma Microsoft wydała Web API, łatwy w użyciu framework, który sprawia, że ​​udostępnianie usług internetowych HTTP to bułka z masłem. Dzięki kilku linijkom konfiguracji Twój interfejs API zamienia się w bezpieczną, „standardową” usługę sieciową.

Jeśli Twój przypadek użycia nie pasuje do „standardowej” formy i potrzebujesz pełnej kontroli nad tym, jak Twój interfejs API jest eksponowany w sieci, zawsze możesz skorzystać z WCF. Dzięki niezliczonym opcjom konfiguracji i haczykom WCF umożliwia niestandardowe serializowanie danych, rejestrowanie, przechwytywanie, przesyłanie wiadomości, korzystanie z komunikacji równorzędnej i kolejkowania oraz wiele innych. Web API, wraz z WCF, spełnia oba założenia cytatu Kay: jeśli potrzebujesz prostej usługi internetowej, wystarczy kilka minut dzięki Web API; jeśli Twoje wymagania dotyczące usługi są złożone, „wszystko” jest możliwe dzięki WCF. Te dwie technologie zapewniają kompleksową obsługę scenariuszy usług i są dostarczane wraz z platformą .NET.

Powód 4: SQL Server jest tak solidny, jak zawsze

Przez wiele lat wydawało się, że fala nowych języków programistycznych, frameworków i wzorców przeszła przez warstwy frontowe i środkowe, oszczędzając zaplecze bazy danych. W końcu stary dobry „SELECT” jest nadal w użyciu tak samo, jak 20 lat temu. Przypuszczam, że wynika to z faktu, że wiele firm postrzega swoje dane jako rdzeń swojej działalności, a zachowanie integralności tego rdzenia znacznie przewyższa ekscytację próbowaniem „czegoś nowego” w warstwie bazy danych.

SQL Server wyróżnia się w swojej podstawowej roli strażnika danych dzięki niezliczonym funkcjom dla transakcji, integralności referencyjnej, kopii zapasowych, dublowania i replikacji, ale to, co wyróżnia SQL Server na tle konkurencji, to to, jak dobrze integruje się z resztą stosu Microsoft. W celu szybkiego rozwoju istnieje Entity Framework, obecnie w wersji 6, przeszedł okres dojrzewania i dobrze spełnia swoją obietnicę usprawnienia dostępu do danych. Jeśli potrzebujesz mocy obliczeniowej, platforma .NET Framework jest ładowana w procesie z programem SQL Server, co oznacza, że ​​możesz osadzić kod .NET jako procedury składowane, funkcje lub agregacje bez poświęcania wydajności. Połącz to z faktem, że SQL Server 2014 zawiera tabele w pamięci, a możesz wymyślić całkiem zgrabne rozwiązania czasu rzeczywistego, których nie można było wystarczająco szybko stworzyć wyłącznie za pomocą SQL i zwykłych tabel. Po latach w branży SQL Server nadal znajduje się na szczycie mojej listy systemów zarządzania bazą danych (RDBMS).

Powód 5: Łatwo testowalny

Tyle razy, pracując w korporacyjnym IT, widziałem, jak oprogramowanie zamienia się w te nietykalne czarne skrzynki, ponieważ nie było testów i nikt nie chciał grzebać w kodzie w obawie przed „złamaniem czegoś innego”. Następnie pracowałem nad systemami, które miały tysiące testów i było to wspaniałe uczucie móc powiedzieć biznesowi, że „tak, możemy wprowadzić te zmiany” lata po wydaniu oprogramowania. Stos Microsoft został zaprojektowany z myślą o testowalności. ASP.NET MVC ma zaczepy do wstrzykiwania zależności, a w wersji 5 wstrzykiwanie zależności zostanie uwzględnione w samej strukturze. W warstwie środkowej jest podobnie: używamy wstrzykiwania zależności, aby oddzielić implementację od interfejsu, co pozwala nam zamieniać typy produkcyjne na mocki w czasie testu. Nawet po stronie bazy danych istnieją narzędzia danych SQL Server, które są dostarczane z szablonami do testowania w warstwie procedur składowanych. Testowanie jest dziś nieodłączną częścią procesu tworzenia oprogramowania, a stos Microsoftu jest dobrze przygotowany do tej nowej rzeczywistości.

Powód #6: Rozbudowany ekosystem wsparcia

Jeśli chodzi o wsparcie, fajnie jest mieć szereg opcji, zaczynając od forów społecznościowych, a kończąc na prawdziwym żywym człowieku pracującym na miejscu na twoim serwerze. Ekosystem online produktów firmy Microsoft jest jednym z największych w branży. W końcu Microsoft został założony przez Billa Gatesa, samego programistę, który widział szerokie przyjęcie przez programistów jako klucz do rozprzestrzeniania się produktów Microsoftu. Oznaczało to zapewnienie tym programistom ogromnego wsparcia.

Microsoft był jednym z pierwszych, którzy zachęcili swoich pracowników do blogowania na temat technologii, nad którą pracowali, i chociaż reszta branży z pewnością dogoniła, ilość i jakość filmów instruktażowych, przewodników i artykułów pochodzących bezpośrednio od Microsoftu nadal jest bardzo imponujące. Ta warstwa wysokiej jakości treści online jest uzupełniana przez dużą liczbę społecznościowych ekosystemów wsparcia, takich jak StackOverflow, które nie są tak spójne, jeśli chodzi o jakość treści, ale mimo to są znacznie bardziej pomocne niż nie.

Wreszcie, zawsze istnieje możliwość odebrania telefonu i skontaktowania się z pomocą techniczną firmy Microsoft. Rzadko musiałem z niego korzystać, ale było kilka sytuacji awaryjnych, gdy deweloperzy z Microsoftu analizowali zrzuty rdzenia, które uratowały dzień. Zakres opcji wsparcia jest wyraźnie czynnikiem przemawiającym za przejściem ze stosem Microsoft.

Powód 7: Microsoft trzyma się swoich produktów

Kilka lat temu wybór Microsoft Silverlight jako interfejsu do aplikacji wydawał się trafnym wyborem, ale już tak nie jest. Wraz z trendem mobilnym w pełnym rozkwicie i frameworkami JavaScript dominującymi w przestrzeni front-endowej, Silverlight nie jest już wykonalną opcją; niemniej jednak nadal jest wspierany przez Microsoft do 2021 roku. Microsoft trzyma się swoich broni, co jest dobre dla tych z nas, którzy muszą dokonywać wyborów technologicznych bez posiadania magicznej ósemki, aby powiedzieć nam, jaki trend technologiczny zdominuje krajobraz oprogramowania w przyszłości. Korzystanie ze stosu Microsoft zapewnia, że ​​czas i pieniądze zostaną zainwestowane w technologię, która będzie obsługiwana, nawet jeśli wypadnie z łask w branży.

Powód nr 8: parasol Visual Studio

Dziesięć lat temu około 50% czasu spędzałem pracując w Visual Studio i około 50% w innych narzędziach. Dziś podział jest zdecydowanie na korzyść Visual Studio. Wizja Microsoft, aby Visual Studio było kompleksowym rozwiązaniem do obsługi środowisk IDE, urzeczywistnia się dzięki wielu produktom Microsoft i innych firm oferujących pewien poziom integracji z Visual Studio. Od tworzenia baz danych za pomocą narzędzi SQL Server Data Tools po pisanie aplikacji na iPada i Androida za pomocą platformy Xamarin — program Visual Studio zapewnia znane środowisko deweloperskie ze spójnym interfejsem użytkownika. To samo można powiedzieć o pracy z Microsoft Azure, platformą chmurową obejmującą różnorodne usługi, od hostingu baz danych po usługi mobilne.

Visual Studio zaciemniło złożoność infrastruktury rozproszonej chmury, czyniąc środowisko tworzenia aplikacji w chmurze spójnym z tworzeniem aplikacji, które nie są hostowane w chmurze. Wszystkie elementy wydają się pasować do siebie pod parasolem Visual Studio, dzięki czemu cały proces tworzenia jest bardzo wydajny.

Microsoft Stack — najlepsze z obu światów

Obecnie istnieje znacznie więcej możliwości pisania wysokiej jakości oprogramowania w porównaniu do sytuacji sprzed 10 lat. To z pewnością dobra rzecz, ponieważ konkurencja zmusza dużych graczy, takich jak Google, Apple, Amazon i Microsoft, do kontynuowania innowacji i nie popadania w samozadowolenie. Podczas gdy Microsoft został zepchnięty ze szczytu góry przez ewolucję technologiczną ostatniej dekady, firma pokazała, że ​​jest gotowa się dostosować i jest dostosowana do realiów obecnych trendów technologicznych. ASP.NET objął inne technologie i metodologie, wiele z nich open source, z oryginalnymi formularzami sieci Web odchodzącymi do historii. Platforma .NET wciąż ewoluuje, przełamując nowe granice dzięki bibliotekom do przetwarzania wielowątkowego i wielordzeniowego. Wraz z zbliżającym się wydaniem 2015 rdzeń frameworka będzie oparty na otwartym kodzie źródłowym i przenośnym na platformy inne niż Windows, co jest krokiem w kierunku otwartości i przejrzystości.

Te mile widziane ulepszenia pochodzą od firmy, która od dawna posiada procesy wydawania oprogramowania, które jest testowane, udokumentowane i wspierane. Przejście ze stosem Microsoftu zapewnia ekscytację związaną z pracą z nowoczesnymi językami i frameworkami oraz stabilność, jaką daje gigant oprogramowania z wieloletnim doświadczeniem w branży programistycznej. Dlatego dziś polecam stos Microsoftu.