- PVSM.RU - https://www.pvsm.ru -
Наверное, каждый .NET разработчик, знакомясь с monodroid и monotouch, хочет узнать, что его ждет. Стоит ли тратить свои силы и время на изучение, какой потенциал платформы, не превратится ли разработка в тестирование фреймворка?
Уже больше года моей основной задачей является разработка на C# под Android и IOS, и я постараюсь ответить на основные вопросы, возникающие при выборе monotouch и monodroid. В статье будет много личного мнения и описания костылей, так как ответы по техническим вопросам можно легко найти на официальном сайте Xamarin: docs.xamarin.com [1]
Поскольку Xamarin 3 вышел только недавно, мне не удалось полностью прощупать новые возможности и изменения в платформе. Тем не менее, почти все «особенности» разработки в monotouch и monodroid по-прежнему актуальны.
Взаимодействие с платформой Android и IOS реализуется по средствам прокси библиотек Mono.Android и monotouch. Так же, прозрачно реализована мультиплатформенность в System.IO, System.Net, System.Data и т.д.
IOS девелоперам доступны возможности Xcode для генерации представлений. При разработке под Android можно пользоваться возможностями Xamarin Studio и аддона к Visual Studio для генерации Xml разметки.
В силу схожести Java и C# применение стандартных паттернов и фитч языка не приводит к каким либо затруднениям. Разработка под IOS не сложнее – возможности ObjectiveC изящно покрываются в языке C#, несмотря на внешние отличия.
Все это работает так же красиво, как и звучит. Тем не менее, есть несколько замечаний:
В одном из комментариев я видел жалобу, будто на StackOverflow очень мало постов по monotouch и еще меньше по monodroid. Скажу честно, так и есть. И в этом нет ничего плохого, ведь большинство вопросов по API можно легко найти в темах по конкретной платформе и потом транслировать в C#. По правде говоря, стоит хотя бы почитать про ObjectiveC, так как многие особенности синтаксиса могут быть не понятны «с наскока». При этом именно monotouch сообщество показывает серьёзную активность. При разработке под Android Вы часто будете предоставлены самому себе.
При наличии лицензии Business Edition Вам открывается «доступ к телу» официальной техподдержки. Вполне быстрой и объективной. К сожалению, ни по одному моему обращению они не смогли помочь.
Кину пару камней в сторону обновлений Xamarin: они всегда полны сюрпризов. Например, после перехода стандарта платформы с Silverlight на чистый .NET, проект попросту перестал компилироваться. Так же часто встречаются баги среды разработки, привносимые патчами. Тут совет только один: координировать обновления в команде и не обновляться перед релизом своего приложения.
Стоит ли? Однозначного ответа нет. Далее будет исключительно мое лично мнение, не претендующее на полноту и объективность.
Вам стоит попробовать Xamarin если:
Вам не стоит использовать Xamarin если:
Ну и ответ на классический вопрос: если бы можно было вернуться назад и выбрать для нашего проекта что-либо другое, я все равно бы выбрал Xamarin.
Автор: KAW
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ios/63552
Ссылки в тексте:
[1] docs.xamarin.com: http://docs.xamarin.com
[2] Источник: http://habrahabr.ru/post/227863/
Нажмите здесь для печати.