Почему я снова с интересом смотрю на .NET

4 minute read Published:

В десятом классе школы, когда играть на компьютере просто наскучило, мне под руку попалась книга по Delphi 8. Я до сих пор помню как часами просиживал за передиранием примеров из книги и их модификацией. Это было время Windows XP на моем десктопе, Winamp (и бесчисленных скинов к нему), Total Commander и прочего крякнутого (cracked)] софта, а так же изредка форматирования всего жесткого диска из-за попытки установки SUSE Linux. Спасибо журналу Хакер.

Из того же журнала я узнавал обо всех “новинках” из мира ИТ и программирования, т.к. в то время (да и, кстати, сейчас) в небольшом поселке не было Интернета ни в каком его проявлении. Как-то я прочел о C#, .NET, Visual Studio в очередном номере и сравнивая с выходящим из моды Delphi решил изучать новый изык, тем более платформа давала возможность разрабатывать веб-приложения.

Помниться, как я был воодушевлен CD или DVD диском присланным на адрес родителей по почте с бесплатной “студией”, другими утилитами, и MSDN подпиской. К слову, закончился мой халявный аккаунт только в этом году, но у меня до сих пор есть куча лицензий от Microsoft. За что им огромное спасибо.

Опыт с .NET на десктопе был прекрасен по сравнению с альтернативами. Сначала Windows Forms, затем WPF / Silverlight позволяли мне реализовать все мои идеи и начать фрилансить уже на первом курсе универа. О, я помню этот говно-код использующий XML в качестве БД, за который я получил свои первые 5 или 10 долларов! Язык C#, стандартная библиотека платформы мне дико нравились и делали меня продуктивным. Материала и книг было предостаточно. И даже без знания английского языка можно было спокойно изучать что-то новое в рамках фреймворка и двигаться в ногу со временем.

А вот с ASP.NET не было все так гладко. Сама технология требовала изучения гораздно больше вещей, чем те же PHP, Python, или Ruby. Концепция Web Forms мне не понравилась своей громоздкостью, Viewstate и взаимодействием с фронтендом, хотя и было приятно иметь User Controls в своем распоряжении. В общем, скорость разработки человека в одиночку реализующего даже небольшой проект была низкой.

Затем я пытался открыть для себя мир Unix, MySQL и динамических языков. Набросать что-то на PHP, установить MySQL на виртуалку занимало гораздно меньше времени чем сделать то же самое на ASP.NET + MSSQL + Windows Server. Да и банально было дешевле. Тогда Microsoft все-таки была повернута задним местом к стартапам, небольшим компаниям и программистам-одиночкам. Правда уже в самом начале пути мой развращенный паттернами мозг стал догадываться что с дизайном PHP и сообществом было что-то не так. “Херак-херак и в продакшен”, как говориться.

В один прекрасный день, я узрел пятнадцати-минутное видео о создании простого блога на Ruby on Rails. Это был момент когда я дико захотел купить себе Mac, TextMate, никогда не возвращаться к Windows и вообще быть таким же “крутым” перцем как чуваки из Ruby сообщества. Fuck yeaaa!

И вот спустя несколько лет маководства и разработки на Ruby, я начал интересоваться функциональным программированием и компилируемыми языками для задач, в которых динамичекий язык не лучший выбор. Microsoft же зарелизили Windows 10, XBox One, мой любимый Visual Studio Code и поменяли отношение к сообществу разработчиков в целом. Анонс .NET Core и поддержка Linux вселили странные мысли в мою голову: а что если они действительно доведут платформу до ума, и я смогу на своем любимом Mac писать на C# или F#, иметь всю мощь фреймворка и быть продуктивным?

Поигрался немного с .NET Core 1 и понял, что пока рано. Прошло какое-то время и зарелизился .NET Core 2.0. Стало понятно, что Microsoft сильно рассчитывает на платформу и хочет сделать современное, масштабируемое и облако-ориентированное решение. Посмотрите хотя бы на то, как активно они продвигают кросс-платформенность, Azure, Docker, Kubernetes (даже хантят Go разработчиков для проекта) и какой вклад вносят теперь в Open Source. Просто невероятно как компания сменила направление после прихода нового CEO. Ясно, что всегда есть маркетинг вокруг технологий для привлечения разработчиков и завоевания какой-то части рынка, но это ничуть не уменьшает заслуг и объема работ вокруг .NET Core.

А теперь вкратце, почему .NET Core 2.0 может быть точкой возрата к платформе Microsoft, для программистов когда-то потерявших к ней интерес:

  • Внятный роудмэп и планы на будущее
  • Исправлена куча багов, повышена производительность, добавлено множество новых API из .NET Framework
  • Microsoft Azure, Google Cloud Platform (GCP), Amazon Web Services (AWS) и Linux в качестве более дешевой и масштабируемой альтернативы Windows Server
  • Унифицирование API позволяет использовать тот же код на разных операционных системах и платформах
  • ASP.NET Core 2.0 выглядит привлекательным и масштабируемым решением. Посмотрите на тот же Kestrel, поддержку фронтенд фреймворков. Ну и производительность на уровне.
  • Языки F#, C# 7
  • Рост, взросление и участие компьюнити в развитии платформы.
comments powered by Disqus