Xamarin inc mono Ρ‡Ρ‚ΠΎ это

Xamarin: Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅, ΠΊΠΎΠΌΡƒ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ вопросы ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅

ΠŸΡ€ΠΈ кроссплатформСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄ ΠΈ элСмСнты Π΄ΠΈΠ·Π°ΠΉΠ½Π° для ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ, ΠΈ это ΠΎΠ±Π΅Ρ‰Π°Π΅Ρ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΡƒΡŽ экономию. Xamarin позиционируСтся ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠΈΠΉ инструмСнт для Ρ‚Π°ΠΊΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. РассказываСм, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ для ΠΊΠΎΠ³ΠΎ.

ΠšΡ‚ΠΎ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ с Xamarin?

БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° прилоТСния Ρ€Π΅Π΄ΠΊΠΎ мСняСтся ΠΏΡ€ΠΈ смСнС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’Π°Ρˆ Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Π±Π°Π½ΠΊΠΈΠ½Π³ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠΈ ΠΈ сообщаСт баланс Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π²Ρ‹ Π½Π° смартфонС ΠΈΠ»ΠΈ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ прилоТСния со слоТной бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈ стандартным интСрфСйсом β€” ΠΏΡ€Π΅Ρ€ΠΎΠ³Π°Ρ‚ΠΈΠ²Π° Xamarin.

Алгоритмы, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π½Π° C# для ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, программисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈ для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° Xamarin.Android ΠΈ Xamarin.iOS, Π΄ΠΎ 75% ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ: ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΠΈ Π½Π° iPhone, ΠΈ Π½Π° Android-смартфонС.

Если Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° ΠΈΠ· Π΄ΠΈΠ·Π°ΠΉΠ½Π° всСго ΠΏΠ°Ρ€Π° ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ красивый Π³Ρ€Π°Ρ„ΠΈΠΊ β€” Π²Π°ΠΌ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ, Xamarin ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. На ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… со слоТным интСрфСйсом ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° сопоставима с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄Π²ΡƒΡ…-Ρ‚Ρ€Ρ‘Ρ… Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Но бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π²Π½ΠΎ Π½Π΅ мСняСтся ΠΈ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ вСрсиСй прилоТСния Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ β€” всС Π½ΡŽΠ°Π½ΡΡ‹ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° ΡƒΠΆΠ΅ извСстны. Π’ сухом остаткС Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ зависят ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ слоТности Π΄ΠΈΠ·Π°ΠΉΠ½Π°.

КакиС ΠΏΠ»ΡŽΡΡ‹?

Экономия рСсурсов, ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ простота добавлСния вСрсий для Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Код Π½Π° C# доступСн всСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΠΏΡ€ΠΈ достаточной ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π½Π° любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅: ΠΊΠ°ΠΊ мобильной, Ρ‚Π°ΠΊ ΠΈ дСсктопной.

Π’Π°ΡˆΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚?

Для программистов, ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с нСсколькими ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° кроссплатформСнныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ покаТСтся Ρ€ΡƒΡ‚ΠΈΠ½ΠΎΠΉ. Π Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Xamarin Π»Π΅Π³ΠΊΠΎ, Π° Π²ΠΎΡ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Π³Π°ΠΉΠ΄Π»Π°ΠΉΠ½Ρ‹, SDK ΠΈ API ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ с нуля β€” Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС.

Для Ρ‚Π΅Ρ… ΠΆΠ΅ Xamarin.Android ΠΈ Xamarin.iOS трСбуСтся Π·Π½Π°Π½ΠΈΠ΅ iOS Storyboards ΠΈ синтаксис Android XML. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ сотрудников всСгда ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½ΠΎ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π»ΠΈ Π²Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ эти влоТСния прямо сСйчас? Π’ любом случаС, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΠ°Ρ€Ρƒ iOS-Android Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ускорят процСсс обучСния ΠΊΠΎΠ»Π»Π΅Π³. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΎΠ΄Π½ΠΈ дСсктоп-спСциалисты, Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π½Π° смартфонах? Π‘Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²Ρ‹ вряд Π»ΠΈ почувствуСтС экономию ΠΎΡ‚ Xamarin.

Бколько это стоит?

Π”ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π½Π°Π΄ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Xamarin Test Cloud. Но Π±ΡƒΠ΄Π΅ΠΌ чСстны: Π±Π΅Π· этого сСрвиса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π‘Ρ‚ΠΎΠΈΡ‚ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ оборудования. Π’Π°ΠΌ понадобятся устройства с macOS для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° iOS SDK ΠΈ Windows для Windows Phone SDK, Π° Android SDK Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Ρ‚Π°ΠΌ, ΠΈ Ρ‚Π°ΠΌ.

О Ρ‡Π΅ΠΌ стоит Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ?

Xamarin ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ β€” Π½Π° спСцифичСскиС вопросы Π½Π΅ всСгда удаётся Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ΅. Но ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’ Xamarin ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ SDK, Π΄Π°ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ классов Π² Xamarin наслСдуСтся, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с поиском Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.

Π Π°Π·Π΄Π΅Π» для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° сайтС Xamarin содСрТит Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, API ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ β€” этого достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Для всСго ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ Stackoverflow с ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ Π½Π° Π»ΡŽΠ±Ρ‹Π΅ вопросы ΠΏΠΎ Xamarin, iOS, Android.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Xamarin-спСциалисты Таловались Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со сторонними Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. БСгодня SQLite.NET, loC Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Autofac, MVVC Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ популярныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Если Π²Ρ‹ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π΄ΠΊΠΈΠ΅ инструмСнты, Ρ‚ΠΎ Π²ΠΎΠ»Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ ΠΎ Ρ‡Π΅ΠΌ.

Xamarin.Forms ΠΈΠ»ΠΈ Xamarin.IOS + Xamarin.Android?

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ программисту Π±ΡƒΠ΄Π΅Ρ‚ доступСн всСго лишь нСбольшой Π½Π°Π±ΠΎΡ€ стандартных элСмСнтов управлСния, внСшняя ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, связанная с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, чСкбоксами ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ. ВСоритичСски, Π² Xamarin.Forms ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎ 100% ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с совсСм ΡƒΠΆ простым интСрфСйсом, Π²Ρ€ΠΎΠ΄Π΅ Β«Hello worldΒ». Если Π²Π°ΠΌ захочСтся Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ Π½Π΅Ρ‚ Π² Π½Π°Π±ΠΎΡ€Π΅, Ρ‚ΠΎ придётся ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ сами элСмСнты Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠΎ-ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Xamarin.Forms для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π³Π΄Π΅ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π° гибкости настройки интСрфСйса.

Π§Π°Ρ‰Π΅ Β«ΡΡ…Π°Π»ΡΠ²ΠΈΡ‚ΡŒΒ» Π½Π΅ получаСтся ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Xamarin.iOS ΠΈ Xamarin.Android. Π’Π°ΠΊ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ прямой доступ ΠΊ API ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ элСмСнтов управлСния, Π° каТдая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

Π’Π°ΠΊ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΌΠ½Π΅ Xamarin ΠΈΠ»ΠΈ Π½Π΅Ρ‚?

ΠžΡ‚Π²Π΅Ρ‚ΡŒΡ‚Π΅ Π½Π° Ρ‚Ρ€ΠΈ вопроса ΠΈ станСт ясно, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ Π²Π°ΠΌ Xamarin:

Если Π²Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»ΠΈ Β«Π΄Π°Β» Π½Π° всС вопросы, Ρ‚ΠΎΠ³Π΄Π° Xamarin β€” Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² долгосрочной пСрспСктивС.

Автор: ΠœΠ°Ρ€ΠΈΡ ΠšΡƒΠ»ΠΈΠΊΠΎΠ²ΡΠΊΠ°Ρ, Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Itransition

ΠœΠ°Ρ€ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Itransition Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π΅Ρ… Π»Π΅Ρ‚, отвСчая Π·Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΠΎΠ΄ бизнСс-трСбования Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ ΠΈ пост-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΈ Ρ‚.ΠΏ. Участвовала Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ самых Ρ€Π°Π·Π½Ρ‹Ρ… систСм, ΠΊΠ°ΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ дСсктопных. Π‘Ρ„Π΅Ρ€Π° особого интСрСса β€” Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Xamarin?

Xamarin inc mono Ρ‡Ρ‚ΠΎ это. xamarin app cropped. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-xamarin app cropped. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° xamarin app cropped

Благодаря Xamarin Π² срСднСм 90 % ΠΊΠΎΠ΄Π° прилоТСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого шаблона Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всю бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС (ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ прилоТСния), Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ характСристики ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Xamarin ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° ПК ΠΈΠ»ΠΈ Mac ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² собствСнныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .apk для Android ΠΈΠ»ΠΈ .ipa для iOS.

Для компиляции ΠΈ развСртывания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ трСбуСтся ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с MacOS. БвСдСния ΠΎ трСбованиях ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ВрСбования ΠΊ систСмС.

На ΠΊΠΎΠ³ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Xamarin

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Xamarin ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ стоят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Xamarin

Xamarin inc mono Ρ‡Ρ‚ΠΎ это. xamarin architecture. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-xamarin architecture. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° xamarin architecture

На этой схСмС ΠΏΠΎΠΊΠ°Π·Π°Π½Π° общая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° кроссплатформСнного прилоТСния Xamarin. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Xamarin Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° языкС C# ΠΎΠ±Ρ‰ΡƒΡŽ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Xamarin позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… 80 % ΠΊΠΎΠ΄Π° прилоТСния.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎΠ± Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ см. Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Xamarin.Android ΠΈ Xamarin.iOS.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Xamarin сочСтаСт Π² сСбС возмоТности собствСнных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ возмоТностСй, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ относятся:

Xamarin.Android

Xamarin inc mono Ρ‡Ρ‚ΠΎ это. android architecture cropped. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-android architecture cropped. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° android architecture cropped

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ АрхитСктура Xamarin.Android.

Xamarin.iOS

Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ios architecture cropped. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-ios architecture cropped. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ios architecture cropped

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ АрхитСктура Xamarin.iOS.

Xamarin.Essentials

Xamarin.Essentials β€” это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая прСдоставляСт кроссплатформСнныС API для собствСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ устройства. Как ΠΈ сама ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Xamarin, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Xamarin.Essentials прСдставляСт собой Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ, которая ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ процСсс доступа ΠΊ собствСнным функциям. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, прСдоставляСмых Xamarin.Essentials:

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. Xamarin.Essentials.

Xamarin.Forms

Xamarin.Forms β€” это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Xamarin.Forms Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для Xamarin.iOS, Xamarin.Android ΠΈ Windows Π½Π° основС ΠΎΠ±Ρ‰Π΅ΠΉ Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π°. Xamarin.Forms позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы Π² XAML с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ части Π² C#. Π­Ρ‚ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊ просмотру ΠΊΠ°ΠΊ собствСнныС элСмСнты управлСния. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, прСдоставляСмых Xamarin.Forms:

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ см. Xamarin.Forms.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

НиТС прСдставлСны руководства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π² создании ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ прилоТСния с использованиСм Xamarin:

БвязанныС Π²ΠΈΠ΄Π΅ΠΎ

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎ Xamarin см. Π½Π° Channel 9 ΠΈ YouTube.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Достоинства ΠΈ нСдостатки Xamarin

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! БСгодня расскаТСм Π²Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ нравится Π² Xamarin, нашСм инструмСнтС для кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅ΠΌ ΠΈ нСдостатки ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎΠΌ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкст с пСрСчислСниСм. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ!

Xamarin inc mono Ρ‡Ρ‚ΠΎ это. rl. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-rl. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° rl

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° нашими ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°ΠΌΠΈ, рСбятами ΠΈΠ· EGO.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния Π½Π° основС Xamarin Π²Π°ΠΌ Π½Π΅ потрСбуСтся досконально Π·Π½Π°Ρ‚ΡŒ спСцифичСскиС языки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ возмоТностям Π΅Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° SDK ΠΈ встроСнным ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Xamarin позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π°Π½Π°Π»ΠΎΠ³ΠΎΠ², Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π²ΠΏΠΎΠ»Π½Π΅ подходят для распространСния Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Google Play ΠΈ App Store).

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎ словам Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Xamarin, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ сущСствСнно ΡƒΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΈ Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Рассмотрим составныС части Xamarin.

Xamarin inc mono Ρ‡Ρ‚ΠΎ это. image loader. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader

1. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° освоСния

На Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ слСдуСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Π΅ освоСния. Вряд Π»ΠΈ найдСтся ΠΌΠ½ΠΎΠ³ΠΎ ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° освоСниС особСнностСй синтаксиса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для достаточно ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ владСния Angular трСбуСтся ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ эту ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ нСсколько мСсяцСв). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли созданиС качСствСнного ΠΊΠΎΠ΄Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ, Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ попросту Π½Π΅ удаСтся Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ²Π»Π°Π΄Π΅Ρ‚ΡŒ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. А Π²ΠΎΡ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Xamarin совсСм просто: Π²Π°ΠΌ Π½Π΅ придСтся ΡƒΡ‡ΠΈΡ‚ΡŒ язык Xamarin ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² Ρ‚Π°ΠΊΠΎΠΌ Π΄ΡƒΡ…Π΅.

Для создания ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Β«Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎΒ» прилоТСния для Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π²Π°ΠΌ потрСбуСтся Π² достаточной ΠΌΠ΅Ρ€Π΅ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ языком Java (Π² случаС Android) ΠΈΠ»ΠΈ Objective-C/Swift (для iOS). Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях это ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ прСпятствиСм. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Π°, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰Π°Ρ созданиС строки Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π² Objective-C ΠΈ Π² C#.

Если Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ возмоТности кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Xamarin, Ρ‚ΠΎ для создания коммСрчСского ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Π»Π°Π΄Π°Π» Π±Ρ‹ достаточной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π½Π° ΠΎΠ±Π΅ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ сразу Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°. А Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ практичСски ΡƒΠ΄Π²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

2. Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ расходов Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· описанных Π²Ρ‹ΡˆΠ΅ прСимущСств ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ кросс-платформСнная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с использованиСм Xamarin Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 1,5 Ρ€Π°Π·Π° мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (ΠΈ Π΄Π΅Π½Π΅Π³), Ρ‡Π΅ΠΌ созданиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ спСциализированного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, слуТСбныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹) Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ Π² ΠΎΠ±Π΅ΠΈΡ… вСрсиях, Π° Ρ‡Π°ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… (Π² частности, бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ спСциализированныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ устройства) ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ лишь Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Однако общая ситуация Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС. НСкоторыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ вашСго прилоТСния Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ придСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ с нуля для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ОБ. ΠŸΡ€ΠΈ создании ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ Π΄Π²ΡƒΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Π΄Π²ΡƒΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ практичСски всСгда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠŸΡ€ΠΈ использовании Xamarin всС Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅:

благодаря Π½Π΅ зависящим ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ интСрфСйсам API ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 70% ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ написано Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ класс MainPage ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ интСрфСйс ITextToSpeech для Π²Ρ‹Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅:

3. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Β«Ρ€ΠΎΠ΄Π½Ρ‹ΠΌΒ»

Одна ΠΈΠ· основных ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ·Π±Π΅Π³Π°ΡŽΡ‚ инструмСнтов кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ срСдства Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСм спСктром возмоТностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… срСд. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ это относится ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ (Flat Design Π² iOS, Material Design Π² Android) ΠΈ ΠΊ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ возмоТностям ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… устройств (доступ прилоТСния ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌ, ΠΊΠ°ΠΌΠ΅Ρ€Π΅, Π΄Π°Π½Π½Ρ‹ΠΌ GPS ΠΈ Ρ‚. ΠΏ.).

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ (этот нСдостаток присущ практичСски всСм прилоТСниям, созданным с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π΅Π±-инструмСнтов) ΠΈ Π½Π΅ смоТСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСствами ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ (Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ возмоТности, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ создатСлСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ).

4. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ условия для тСстирования

ВСстированиС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ готовится ΠΊ выпуску, β€” Π·Π°Π΄Π°Ρ‡Π° Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ, особСнно ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Android. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ экранов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… устройств iOS Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΈ извСстны Π·Π°Ρ€Π°Π½Π΅Π΅, Π° Π²ΠΎΡ‚ устройства Android Π±Ρ‹Π²Π°ΡŽΡ‚ самыми Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±Ρ‹Π»ΠΎ протСстировано Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ устройствС, Π΅Π³ΠΎ интСрфСйс Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Β«Ρ€Π°Π·ΡŠΠ΅Ρ…Π°Ρ‚ΡŒΡΡΒ». Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ Xamarin ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π’ частности, для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ доступна срСда Test Cloud, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 2000 устройств. Π­Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ бСсплатно, Π½ΠΎ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Π½Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Ρ‹.

Xamarin inc mono Ρ‡Ρ‚ΠΎ это. image loader. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader

5. ИдСальная ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с устройствами Β«Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° Π²Π΅Ρ‰Π΅ΠΉΒ»

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ мСстополоТСнии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, показания гироскопа, аксСлСромСтра ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… встроСнных Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‚ΠΎ Xamarin станСт ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.

Π­Ρ‚Π° срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстима с устройствами IoT (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Estimote), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ мСстополоТСнии, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Π°ΠΌ Π½Π΅ придСтся Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ со сторонними Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ (Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ возмоТности Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅).

6. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Π°Ρ докумСнтация ΠΈ большоС сообщСство

Для Xamarin доступна ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ организованная докумСнтация с практичСскими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ, Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌΠΈ инструкциями.

РазумССтся, Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вопросы Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ Π² Π½Π΅ΠΉ Π½Π΅ получится. Π’ этом случаС Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ½Π»Π°ΠΉΠ½-сообщСство. БущСствуСт Π΄Π²Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сообщСства Xamarin: Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π½Π° ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ StackOverflow.

Если ΠΈ здСсь Π²Π°ΠΌ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΆΠ°Π»ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ экспСрты сообщСств Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² Ρ‡Π°ΡΡ‚Π½ΡƒΡŽ слуТбу тСхничСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ для ΠΎΠ±Π»Π°Π΄Π°Ρ‚Π΅Π»Π΅ΠΉ бизнСс-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ Xamarin. БпСциалисты отвСтят Π²Π°ΠΌ ΡƒΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· нСсколько часов ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ Π½Π΅ просто Π½Π°Π±ΠΎΡ€ стандартных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π΄ΠΊΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции ΠΏΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ вашСй Π·Π°Π΄Π°Ρ‡ΠΈ.

7. БСзупрСчная интСграция с Microsoft Windows

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ИВ-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ развитая инфраструктура ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ПО Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows.

Для всСх Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΉ Visual Studio (для Mac OS ΠΈ Windows) с вСсны 2016 Π³ΠΎΠ΄Π° Π² Ρ€Π°ΠΌΠΊΠ°Ρ… подписки прСдоставляСтся ΠΈ Xamarin. Если Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Visual Studio для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ»Π°Ρ‚Ρƒ Π½Π΅ потрСбуСтся.

НСдостатки Xamarin

ΠœΡ‹ ΠΏΠΎΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… сторонах Xamarin ΠΈ рассмотрСли ряд Π΅Π³ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… прСимущСств. Однако Π½Π°ΠΌ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ этот ΠΎΠ±Π·ΠΎΡ€ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ обратимся ΠΊ слабым сторонам Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. На самом Π΄Π΅Π»Π΅ внимания заслуТиваСт лишь ΠΎΠ΄ΠΈΠ½ нСдостаток: Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанных с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Xamarin, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ объСм Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π°Π½Π°Π»ΠΎΠ³ΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ оптимизация Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ лишнСй.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Xamarin

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°ΡΡΡŒ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ iOS ΠΈ Android, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ рассматриваСт Π² качСствС инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹Π΅ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ стСки Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Objective-C, Swift ΠΈ Java. Однако сущСствуСт мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… способов создания эффСктивных ΠΈ простых Π² использовании ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Xamarin β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Xamarin Π² сравнСнии с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΈ кроссплатформСнными Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ для мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Xamarin?

Когда Ρ€Π΅Ρ‡ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… инструмСнтах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Xamarin Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ стороной. Xamarin β€” ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ инструмСнт, основанный Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Microsoft. Но Π½Π° сСгодняшний дСнь Π² Π΅Π³ΠΎ сообщСствС ΡƒΠΆΠ΅ ΡΠ²Ρ‹ΡˆΠ΅ 1,4 ΠΌΠ»Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Xamarin β€” это особый инструмСнт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для всСх ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ язык C#.

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄, связанный с бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, доступом ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ сСтСвыми коммуникациями, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Xamarin позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слой ΠΊΠΎΠ΄Π° UI ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, кроссплатформСнныС прилоТСния Xamarin выглядят Π½Π° 100% Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Π½Π° любом устройствС, обСспСчивая Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ со стандартными Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΌΠΈ прилоТСниями.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ основныС Ρ„ΠΎΡ€ΠΌΡ‹: Xamarin.iOS ΠΈ Xamarin.Android. Π’ случаС с iOS, исходный ΠΊΠΎΠ΄ компилируСтся нСпосрСдствСнно Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ассСмблСрный ΠΊΠΎΠ΄ ARM (AOT компиляция), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ прилоТСния Android Xamarin сначала ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° Π·Π°Ρ‚Π΅ΠΌ β€” Π² Ρ€ΠΎΠ΄Π½ΠΎΠΉ ΡƒΠΆΠ΅ Π²ΠΎ врСмя выполнСния (JIT-компиляция). Но Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ являСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ всСх ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Как ΠΈ Ρƒ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Ρƒ Xamarin Π΅ΡΡ‚ΡŒ свои прСимущСства ΠΈ нСдостатки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² послСднСС врСмя стали ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ горячих споров.

ΠŸΠ»ΡŽΡΡ‹ использования Xamarin для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

БущСствуСт нСсколько вСских ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Xamarin ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ компаниями, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Trello, Slack ΠΈ GitHub.

+ Π•Π΄ΠΈΠ½Ρ‹ΠΉ стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…

+ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ

ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, созданноС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Xamarin, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° Π²Π΅Π±-тСхнологиях. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сопоставимы с показатСлями Java ΠΏΠΎΠ΄ Android ΠΈ Objective-C ΠΈΠ»ΠΈ Swift для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ iOS. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Xamarin постоянно ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ΡΡ ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ стандартам отСчСствСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Xamarin ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ комплСксноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ вопросов тСстирования ΠΈ отслСТивания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния: Xamarin Test Cloud Π² сочСтании с инструмСнтом Xamarin Test Recorder позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ автоматичСскиС тСсты ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΅Ρ‰Π΅ Π΄ΠΎ выпуска прилоТСния. Однако эта услуга прСдоставляСтся Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ.

+ Нативный UI

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-зависимыС элСмСнты UI, Xamarin позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ интСрфСйс. Для большСго удобства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса прилоТСния рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Xamarin.iOS ΠΈ Xamarin.Android ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π­Ρ‚ΠΎ обСспСчиваСт Π»ΡƒΡ‡ΡˆΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

+ Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ c ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

Xamarin устраняСт всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ совмСстимости оборудования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с функциями ΠΎΠ±Ρ‰ΠΈΡ… устройств Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Наряду с доступом ΠΊ особым API-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌ, Xamarin ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°Ρ‚ΡŒ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ½ΠΊΡƒΡŽ настройку ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ слоя с нСбольшими Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹ΠΌΠΈ расходами.

+ Open Source-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ с ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ

+ ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

Благодаря кроссплатформСнности, Xamarin ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто внСсти измСнСния Π² ΠΎΠ΄ΠΈΠ½ исходный Ρ„Π°ΠΉΠ», ΠΈ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ прилоТСниям ΠΊΠ°ΠΊ iOS, Ρ‚Π°ΠΊ ΠΈ Android. Но это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ прилоТСниям, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ‰ΡƒΡŽ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΠ΄ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Xamarin.iOS ΠΈ Xamarin.Android. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΈ дСньги, ΠΏΡ€ΠΈ этом сохраняя ваши прилоТСния Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии.

+ ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Xamarin поставляСтся Π² ΠΎΠ΄Π½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: собствСнная систСма IDE (Visual Studio), Xamarin SDK, тСстированиС (Xamarin Test Cloud), распространСниС ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° (Hockeyapp and Xamarin.Insights). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прилоТСния для создания, тСстирования ΠΈ развСртывания Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Xamarin.

ΠœΠΈΠ½ΡƒΡΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Xamarin

β€” Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ с обновлСниями ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ

Π­Ρ‚ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ зависит ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Xamarin. НСвозмоТно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ «сторонниС» инструмСнты обСспСчивали Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Π° послСдних ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ iOS ΠΈ Android: трСбуСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ измСнСния, Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ Ρ‚. Π΄. Π₯отя Xamarin ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ дСнь, Π½ΠΎ всС ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² ΠΎΠ΄ΠΈΠ½-Π΄Π²Π° дня.

β€” ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ доступ ΠΊ open-source Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ

β€” ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ экосистСмы

Π₯ΠΎΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Xamarin растСт ΠΈ развиваСтся, Π° Ρ‚Π°ΠΊΠΆΠ΅ поддСрТиваСтся со стороны Microsoft, Π½ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ сообщСство спСциалистов, Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² спСцификС Xamarin, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС, Ρ‡Π΅ΠΌ Ρƒ iOS ΠΈΠ»ΠΈ Android, поэтому Π½Π°ΠΉΡ‚ΠΈ ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСпросто. Будя ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… источников, сообщСство Xamarin составляСт 10% ΠΎΡ‚ ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ число ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Xamarin Π½Π΅ сравнится с числом профСссионалов iOS ΠΈΠ»ΠΈ Android, создатСли ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ своим спСциалистам. НапримСр, сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Xamarin University, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдоставляСт Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ рСсурсы ΠΈ возмоТности для практичСской ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ спСциалистов Π² этой отрасли. Благодаря Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅, кривая обучаСмости минимальна для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов C#.

β€” Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ знаниям языка программирования

ΠŸΡ€ΠΈ использовании Xamarin.iOS ΠΈ Xamarin.Android для создания ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ интСрфСйсом приходится ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎ-зависимый слой ΠΊΠΎΠ΄Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (Java/Kotlin для Android ΠΈ Objective-C/Swift для iOS). Однако ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для Xamarin.Forms.

β€” Xamarin Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство Xamarin β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅, ΠΊΠΎΠ΄ UI Π±ΡƒΠ΄Π΅Ρ‚ Π² основном ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ Π½Π° Xamarin, Π½ΠΎ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΈΠ»ΠΈ ΠΆΠ΅ слоТныС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ с нСбольшим количСством ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π΅Π»Π°ΡŽΡ‚ Xamarin Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ.

β€” Π‘ΠΎΠ»ΡŒΡˆΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π’ зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΈ слоТности, прилоТСния Xamarin ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ большС, Ρ‡Π΅ΠΌ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ Π² Π΄Π²Π° Ρ€Π°Π·Π°. На Android простоС Β«Hello, WorldΒ» ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄ΠΎ 16 MB, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ большая Ρ‡Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ связанными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ Mono ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ (Base Class Library, BCL). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ нуТдаСтся Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° Π±Ρ‹Π» Π½Π΅ слишком большим.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Xamarin

β€” БлоТности с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

Π•ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ сторонних рСсурсов с Xamarin. Π₯отя Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ инструмСнтов ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Xamarin Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ-ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π₯отя Ρƒ Xamarin Π΅ΡΡ‚ΡŒ собствСнный арсСнал ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², всСгда Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ конкрСтная функция ΠΈΠ»ΠΈ интСграция Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, которая Π½Π΅ прСдоставляСтся ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.

Π’ послСднСС врСмя ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ склонны ΡΠΎΠ³Π»Π°ΡˆΠ°Ρ‚ΡŒΡΡ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Xamarin ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ инструмСнтом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ самом Π΄Π΅Π»Π΅, сущСствуСт ΠΌΠ½Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ «всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ iOS с использованиСм Objective-C ΠΈΠ»ΠΈ Swift, ΠΈ всС, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Android с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Java, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈ Π½Π° языкС C # ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ XamarinΒ».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ Xamarin

Π§Ρ‚ΠΎ это?

Xamarin inc mono Ρ‡Ρ‚ΠΎ это. fa43014eb6a5fb068239f559fb862e85. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-fa43014eb6a5fb068239f559fb862e85. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° fa43014eb6a5fb068239f559fb862e85
Xamarin β€” это Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для кроссплатформСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (iOS, Android, Windows Phone) с использованиСм языка C#. ИдСя ΠΎΡ‡Π΅Π½ΡŒ простая. Π’Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ Π½Π° своСм любимом языкС, с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ всСх ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Ρ… для вас языковых Ρ„ΠΈΡ‡ Ρ‚ΠΈΠΏΠΎ LINQ, лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Generic`ΠΎΠ² ΠΈ async`ΠΎΠ². ΠŸΡ€ΠΈ этом Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊΠΎ всСм возмоТностям SDK ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Ρ€ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ создания UI, получая Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, строго говоря, Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΏΠΎ завСрСниям) Π½Π΅ уступаСт ΠΈΠΌ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π”Π°Π²Π°ΠΉ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅

НСкотороС врСмя Π½Π°Π·Π°Π΄ достаточно ΡˆΠΈΡ€ΠΎΠΊΡƒΡŽ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ряд Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ²(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ PhoneGap), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ кроссплатформСнных ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° HTML5 с использованиСм JavaScript. ИдСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ разрабатываСтся ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ сайт для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств с использованиСм ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… js-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Jquery Mobile. Π—Π°Ρ‚Π΅ΠΌ всС это упаковываСтся Π² Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ выглядит ΠΊΠ°ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠœΠΈΠ½ΡƒΡΡ‹ этих Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹: Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π²Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ доступа ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ элСмСнтам UI. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Назад» для iPhone, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΅Π΅ Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠ²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΡƒΡ€Π΅Π·Π°Π½Π½Ρ‹ΠΉ ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹ΠΉ API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ, присущиС ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°ΠΌ нСдоступны. Ну ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΈ самоС Π²Π°ΠΆΠ½ΠΎΠ΅ β€” Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ физичСски запускаСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° (Ρ‚ΠΎΡ‡Π½Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° WebView). НС Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΠ»Π³ΠΎ, Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚: низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (особСнно Β«Ρ…ΠΎΡ€ΠΎΡˆΒ» WebView Π½Π° старых вСрсиях Android) ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Π½Ρƒ, господа, это ΠΆΠ΅ β€” Π±Ρ€Π°ΡƒΠ·Π΅Ρ€). Π₯отя, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… случаях эти Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ умСстны.

Π­Ρ‚ΠΎ всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π΄Π°Π²Π°ΠΉ Π±Π»ΠΈΠΆΠ΅ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

РасскаТу ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ самих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Xamarin.iOS (Monotouch), Ρ‚.ΠΊ. ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΉ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ с Xamarin.Android (Π½ΠΎ Ρ‚Π°ΠΌ всС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ).
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов Monotouch.dll прСдоставляСт доступ ΠΊΠΎ всСм возмоТностям iOS SDK. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€” это просто Π½Π°Π±ΠΎΡ€ C#-классов с Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ. Π’Π½ΡƒΡ‚Ρ€ΠΈ эти классы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ Xamarin ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π±ΠΈΠ½Π΄ΠΈΠ½Π³Π° Π½Π° Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ этот ΠΆΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π±ΠΈΠ½Π΄ΠΈΠ½Π³Π° Π»ΡŽΠ±Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, написанных Π½Π° objective-c. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ iOS SDK, хотя Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Π² этом случаС приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ поиск Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Xamarin ΠΏΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ названию, Ρ‚.ΠΊ. ΠΎΠ½ΠΎ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… Π±ΠΈΠ½Π΄ΠΈΠ½Π³Π°). Π’ классах Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ C# event`ΠΎΠ², Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ красивый ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² с использованиСм лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

Π§Ρ‚ΠΎ с ограничСниями?

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° UI

Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Xamarin прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ UI ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ элСмСнты ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Для Android созданиС UI ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ нСпосрСдствСнно Π² ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° с описаниСм интСрфСйса Π² XML. Для iOS это Ρ‚Π°ΠΊΠΆΠ΅ Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄, Π»ΠΈΠ±ΠΎ использованиС Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… срСдств проСктирования интСрфСйса β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ xib-Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΠ΄ΠΈΠ½ большой Storyboard. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этих Ρ„Π°ΠΉΠ»ΠΎΠ² происходит Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ для iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° срСдС XCode. И это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ потрСбуСтся Mac. Π”Π°, для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ iOS-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π°ΠΌ Π² любом случаС потрСбуСтся Mac ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:
Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΊΠ°ΠΊ я ΡƒΠΆΠ΅ сказал, для рСдактирования UI Π² срСдС XCode. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ трСбуСтся симулятор iPhone/iPad, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Mac.

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°

Xamarin, ΠΏΠΎ заявлСниям Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², являСтся срСдством кроссплатформСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚.Π΅. ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, написанноС ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Но, Π² этом случаС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ. Как ΠΆΠ΅ Ρ‚Π°ΠΊ?
Xamarin inc mono Ρ‡Ρ‚ΠΎ это. image loader. Xamarin inc mono Ρ‡Ρ‚ΠΎ это Ρ„ΠΎΡ‚ΠΎ. Xamarin inc mono Ρ‡Ρ‚ΠΎ это-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Xamarin inc mono Ρ‡Ρ‚ΠΎ это. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader
На самом Π΄Π΅Π»Π΅ ситуация обстоит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π²Π°ΠΌ потрСбуСтся Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ собствСнный слой UI. Π’.Π΅ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° внСшний Π²ΠΈΠ΄ прилоТСния, Π²Π°ΠΌ придСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π­Ρ‚ΠΎ Ρ†Π΅Π½Π° Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с UI. Если Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° слои, Ρ‚ΠΎ получаСтся такая схСма:

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Π£ Xamarin сущСствуСт собствСнный ΠΌΠ°Π³Π°Π·ΠΈΠ½ сторонних ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Xamarin Components.Он интСгрируСтся Π² IDE ΠΈ позволяСт Π² нСсколько ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, написанныС ΠΊΠ°ΠΊ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ Xamarin, Ρ‚Π°ΠΊ ΠΈ сторонними Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², кстати, растСт ΠΊΠ°ΠΊ Π½Π° Π΄Ρ€ΠΎΠΆΠΆΠ°Ρ…. Π•ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ бСсплатныС(Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΡ… Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ). ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ части. Одни ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ классов. НапримСр Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для Mono извСстной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Json β€” Json.NET ΠΈΠ»ΠΈ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для взаимодСйствия с Rest-сСрвисами β€” RestSharp. НС всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ кроссплатформСнныС, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Как я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Π²Ρ‹ΡˆΠ΅, Xamarin ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² для связывания с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ классов, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° C# Π»ΡŽΠ±Ρ‹Π΅ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для Xamarin.iOS, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, которая ΡƒΠΌΠ΅Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ автоматичСски. БобствСнно это позволяСт ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ Xamarin ΠΏΠΎΡΠΏΠ΅Π²Π°Ρ‚ΡŒ Π·Π° всСми нововвСдСниями iOS. Π’Π°ΠΊ, Π² частности, Π² Xamarin.iOS практичСски сразу послС Π²Ρ‹Ρ…ΠΎΠ΄Π° появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Dropbox API, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ iOS 7.

ДокумСнтация ΠΈ ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ

Xamarin ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ руководства, сниппСты, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². ДокумСнтация нСпосрСдствСнно ΠΏΠΎ всСм классам Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Monotouch ΠΈ Monodroid ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Mono. Но, ΠΊ соТалСнию, этого всС Ρ€Π°Π²Π½ΠΎ нСдостаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ вСсь пласт вопросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π£ Xamarin сущСствуСт ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сконцСнтировано Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΡƒΠΌΠ΅ ΠΈ Π½Π° StackOverlow. ΠΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ людСй Π² ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ Π½Π΅ ΠΌΠΎΠ³Ρƒ. Из пяти вопросов, Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΡƒΠΌΠ΅, ΠΎΡ‚Π²Π΅Ρ‚ я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π΅ Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π». Π’ этом ΠΏΠ»Π°Π½Π΅ Π½Π΅ΠΎΡ†Π΅Π½ΠΈΠΌΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΎΠΊΠ°Π·Π°Π»Π° приватная Ρ‚Π΅Ρ…. ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° с ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, доступная Π² business-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ. ΠžΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… часов ΠΈ Π½Π΅ стандартными отписками Β«ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΒ», Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π΅Π΅ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Π°Π·Π° вопросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², накоплСнная для Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡˆΠΈΡ€Π΅, Ρ‡Π΅ΠΌ для Xamarin, поэтому, ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‹ Π½ΠΈ Ρ…ΠΎΡ‚Π΅Π»ΠΈ, Π²Π°ΠΌ придСтся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² спСцифичСском синтаксисС objective-c (c Java ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ StackOverflow. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, это ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π²Π°ΠΌ доступ ΠΊ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΡŽ ΠΈ пониманию ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ этапС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π² этом Π΅ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² Ρ‚Π°ΠΊΠΎΠΉ базис, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈ нСобходимости.

Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Xamarin Π² качСствС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ IDE β€” Xamarin Studio, Π»ΠΈΠ±ΠΎ Visual Studio (Π² business-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ, ΠΎΠ± этом Π½ΠΈΠΆΠ΅).

Xamarin Studio

Visual Studio

Xamarin ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ вСсти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² Visual Studio послС установки ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ доступСн Π² business-Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ (Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” 999$), Π½ΠΎ Π΅ΡΡ‚ΡŒ мСсяц Ρ‚Ρ€ΠΈΠ°Π»Π°. ΠŸΠ»ΡŽΡΡ‹ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹: Π²Ρ‹ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ мСняя мСста дислокации, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всю Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ Π°Ρ€Ρ‚ΠΈΠ»Π»Π΅Ρ€ΠΈΡŽ Π² Π»ΠΈΡ†Π΅ Resharper ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°ΡˆΠΈΡ… Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². ПослС установки ΠΏΠ»Π°Π³ΠΈΠ½Π° для Visual Studio Π²Π°ΠΌ потрСбуСтся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ соСдинСниС с вашим Mac, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ использовано ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π’.Π΅. послС запуска, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ автоматичСски пСрСсылаСтся Π½Π° Mac, Π³Π΄Π΅ компилируСтся ΠΈ загруТаСтся Π»ΠΈΠ±ΠΎ Π½Π° симулятор Π»ΠΈΠ±ΠΎ Π½Π° устройство, ΠΏΡ€ΠΈ этом сам процСсс процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, расстановка Π±Ρ€Π΅ΠΉΠΊΠΏΠΎΠΈΠ½Ρ‚ΠΎΠ² ΠΈ Ρ‚.Π΄. Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Visual Studio.
Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Visual Studio нСсколько. Π›ΠΈΠ±ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Mac (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Parallels), ΠΊΡƒΠ΄Π° ставитС Windows ΠΈ Visual Studio. Π›ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Π²Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ физичСскиС ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΏΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Mac для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… PC-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚.ΠΊ. ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ манипуляций с симулятором. И послСдний Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с Mac OS X (Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ hackintosh). Π’ΠΏΠΎΠ»Π½Π΅ сСбС ТизнСспособный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, хотя ΠΈ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ограничСния. НапримСр, Π² Xcode придСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Storyboard Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с использованиСм полос ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, Ρ‚.ΠΊ. windows-ΠΌΡ‹ΡˆΡŒ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΌΡ‹ΡˆΡŒ ΠΎΡ‚ Mac со всСми Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ.

ВрСмя Π³ΠΎΡ€ΡŒΠΊΠΎΠΉ ΠΏΡ€Π°Π²Π΄Ρ‹. Π‘ ΠΎΡ‚Π»Π°Π΄ΠΊΠΎΠΉ Π² Visual Studio пСриодичСски Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Бамая замСтная β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ сборкС прилоТСния, процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠ³ ΠΎΡ‚Π²Π°Π»ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρƒ. Π₯отя, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, стоит ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ β€” ΠΎΠ½ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ошибки достаточно интСнсивно, ΠΈ Π²ΠΎΡ‚ ΡƒΠΆΠ΅ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, процСсс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ стал ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ. Π₯отя ΠΈ стоит Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ запуском прилоТСния ΠΈ появлСниСм Π΅Π³ΠΎ Π½Π° экранС симулятора ΠΏΡ€ΠΈ использовании Visual Studio трСбуСтся нСсколько большС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании Xamarin Studio Π½Π° Mac.

Π›ΠΈΡ†Π΅Π½Π·ΠΈΠΈ

На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ Xamarin ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ тСхнология Xamarin являСтся ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ инструмСнтом для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ слоТных Π·Π°Π΄Π°Ρ‡ Π² области Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НСсмотря Π½Π° это, ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π΅ останавливаСтся ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅. Π—Π° послСдниС Π΄Π²Π° мСсяца Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² ΠΎΠ±Ρ‰Π΅ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. На ΠΌΠΎΠΉ взгляд Ρƒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ большоС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΈ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π΄Π½Π΅ΠΌ число Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π΅Π΅ Π² качСствС основного Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΡƒΠΊΠ»ΠΎΠ½Π½ΠΎ расти. Однако довольно высокая ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ прСпятствиСм для использования Π½Π° ΠΏΡƒΡ‚ΠΈ indie-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π’ Ρ†Π΅Π»ΠΎΠΌ свой ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ ΡΡ‡ΠΈΡ‚Π°ΡŽ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒ Π΅Π³ΠΎ использованиС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *