2013-12-15 3 views
1

Xamarin/Mono-touch позволяет использовать любой собственный код/​​API на целевой платформе. , Но есть ли общность, так что такие вещи, как акселерометр, камера и т. Д., Могут быть написаны с использованием того же кода?Xamarin comonality layer для Android/iOS/WinPhone

ответ

5

Есть несколько libraires, предназначенные для использования на различных платформах (доступно через магазин компонент):

  • Xamarin.Mobile для доступа к возможностям устройств
  • Xamarin.Auth для аутентификации пользователей на OAuth
  • Xamarin.Social для доступа к социальным сетям

, а затем все проекты, направленные на PCL и доступны через самородок:

  • Json.NET
  • HttpClient

Это должно вам начать. О, еще одна вещь. Если вы используете HttpClient, посмотрите на ModernHttpClient (магазин компонентов)

3

API Xamarin.mobile предоставляет этот уровень абстракции для доступа к функциям, которые обычно предоставляются на всех поддерживаемых платформах.

1

Я добавил абстракцию устройства в свои библиотеки. В настоящее время аккумулятор (состояние уровня и зарядного устройства) и акселерометр абстрагируются до статических классов, которые на 100% идентичны между iOS, Android & WP8. По прошествии времени я добавлю больше, включая GPS.

https://github.com/sami1971/SimplyMobile

Чтобы использовать сериалайзер в PCL библиотеки я создал общий интерфейс, так что вы можете использовать не PCL, как хорошо. Некоторые из наиболее эффективных (де) сериализаторов недоступны в качестве PCL, а некоторые из них недоступны в iOS, но общий интерфейс позволяет выбирать лучшие на платформе. Некоторые результаты теста производительности размещены на форумах Xamarin: http://forums.xamarin.com/discussion/9886/quick-json-serializer-performance-test-json-net-vs-servicestack/p1