Восемь причин, почему Microsoft Stack по-прежнему является жизнеспособным выбором

Опубликовано: 2022-03-11

10 лет назад жизнь разработчиков Microsoft была прекрасной. Компании были довольны 100-процентным использованием Microsoft в своих проектах разработки. С ASP.NET на внешнем интерфейсе, .NET среднего уровня и SQL Server на бэкенде по большей части все работало очень хорошо. Когда они этого не сделали, разработчики просто приняли это как нечто само собой разумеющееся. Microsoft почти управляла шоу. Затем, в конце прошлого десятилетия, статус 800-килограммовой гориллы Microsoft начал разрушаться. Может быть, это произошло из-за появления iPhone и того, что Microsoft пропустила переход к мобильным устройствам, или, может быть, из-за распространения проектов с открытым исходным кодом, но все изменилось, и сегодня те же самые компании нужно убедить, что переход на Microsoft Stack — это неправильно. хорошая идея. В этой статье представлены восемь причин в пользу того, чтобы придерживаться программного стека Microsoft.

Причина № 1: .NET по-прежнему остается одной из лучших

Появившаяся более 10 лет назад платформа .NET Framework обладает широким набором функций и тщательно протестирована в боевых условиях. Хотя на заре .NET было обычным делом совмещать нативную разработку с управляемым кодом, сегодня подавляющее большинство задач разработки поддерживаются «из коробки». Даже такие компании, как Oracle, выпустили компоненты, которые на 100% состоят из управляемого кода .NET (т. е. управляемого драйвера ODP.NET) для взаимодействия со своими продуктами. .NET API согласован, хорошо задокументирован и используется миллионами.

База знаний, доступная через MSDN, StackOverflow и тысячи форумов и блогов, огромна. За годы разработки в .NET я не могу вспомнить случая, когда бы я надолго застрял из-за ошибки фреймворка; каждый раз кто-то уже испытал, исследовал и опубликовал ответ, не всегда ответ, на который я надеялся, но все же что-то, что двигало меня вперед. В предстоящем выпуске 2015 года .NET Core будет иметь открытый исходный код и будет доступен в системах, отличных от Windows.

Причина № 2: развитие ASP.NET

стек майкрософт

Оглядываясь назад на традиционный стек Microsoft для передачи данных из Интернета в базу данных 10 лет назад, интересно увидеть, какие части выдержали испытание временем, а какие исчезли. В то время как серверная часть стека Microsoft практически не изменилась (мы по-прежнему используем тот же набор шаблонов и компонентов, таких как внедрение зависимостей, задачи, Linq, EF или ADO), внешний интерфейс, часть ASP.NET, увидел фундаментальный переход от «делай как Microsoft» (т.е. Web Forms) к «делай по-своему и используй ASP.NET в качестве платформы». Сегодня ASP.NET представляет собой платформу на основе MVC с надежной инфраструктурой для аутентификации, объединения и маршрутизации, которая интегрируется со многими технологиями, не принадлежащими Microsoft, такими как Bootstrap и AngularJS. Сайты ASP.NET хорошо смотрятся на самых разных форм-факторах, от телефонов до настольных компьютеров, а возможности веб-API упрощают предоставление веб-служб. Фреймворк был открытым исходным кодом в течение нескольких лет, поэтому, если вы застряли в проблеме, исходный код доступен на GitHub. ASP.NET изменился, и изменился к лучшему.

Причина № 3: Простота веб-API и мощь WCF

веб и стек майкрософт

Моя самая любимая цитата Алана Кея, который сказал: «Простые вещи должны быть простыми; сложные вещи должны быть возможными». Когда Windows Communication Foundation (WCF) впервые появился в 2006 году, это было совсем не просто; поведение, конечные точки и привязки были ошеломляющими. Итак, Microsoft выпустила Web API, простую в использовании структуру, которая упрощает предоставление веб-служб HTTP. С помощью нескольких строк конфигурации ваш API превращается в безопасный веб-сервис, отвечающий отраслевым стандартам.

Если ваш вариант использования не соответствует «стандартной» форме и вам нужен полный контроль над тем, как ваш API предоставляется по сети, вы всегда можете вернуться к WCF. Благодаря множеству параметров конфигурации и ловушек WCF позволяет настраивать сериализацию данных, журналирование, перехват, маршрутизацию сообщений, использование одноранговых сетей и очередей и многое-многое другое. Web API вместе с WCF соответствует обоим принципам цитаты Кея: если вам нужна простая веб-служба, с Web API вы справитесь за считанные минуты; если ваши требования к обслуживанию сложны, «все» возможно с WCF. Эти две технологии обеспечивают всесторонний охват сценариев обслуживания и поставляются в комплекте с платформой .NET.

Причина № 4: SQL Server надежен как никогда

В течение многих лет казалось, что приливная волна новых языков разработки, фреймворков и шаблонов прошла через передний и средний уровни и пощадила серверную часть базы данных. В конце концов, старый добрый «SELECT» сегодня используется так же часто, как и 20 лет назад. Я полагаю, это связано с тем, что многие компании рассматривают свои данные как основу своего бизнеса, и сохранение целостности этого ядра намного перевешивает волнение от попытки «чего-то нового» на уровне базы данных.

SQL Server превосходно справляется со своей основной ролью хранителя данных с множеством функций для транзакций, ссылочной целостности, резервного копирования, зеркалирования и репликации, но что отличает SQL Server от конкурентов, так это то, насколько хорошо он интегрируется с остальной частью стека Microsoft. Для быстрой разработки существует Entity Framework, в настоящее время в версии 6, прошедшей подростковый возраст и хорошо выполняющей свои обещания по оптимизации доступа к данным. Если вам нужна вычислительная мощность, .NET Framework загружается в процесс вместе с SQL Server, что означает, что вы можете внедрить код .NET в виде хранимых процедур, функций или агрегатов без ущерба для производительности. Соедините это с тем фактом, что SQL Server 2014 поставляется с таблицами в памяти, и вы можете придумать несколько довольно удобных решений для работы в реальном времени, которые нельзя было бы сделать достаточно быстрыми только с SQL и обычными таблицами. После нескольких лет работы в отрасли SQL Server по-прежнему возглавляет мой список СУБД.

Причина № 5: это легко проверить

Столько раз, работая в корпоративных ИТ, я видел, как программное обеспечение превращается в эти неприкасаемые черные ящики, потому что не было тестов, и никто не хотел возиться с кодом из страха «сломать что-то еще». Затем я работал над системами, которые прошли тысячи тестов, и было здорово иметь возможность сказать бизнесу, что «да, мы можем внести эти изменения» спустя годы после выпуска программного обеспечения. Стек Microsoft разработан с учетом возможности тестирования. В ASP.NET MVC есть хуки для внедрения зависимостей, а в версии 5 внедрение зависимостей будет включено в сам фреймворк. На среднем уровне аналогичная история: мы используем внедрение зависимостей, чтобы отделить реализацию от интерфейса, что позволяет нам обменивать производственные типы на моки во время тестирования. Даже на стороне базы данных есть инструменты данных SQL Server, которые поставляются с шаблонами для тестирования на уровне хранимых процедур. Сегодня тестирование — неотъемлемая часть процесса разработки программного обеспечения, и стек Microsoft хорошо приспособлен для этой новой реальности.

Причина № 6: продуманная экосистема поддержки

Когда дело доходит до поддержки, приятно иметь ряд вариантов, начиная с форумов сообщества и заканчивая реальным живым человеком, работающим на вашем сервере. Онлайн-экосистема для продуктов Microsoft — одна из крупнейших в отрасли. В конце концов, Microsoft была основана Биллом Гейтсом, самим разработчиком программного обеспечения, который видел в широком внедрении разработчиков ключ к распространению продуктов Microsoft. Это означало предоставление этим разработчикам большой и большой поддержки.

Microsoft была одной из первых, кто поощрял своих сотрудников вести блоги о технологиях, над которыми они работали, и, хотя остальная часть отрасли, безусловно, догнала их, количество и качество обучающих видеороликов, руководств и статей, поступающих непосредственно от Microsoft сегодня, по-прежнему невелики. очень впечатляюще. Этот слой качественного онлайн-контента дополняется большим количеством экосистем поддержки на базе сообщества, таких как StackOverflow, которые не так постоянны, когда речь идет о качестве контента, но, тем не менее, гораздо более полезны, чем нет.

Наконец, всегда есть возможность поднять трубку телефона и позвонить в службу поддержки Microsoft. Мне редко приходилось использовать его, но было несколько производственных чрезвычайных ситуаций, когда разработчики Microsoft анализировали дампы ядра, спасали положение. Диапазон вариантов поддержки явно является фактором в пользу использования стека Microsoft.

Причина № 7: Microsoft придерживается своих продуктов

Несколько лет назад выбор Microsoft Silverlight в качестве внешнего интерфейса для приложения казался правильным выбором, но это уже не так. С мобильным трендом в полном разгаре и фреймворками JavaScript, доминирующими во внешнем интерфейсе, Silverlight больше не является возможным вариантом; тем не менее, он по-прежнему поддерживается Microsoft до 2021 года. Microsoft придерживается своего мнения, что хорошо для тех из нас, кому приходится делать выбор в отношении технологий, не имея волшебного шара-восьмерки, чтобы сказать нам, какая технологическая тенденция будет доминировать в программном ландшафте в будущем. Использование стека Microsoft гарантирует, что время и деньги будут инвестированы в технологию, которая будет поддерживаться, даже если она потеряет популярность в отрасли.

Причина № 8: зонтик Visual Studio

Десять лет назад я тратил около 50 % своего времени на работу с Visual Studio и около 50 % на другие инструменты. Сегодня раскол в подавляющем большинстве случаев в пользу Visual Studio. Представление Microsoft о том, что Visual Studio должна быть универсальным решением для размещения IDE, воплощается в жизнь, когда многие продукты Microsoft и других производителей предлагают определенный уровень интеграции с Visual Studio. От разработки базы данных с помощью SQL Server Data Tools до написания приложений для iPad и Android с помощью Xamarin — Visual Studio предлагает знакомые возможности разработчика с согласованным пользовательским интерфейсом. То же самое можно сказать и о работе с Microsoft Azure, облачной платформой, охватывающей множество сервисов от хостинга баз данных до мобильных сервисов.

Visual Studio запутала сложности распределенной облачной инфраструктуры, сделав опыт разработки облачных приложений сопоставимым с опытом разработки приложений, не размещенных в облаке. Кажется, что все части прекрасно сочетаются друг с другом под эгидой Visual Studio, что делает общий процесс разработки очень эффективным.

Microsoft Stack — лучшее из обоих миров

Сегодня существует гораздо больше возможностей для написания качественного программного обеспечения, чем 10 лет назад. Это, безусловно, хорошо, потому что конкуренция заставляет крупных игроков, таких как Google, Apple, Amazon и Microsoft, продолжать внедрять инновации и не останавливаться на достигнутом. В то время как Microsoft была вытеснена с вершины технической эволюцией последнего десятилетия, компания показала, что она готова адаптироваться и настроена на реалии текущих технологических тенденций. ASP.NET использовала другие технологии и методологии, многие из которых были с открытым исходным кодом, а исходные веб-формы ушли в историю. Платформа .NET продолжает развиваться, открывая новые горизонты благодаря библиотекам для многопоточности и многоядерных вычислений. С предстоящим выпуском 2015 года ядро ​​​​фреймворка будет с открытым исходным кодом и переносимым на платформы, отличные от Windows, что является шагом в направлении инклюзивности и прозрачности.

Эти долгожданные улучшения исходят от компании, у которой давно налажены процессы выпуска протестированного, задокументированного и поддерживаемого программного обеспечения. Использование стека Microsoft приносит удовольствие от работы с современными языками и платформами, а также стабильность благодаря поддержке софтверного гиганта с многолетним опытом работы в индустрии разработки. Вот почему сегодня я рекомендую стек Microsoft.