Впечатления о Xamarin Studio в Windows

9bafd4c765496e7932b219beac941b0c.pngПримерно год назад у меня появилась идея освоить разработку мобильных приложений. Поскольку изучение методик под каждую платформу отдельно (native) меня не впечатлило, большое внимание решил уделить проекту Mono и освоить кроссплатформенную разработку на C#.

Предисловие Сперва прочитал ряд полезных статей на хабре: подробно о Xamarin, кроссплатформенная разработка для мобильных с Xamarin, пишем первое приложение на Mono Android. Воодушевившись, установил Monodroid-плагин к Visual Studio и попробовал портировать на Android несколько старых проектов мини-игр, оставшихся со времен XNA на ПК (в этом помог движок Monogame — синтаксически совместимая с XNA реализация под разные платформы).Все, конечно, заработало, но не скажу, что результаты меня сильно впечатлили. Компиляция и запуск на внешнем устройстве занимали около 3–4 минут (на эмуляторе — еще дольше), отладка из-под VS была ужасной, установка breakpoint-а грозило зависанием минуты на 2–3, пошаговое выполнение практически не представлялось возможным. В общем, единственное, что тогда сильно выручило — портируемая мною игра функционировала нормально на XNA и была отлажена на ПК, при портировании на Android необходимость в тестировании была минимальной.

Но так и не получив доведенного до финальной стадии продукта, решил оставить это дело на некоторое время.

Впечатления Однако желание писать C#-программы не только на ПК, но и на мобильные устройства, никак не оставляло. Подогревали интерес и регулярные новости о Xamarin, между делом смотрел отличный раздел документации на официальном сайте. Волей-неволей задвался вопросом: зачем подробно изучать Java и Objective-C, если есть Xamarin с такими грандиозными возможностями? Вот так примерно год спустя после прошлой попытки, в апреле 2014 я решил вернуться к мобильным разработкам на C#, установить свежую версию Monodroid и фирменную IDE — Xamarin Studio.Xamarin Studio start screen b18655b7de09ddbd93058d6224017eda.png Честно скажу, изменения почувствовались сразу. Видно, что за последний год разработчики сильно продвинулись, уделив внимание комфортному использованию их продукта. Компиляция и запуск на устройстве занимает ~20–30 секунд, отладка работает как часы.Отладка в Xamarin Studio b0af00235acb100281db23ec819eb32f.png Дизайн IDE определенно имеет свою эстетику. Те, кто хоть раз пользовался Xcode, поймут о чем речь. Xamarin Studio разрабатывался в первую очередь для Mac, лишь после был портирован на Windows с сохраненим оформления.Есть и приятная подсветка синтаксиса, и множество других хороших мелочей, например, присутствуют все приятные «фичи» VS вроде автоматического выстраивания отступов, автодополнения кода и подсказок. При этом Xamarin Studio, в отличие от VS, загружается практически мгновенно.

Настроек довольно много, но все нацелено на максимальную простоту. Подробно я с ними не разбирался, по-быстрому поменял лишь некоторые комбинации клавиш и посмотрел, как настраивается выстраивание отступов (по умолчанию включено, что открывающаяся фигурная скобка ставится в конце предыдущей строки, как в Java, а не в привычной для C# новой).

Некоторые из настроек

При всех несомненных плюсах есть один минус: отсутствие ReSharper-а. Ко всему хорошему быстро привыкаешь, к сожалению, это оказалось существенным, учитывая что в прошлом, при ПК-разработках на C# я без него не обходился. Встроенные возможности рефакторинга и подсказок Xamarin Studio оказались не настолько удобными, как в VS+ReSharper.Поэтому решил запустить Visual Studio с обновленным плагином от Xamarin (поддерживаются VS2010, VS2012, VS2013; кстати, Xamarin всегда спрашивает, в формате какой версии VS сохранять *.sln). На удивление результаты тоже порадовали, поддержку VS разработчики тоже существенно улучшили (компиляция стала занимать меньше времени, и с отладкой дела наладились).

Настройки проекта в Xamarin Studio и Visual Studio ecba5055304e4621dcbf02d419db7749.png4565d7dee9f5f5828e005c7d50f2190f.png

Вообще, прослеживается явная тенденция максимально упрощать типовые задачи. Появился UI-builder для Android и iOS приложений, доступный как из Xamarin Studio, так и для Visual Studio. Также есть визуальные средства для работы с *.xml и возможности удобной загрузки и установки плагинов за пару кликов. К приятным мелочам можно отнести и средства для отправки проекта на репозитарий и обновления.Выводы Xamarin Studio — очень многообещающая попытка создания кроссплатформенной IDE для разработки на iOS и Android. Возможно, пользователей Eclipse это не впечатлит, но меня, как человека, преимущественно работавшего в Visual Studio, подобная альтернатива вполне устраивает. Обновления выходят регулярно, как по Stable, так и по Alpha/Beta каналам.Создавать и настраивать проект удобнее в Xamarin Studio, там же имеет смысл добавлять дополнительное содержимое и формировать *.xml-ы. Для рутинного процесса написания объемного кода можно использовать VS, особенно если требуется ReSharper, но и Xamarin Studio можно быстро привыкнуть, особенно если когда-либо работал в Xcode. В итоге удалось довести прошлогодний проект простенькой Android-игры на Monogame до конца, сборку и подписывание *.apk осуществлял из-под Xamarin Studio встроенными средствами.

Будни разработки под Android в среде Xamarin Studio и Visual Studio

Качество фотографий не очень, ибо фоткал телефон на другой телефон, где камера не слишком хорошая)Дорогие хабравчане! Разрабатывал ли кто-либо iOS-приложения в Xamarin Windows? Интересно послушать ваши впечатления)

© Habrahabr.ru