На конференции Connect 2015 корпорация Microsoft представила ряд новых инструментов для разработчиков и рассказала о будущем Visual Studio и C#. Абстрагируясь от многочисленных подробностей, мы видим, что речь идет о развитии нового направления.

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

«Мы работаем над тем, чтобы сделать инновационные инструменты доступными всем разработчикам, чтобы их легко можно было приобрести, а во многих случаях они вообще распространяются бесплатно, – заявил вице-президент Microsoft по сервисам для облачной разработки Брайан Харри. – Мы намерены поддерживать всех разработчиков, независимо от того, какие приложения и на каких платформах они проектируют. Больше внимания будет уделяться развертыванию, поддержке и сопровождению программного  обеспечения.  Для этого у нас имеются решения DevOps, мы позволяем разработчикам придерживаться методологии гибкого проектирования и выводим их в облачный мир».

Инструменты DevOps настолько важны, что Microsoft переименовывает свой сервис для разработки Visual Studio Online в Visual Studio Team  Services, тем самым больше акцентируясь на  непрерывной  разработке  и  развертывании  программного обеспечения, интеграции с облачными сервисами и  ускорении  циклов поставки готовых программ.

То же самое Microsoft делает и со  своими  собственными программными продуктами – Windows, Office и System  Center, а также с облачными сервисами. Кроме того, учитывая тенденции, происходящие  в клиентской среде, компания уделяет повышенное внимание как инструментам для разработчиков, так и поддерживающим их новым функциям Windows Server 2016 (в частности, контейнерам и новой компактной версии операционной системы Nano Server).

Командам разработчиков придется привыкнуть к потоку новых функций, которые будут появляться в  Windows  и  Office.  Что касается внутренней разработки, ее необходимо вести быстрее, обновления выпускать чаще, а бизнес-подразделения должны постоянно видеть результаты проделанной работы.

DevOps – это не просто вовлечение разработчиков в процесс технической поддержки, побуждающее их писать  простое в обслуживании  и использовании программное обеспечение. Команде, занимающейся техническим обслуживанием, нужно понимать, что перед развертыванием конфигурации программный код необходимо отладить и протестировать, а все заинтересованные лица должны видеть статус как разрабатываемых, так и уже введенных в эксплуатацию систем, хотя во многих организациях это будет сопряжено с серьезными культурными переменами. «С программным обеспечением сегодня связана любая компания, – отметил Харри. – И отличает их друг от друга в том числе и отношение к программному обеспечению. Очень важно быть более гибкими и эффективными, действовать быстрее и своевременно обновлять приложения в соответствии с меняющимися потребностями клиентов».

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

В Microsoft утверждают, что такие инструменты у них имеются, хотя их название многих может ввести в заблуждение.

«Все думают, что Visual Studio Online – интегрированная среда разработки, но на самом деле это не так, – пояснил Харри. – Продукту уже присвоено название Visual Studio Team Services, с тем чтобы люди понимали, что речь идет о наборе сервисов, позволяющем команде разработчиков внедрять гибкие практики DevOps. Эти сервис не интегрированная среда разработки и никогда ею не будут».

Смена названия сопровождается появлением новых функций, поддерживающих платформу Windows (сюда относятся сервис управления пакетами, в состав которого входит сервер NuGet, и предварительная версия управляющих сервисов нового поколения), Mac и iOS (компоненты, созданные в партнерстве с MacinCloud для операционных систем iOS и OS X), Java (новый плагин для среды разработки IntelliJ IDEA) и другие мобильные платформы (расширение, интегрируемое с приобретенным Microsoft в прошлом году сервисом анализа аварийных завершений и распространения бета-версий HockeyApp).

Новые инструменты управления версиями тоже являются многоплатформенными. «Мы уже продемонстрировали поддержку Docker, Apache Tomcat, сценариев оболочки Linux, Perl, Chef, множество самых разных средств, которые работают не на платформе Microsoft», – подчеркнул Харри.

Многоплатформенность важнее цены

Способы использования инструментов Microsoft для разработчиков меняются, меняется и то, что можно сделать с их помощью. Впрочем, вряд ли вам удастся серьезно сэкономить на инструментах для разработчиков, несмотря на то что многие из них распространяются бесплатно (новая программа Dev Express предусматривает бесплатное использование Azure в 2016 году).

Бесплатный редактор Microsoft Visual Studio Code, переведенный из ознакомительного варианта в стадию бета-версии, помимо Windows работает на платформах Linux и OS X, а расширения обещают сделать его еще более мощным. Их диапазон достаточно широк, начиная от надстроек для проверки орфографии и заканчивая глубокой поддержкой различных языков. «Кто-то построит среду разработки на языке Go с цветовым выделением синтаксических конструкций, реализацией функции Intellisense и возможностями отладки, – указал Харри. – Другой  проделает то же самое для Object Pascal. Таким образом, в Visual Studio Code появляется поддержка самых разных языков. На сегодняшний день для Visual Studio Code создано уже более ста различных расширений».

Все это отражает рост популярности инструментов Microsoft среди разработчиков, не входящих в традиционную аудиторию  компании. На площадке Visual Studio Marketplace разработчики могут продавать свои расширения и предлагать бесплатные надстройки (многие из которых работают в бесплатной версии Visual Studio Community).

«Некоторые из этих бесплатных инструментов доступны корпоративным клиентам, другие нет, – сообщил менеджер Microsoft Джон Монтгомери. – Мы не меняем условий использования Visual Studio Community - эта версия предназначена для обучения, реализации проектов с открытым кодом и использования очень маленькими командами. Мы не меняем условий для бесплатных сервисов Visual Studio Team Services – они предлагаются коллективам, объединяющим не более пяти человек. Новая программа Dev Essentials не накладывает ограничений, которые ужесточали бы условия использования отдельных продуктов (только  Visual Studio Community имеет лицензионные ограничения). Таким образом, у предприятия есть возможность по частям донести Dev Essentials до каждого разработчика – команды до пяти человек могут использовать Visual Studio Team Services и разработку с открытым кодом в рамках VS Community, воспользоваться преимуществами VS Code и наших обучающих средств, а впоследствии даже преимуществами Azure. Однако нельзя использовать Visual Studio Community для коммерческих разработок и объединять под крышей Visual Studio Team Services все предприятие».

Рост интереса к продуктам Microsoft объясняется и гибкостью ежемесячной и годовой подписки на право использования Visual Studio в облаке. Она предоставляет разработчикам доступ к Visual Studio Professional и Enterprise на короткий срок, благодаря чему предприятиям становится проще перераспределять между проектами людские и прочие ресурсы.

Причем бесплатное предложение Visual Studio Code представляется менее важным, чем распространение этого продукта с открытым кодом (код размещен на GitHub) и его многоплатформенность.

Компания Microsoft анонсировала и другие межплатформенные инструменты для создания приложений Android и iOS. Все больше возможностей открывается для проектирования в среде OS X: популярный эмулятор Android, включенный в состав Visual Studio, поддерживает теперь и OS X. Расширение GDB Debugger Extension для Visual Studio  делает возможной  отладку в среде Linux (для серверов Linux и устройств Интернета вещей). В Visual Studio появилась поддержка Java.

  «Мы  не  пытаемся  составить конкуренцию среде разработки Eclipse, – заявил Харри. –  Рассмотрим пример, когда  разработчики создают приложения для устройств Android, используя межплатформенный язык C++ для совместного использования компонентов. При этом они хотят управлять пользовательским интерфейсом Android, написанным на Java, и не желают переключаться постоянно между Visual Studio и Android Studio. Мы готовы предоставить им языковой сервис Java с цветовым выделением синтаксических конструкций, технологию Intellisense и средства отладки».

В подразделении инструментов разработки Microsoft мы видим смену акцентов, которая подкрепляется открытием исходного кода среды .NET, в результате чего Microsoft и сообщество сторонников программного обеспечения с открытым кодом совместными усилиями могут перенести полнофункциональную реализацию .NET Core на платформы Linux и OS X. «Мы уже анонсировали предварительные версии .NET Core 5 и ASP.NET 5 и использование лицензии 'Go Live' для .NET Core на платформах Windows, Mac и Linux, – объявил Харри. – У нас уже есть клиенты, использующие .NET Core в реальных средах».

Одним из них является компания Verizon, которая на протяжении долгого времени обращается к ASP.NET и сегодня использует .NET Core, ASP.NET и Docker для Linux в некоторых из своих систем. Именно стремление  обеспечить такую межплатформенную поддержку побудило Microsoft открыть исходный код .NET. Компания пытается построить развитую экосистему разработчиков, которая будет снабжать .NET новыми функциями и инструментами, расширяя тем самым инфраструктуру, где  можно будет использовать инструменты и сервисы Microsoft. Если перед разработчиками стоит задача создать сложные серверные веб-приложения, резонно выбрать для этого .NET и ASP.NET, но, чтобы воспользоваться их преимуществами, больше не нужен Windows Server (или облачные  сервисы  на платформе Windows Server).

Того же межплатформенного подхода придерживается и компания Google, пояснившая на конференции Connect 2015, почему команда разработчиков Angular использует Visual Studio Code, а при проектировании Angular 2 еще и Typescript – язык, расширяющий возможности JavaScript и предназначенный для создания крупных  веб-приложений (к их числу относятся, например, приложения Office Online и портал  Azure), регулярно обновляемых большими командами разработчиков.

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