`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Visual Studio 2015 — в тренде кроссплатформенность

+33
голоса

Каждый мажорный релиз Visual Studio — знаковое событие для многомиллионной армии разработчиков, ориентированных на экосистему продуктов и сервисов Microsoft. С помощью очередного обновления IDE компания не просто предоставляет набор инструментов, но и задает направление, в котором она бы хотела видеть профессиональное движение разработчиков. В настоящий момент к релизу готовится Visual Studio 2015, которая уже доступна подписчикам MSDN для ознакомления в виде CTP-версий. Самое время познакомиться с новшествами и «направлениями», которые подготовила Microsoft для разработчиков.

Смена курса

Выход предыдущей версии Visual Studio 2013 был ознаменован сокращением цикла между релизами — вместо привычных двух-трех он сократился до полутора лет, судя по всему и 2015-я версия не заставит себя долго ждать: с момента предыдущего релиза прошло больше года, а Customer Technology Preview версия VS 2015 уже демонстрирует высокую степень готовности к выпуску. Несмотря на то, что обычно Microsoft старается максимальным образом сблизить релизы своих ОС и средств разработки, судя по всему, так было запланировано и в этот раз — Windows 10 уже на подходе. Тем не менее, можно предположить, что если выпуск ОС задержится, то затягивать с релизом IDE в компании не станут — похоже, наступил тот момент, когда Visual Studio переросла Windows и ее развитие идет уже своим чередом.

Знакомство разработчиков с Visual Studio начинается с экрана установки — здесь им предстоит выбрать именно тот набор компонентов и целевых платформ, с которым необходимо работать. Стоит предположить, что для многих из них именно этот экран VS 2015 вызовет наибольшее удивление, поскольку среди целевых платформ значатся Android и iOS, а среди списка доступных компонент, помимо соответствующих SDK присутствует даже браузер Google Chrome. Объяснение появлению столь неожиданных компонент в VS заключается в том, что в Microsoft, судя по всему, решили изменить свое отношение к конкурирующим платформам и позволили разработчикам создавать решения под них, не покидая «родную IDE». Пока сложно предсказать, какое влияние окажет столь смелый шаг на позиции самой компании, но в том, что он должен понравится разработчикам, сомневаться не приходится.

Visual Studio 2015 — в тренде кроссплатформенность

Окно инсталляции VS 2015 содержит достаточно неожиданные для неподготовленного пользователя компоненты, например, Android SDK и браузер Google Chrome

Итак, начнем с наиболее интересного новшества VS 2015, коим являются встроенные средства для создания приложений для iOS и Android. Следует отметить, что такая возможность в IDE от Microsoft существовала и ранее, но за счет установки расширений, а никак не из коробки. Это достаточно смелый шаг для Microsoft, к тому же особый интерес вызывают технологии, посредством которых такие возможности реализованы — как оказывается, это не извлеченная на свет из секретных лабораторий внутренняя разработка компании, а доступные в настоящее время проверенные решения от сторонних разработчиков. Примечателен тот факт, что их здесь несколько, ориентированы на широкий спектр пересекающихся с друг другом платформ, но в тоже время несовместимы между собой — это Visual Studio Tools for Apache Cordova, Xamarin и Unity. Принципиальное отличие между ними заключается в поддерживаемых языках: в первом случае это JavaScript/HTML/CSS, во втором и третьем — C#/XAML.

Visual Studio Tools for Apache Cordova

Apache Cordova — это открытый проект, позволяющий создавать мобильные приложения для широкого спектра платформ с использованием веб-технологий. Свою историю он ведет с проекта PhoneGap, созданного в 2009 г. канадской компанией Nitobi, офис которой находился на улице Cordova в Ванкувере. В 2011 г. компания передала исходный код проекта в Apache Software Foundation, в том же году ее приобрела Adobe. Под крылом Apache SF проект получил новое имя Apache Callback, но оно по каким-то причинам не прижилось и в итоге проект был переименован в честь улицы, на которой находился офис компании в Ванкувере. В свою очередь, PhoneGap продолжает существовать в качестве отдельного проекта, основанного на исходном коде Apache Cordova, подобно тому как Google Chrome основан на исходном коде проекта Chromium. Таким образом, в лице Visual Studio Tools for Apache Cordova мы видим попытку Microsoft создать свой аналог PhoneGap, который и представлен в VS 2015.

Visual Studio 2015 — в тренде кроссплатформенность

Visual Studio Tools for Apache Cordova позволяет создавать мобильных приложения, используя стек мобильных технологий

В отличие от оригинальной Apache Cordova, число поддерживаемых платформ в которой приближается к десяти, в VS 2015 представлено только их подмножество — Android 2.3 и выше, iOS 6-8, и, разумеется, различные варианты Windows 8/8.1/10 (мобильная, настольная и комбинированный вариант для универсальных приложений). Вряд ли такую «утрату» можно считать сколь-нибудь серьезным недостатком — трех указанных платформ достаточно, чтобы покрыть значительную часть мобильного рынка, остальные занимают мизерную долю. Впрочем, если такая потребность возникнет, то собрать проект под требуемую платформу можно используя инструментарий Apache Cordova — с ним сохраняется полная обратная совместимость. Что касается iOS, то здесь есть одна особенность: собрать проект и выполнять отладку в VS 2015 без участия MacOS X нельзя — необходимо в распоряжении иметь компьютер с этой ОС, на который необходимо установить специальное приложение-агент и разрешить удаленное подключение.

Если говорить об отладке проекта, то здесь также существует разнообразие: в зависимости от платформы, это может быть полноценный эмулятор, отладка непосредственно на устройстве, или использование симулятора Apache Ripple, который позволяет имитировать работу множества различных устройств в браузере. Примечательно, что наиболее широким набором вариантов отладки обладает Android, и в комплекте к стандартному эмулятору из Android SDK Microsoft предоставила еще один, собственной разработки — Visual Studio Emulator for Android. Его внешний вид и возможности в значительной мере соответствуют эмулятору Windows Phone, аналогично последнему для его работы требуется Hyper-V.

Xamarin

Второй набор кросс-платформенных технологий в VS 2015 предусматривает использование стороннего компонента Xamarin, который, однако, не входит в дистрибутив: при попытке создать проект для Android или iOS на языке C#, разработчику будет предложено загрузить инсталлятор Xamarin с официального сайта.

Для разработчиков, незнакомых с Xamarin, следует дать небольшую историческую справку. Компания основана Мигелем де Икаса (Miguel de Icaza), известным как автор проекта Mono — кросс-платформенной реализацией .Net Framework. У Mono по меркам IT-индустрии достаточно внушительная история: стартовавший в 2001 году проект был приобретен Novell спустя два года и продолжительное время развивался под крылом этой компании вплоть до 2011 года, когда новый владелец Novell сократил весь штат разработчиков проекта в США, в число уволенных сотрудников попал и основатель проекта. Однако увольнение команды не только не навредило проекту, но и подстегнуло его развитие: сразу же после увольнения Мигель основал компанию Xamarin, бизнес-модель которой заключается в предоставлении коммерческих инструментов для кросс-платформенной разработки с использованием C# и .Net Framework на основе Mono, которая продолжает поддерживаться развиваться командой компании.

Visual Studio 2015 — в тренде кроссплатформенность

Ripple — это легковесный, но весьма функциональный симулятор Apache Cordova

После установки Xamarin в Visual Studio появляется довольное большое число шаблонов проектов — несколько десятков, что позволяет выбрать наиболее подходящий под конкретные задачи. Целевые платформы — те же, что и в предыдущем случае. Принципиальное отличие от VS Tools for Apache Cordova, которая для рендеринга GUI полагается на движок браузера, состоит в том, что создаваемые при помощи Xamarin приложения используют для рендеринга механизмы GUI целевой платформы. Интересно, что при желании, можно создавать приложения, которые будут полагаться на GUI, прорисовываемый движком браузера — для этого существует шаблон WebView, который использует язык Razor.

Несмотря на вся привлекательность Xamarin, есть у него и один существенный недостаток — для использования с Visual Studio требуется приобретать платную лицензию. Отметим, что существует возможность бесплатного использования, в качестве IDE используется Xamarin Studio, однако годится такой вариант разве что для ознакомления — уж слишком много у бесплатной редакции ограничений, в том числе и на максимальный размер создаваемого приложения. Коммерческие редакции не отличаются демократичной ценой, к примеру, оптимальная по функциональности редакция Business предлагается в виде подписки за 83 долл. США в месяц или 999 дол. в год. Пока неизвестны подробности, будут ли какие-то особые условия для владельцев лицензии Visual Studio, но если Microsoft и Xamarin не смогут сделать привлекательное ценовое предложение, то C#-разработчики почувствуют ценовую дискриминацию по сравнению с другими вариантами.

Unity

Третий кроссплатформенный компонент — это Visual Studio Tools for Unity. Подобно предыдущим, он существует в виде отдельного независимого проекта, построенного вокруг игрового движка Unity, первая версия которого увидела свет 10 лет назад. В настоящий момент доступна 5-я версия движка, которая поддерживает внушительный список из 21-й игровой платформы. В качестве языков программирования в Unity используется C#, UnityScript (диалект JavaScript, притом достаточно сильно отличающийся от оригинала) и до недавнего времени — весьма экзотический язык Boo, поддержка которого прекращена с 5-й версии. Движок Unity особенно популярен у инди-разработчиков, а ослабления в части ограничений бесплатной редакции, которые были проведены в пятой версии движка, позволяют предсказать взрывной спрос на него среди разработчиков.

Поддержка Unity в VS существовала еще с 2010-й версии IDE от Microsoft, однако именно в 2015-й версии компания начинает говорить о поддержке игрового движка в документе, перечисляющем новые возможности среды разработки. К сожалению, в текущей CTP-версии Visual Studio Tools for Unity не входит в стандартный комплект поставки и среди создаваемых проектов отсутствует шаблон проекта со ссылкой на загрузку как в случае с Xamarin. Впрочем, не исключено, что такие возможности появятся в финальной версии.

Visual Studio 2015 Tools for Unity предоставляет весь необходимый набор функций для написания и отладки приложений не покидая IDE Visual Studio.

TypeScript: между добром и злом

Когда несколько лет назад Microsoft отказалась от развития Silverlight и предоставила возможность создавать Metro-приложения для Windows 8 с использованием JavaScript, то многие разработчики отнеслись с понимаем — все-таки реальность такова, что в условиях стремительного роста популярности этого скриптового языка создавать и поддерживать свои аналогичные решения весьма непросто, даже для такого гиганта, как глобальная корпорация из Редмонда. Какое-то время казалось, что Microsoft вольется в число ярых сторонников JavaScript, что не только будет способствовать дальнейшей популярности этого языка, но и окажет значительное влияние на его дальнейшее развитие.

Тем не менее, Microsoft не была бы сама собой, если бы не избрала свой обособленный путь. Речь идет о языке TypeScript, который в VS 2015 позиционируется как альтернатива JavaScript. С одной стороны — альтернатива — это всегда хорошо, с другой — необходимо принимать ответственные решения: стоят ли инвестиции средств и усилий в освоение новой технологии тех преимуществ, которые она дает, и тех рисков, которые с ней связаны? Все-таки историю с Silverlight еще не все успели забыть.

Для тех, кто совсем не знаком с TypeScript, следует привести небольшую справку. Это скриптовый язык, созданный в 2012 году Андерсом Хейлсбергом (Anders Hejlsberg), работающим в настоящее время в Microsoft над развитием C#. Андерс — один из талантливейших умов современности, его влияние на современные языки программирования неоспоримо, и TypeScript, вероятно, одно из лучших его творений. Идея этого языка заключается в том, чтобы наделить JavaScript лучшими практиками «традиционных» современных ООП языков, такими как классы, интерфейсы и статическая типизация, но в то же время сохранить полную обратную совместимость с ним: код на JavaScript является валидным TypeScript-кодом, а в процессе компиляции TypeScript-кода, тот компилируется в JavaScript, и уже после этого исполняется интерпретатором.

Если говорить о преимуществах TypeScript, то они будут в наибольшей степени заметны разработчикам, пришедшим в мир веб-технологий из мира «традиционных» языков, в которых ООП реализуется на основе классов, а соответствие типов данных определяется на этапе компиляции. Если же смотреть на TypeScript с позиции опытного веб-разработчика, то его преимущества будут не столь очевидны, зато недостатки могут оказать решающее значение на окончательное решение об использовании — среди таких можно назвать, например, неоднозначный вопрос с отладкой в браузере, все-таки в этом случае гораздо проще отлаживать тот JavaScript-код, который изначально был создан в IDE, чем тот, который был получен путем автоматической трансляции из другого языка. Впрочем, Visual Studio предоставляет свои собственные средства отладки, и если не выходить за рамки этой IDE, то каких-либо неудобств от использования языка можно и не заметить, зато переход к нему от, например, C#, будет гораздо безболезненнее, чем в случае с JavaScript.

В итоге перед разработчиками появляется неоднозначный выбор — с одной стороны TypeScript для избалованного возможностями языка C#-разработчика выглядит гораздо привлекательнее, чем JavaScript, с другой — последний тоже не стоит на месте и уже в этом году запланировано серьезное обновление, которое принесет многое из того, что записывается в преимущества первому — в частности, классы.

Новые возможности .NET, C# и ASP.NET

Вместе с VS 2015 поставляется и обновленная версия .NET Framework 4.6, а также языка C#. Здесь изменений столько, что впору создавать отдельную статью, поэтому вскользь остановимся лишь на наиболее интересных из них. В первую очередь — это то, что ядро .NET переходит в разряд Open Source и для него декларируется кроссплатформенность, притом для ядра номер мажорной версии будет на единичку выше — 5. Microsoft обещает не просто публиковать исходный код, но и привлекать сообщество разработчиков для его совершенствования и портирования на другие платформы. Первой из таких платформ должна стать Linux, а ASP.NET 5, в свою очередь, сможет исполняться без участия IIS сервера сразу поверх .NET Core 5 независимо от того, на какой ОС работает последняя.

C# обновился до 6-й версии и получил новый весьма продвинутый компилятор «Roslyn», возможности которого можно использовать прямо из языка, в том числе и для того, чтобы создавать свои языки, ориентированные на определенные задачи. Большинство из новых возможностей C# 6.0 ориентированы на то, чтобы сделать код понятнее и лаконичнее, например, автоматическая инициализация свойств или новый формат для инициализации словарей. Некоторые новшества, например, фильтры исключений, пришли прямиком из Visual Basic, который, в свою очередь, получил кое-что от C#.

Похвально, что Microsoft оживила платформу WPF, которая, увидев свет в момент выхода Windows Vista в 2006 году, практически не развивалась. Теперь у платформы появилось значительное число усовершенствований, направленных на то, чтобы ее «осовременить». Но что самое важное — так это то, что платформа получила дорожную карту развития и разработчики теперь не будут гадать, не поступит ли с ней Microsoft, как в свое время с Silverlight.

Редактор кода

Visual Studio всегда отличалась удобным редактором кода, который умеет заметно облегчать жизнь разработчикам. В 2015-й версии, вследствие использования компилятора Roslyn, появились дополнительные интересные возможности автоматического анализа кода и облегчения рефакторинга — в очередной раз разработчики из Microsoft вторгаются на территорию создателей ReSharper. Помимо редактора, новый компилятор оказал положительное влияние и на отладчик — многие разработчики оценят возможность отлаживать лямбда-выражения, которой у них до этого не было.

В IDE появилась возможность сохранять и вызывать заранее сохраненные наборы расположение окон — казалось бы небольшое изменение, на самом деле весьма положительно влияет на продуктивность работы. Удачное решение, примененное в Универсальных Приложениях — общие проекты, теперь может быть использовано в других решениях, что особенно будет полезно при создании решений с общим кодом для различных платформ.

Заключение

Microsoft — одна из тех компаний-старожилов рынка IT, у которой были свои взлеты и падения, а лучшие годы, вероятно, уже остались позади. Тем не менее, в отличие от некоторых почивших в бозе конкурентов, она демонстрирует чудеса гибкости и адаптируемости: несмотря на сомнительные попытки пробиться на уже поделенные рынки, как в случае с Windows Phone, компания не ставит все исключительно на свои решения, а умело диверсифицирует ставки.

Поскольку Visual Studio — это один из тех продуктов компании, который обязан своей популярностью не сомнительным методам продвижения, как в случае с Internet Explorer, а возможностям и удобству использования, то следует ожидать, что поддержка кроссплатформенной разработки только подстегнет популярность этой IDE, а с ней и поможет в реализации задуманной в Microsoft стратегии. Показательно, что в случае кроссплатформенного инструментария компания решила не изобретать велосипед, что с ней нередко случается, а использовать уже готовые и весьма популярные решения.

Возможно, тех разработчиков, которые уже занимаются кроссплатформенной разработкой на альтернативных IDE, решение от Microsoft не заинтересует, однако тем из них, кто большую часть времени проводит за окном Visual Studio, следует порекомендовать обратить внимание на новые возможности среды — уж если сама Microsoft решила пойти за трендом, то время действительно наступило.

+33
голоса

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT