portaldacalheta.pt
  • Основен
  • Подвижен
  • Дизайн На Марката
  • Възходът На Дистанционното
  • Жизнен Цикъл На Продукта
Подвижен

Xamarin Forms, MVVMCross и SkiaSharp: Светата Троица на разработката на приложения с различни платформи



Говорете за определяне на високи очаквания. Светата троица, не по-малко!

Истината е, че разработването на мобилни приложения е скъпо, когато се насочвате към множество платформи, тъй като няма споделен код. Apple изисква да кодирате в Objective-C или Swift, Android изисква да кодирате в Java, а WinPhone изисква да разработвате в .NET, често C #. Добавете към това изобилието от библиотеки, които всяка платформа предоставя за работа с карти, рисунки, картини или GPS - за изграждането на едно мобилно приложение са необходими огромно количество време и знания.



Разработване на приложения за различни платформи с Xamarin Forms, MVVMCross и SkiaSharp



Излишно е да казвам, че повечето стартиращи компании не могат да си позволят да утроят разходите си и дори утвърденият бизнес може трудно да оправдае цената за влизане в мобилното пространство.



В тази статия ще научите как Xamarin Forms, в комбинация с MVVMCross и SkiaSharp, могат да бъдат жизнеспособен начин за изграждане на различни платформи мобилни приложения без да компрометира познаването, представянето и уникалността. Статията ще направи преглед на тези три технологии и как те могат да намалят разходите за разработка, като позволяват максимално повторно използване на кода в множество мобилни платформи.

Важен проблем

Въпросът за разработването на мобилни приложения на различни платформи е реален и като такъв, през годините се появиха много различни решения за намаляване разходи за развитие чрез споделяне на код между платформи. В индустрията за видеоигри, например, всички основни игрови двигатели предлагат решение за различни платформи, като дори Unreal и Unity са насочени към мобилни телефони и таблети.



Отпред на приложението има многократни опити да се ръководи този крос-платформен пазар през годините. Много от тях не успяха да бъдат загубени в бездната, но няколко от тях все още оцеляват след няколко години. Сред тях е Xamarin, единственото .NET решение, предлагащо поддръжка и за трите мобилни платформи.

Роден или не, идвам

Така че има война между различни решения и който казва, че войната означава пропаганда!



Войната се води предимно на фронта на големите н : да си роден! Трябва да внимавате с думата, защото тя няма ясно значение. Днес това е най-използваната дума в света на мобилното развитие и е много модерна. Истината е, че никой не се съгласява какво всъщност означава.

Когато избирате рамка за различни платформи, всички „местни“ опции не са равни, така че внимавайте, може да сравнявате ябълките с портокалите. За някои става въпрос за езика за програмиране, за други става въпрос за възможността да се използват хардуерните функции, други смятат, че става въпрос за използването на API / потребителски интерфейс на платформата и често става въпрос само за това, че не са уеб приложение.



Има аргументи от всяка страна на дебата и няма да се задълбочавам, защото е безполезно. Защо е безполезно? Е, нека ви кажа труден за преглъщане факт: на крайните потребители не им пука!

гръцка финансова криза за манекени

Да, добре сте прочели, само на вашите програмисти им пука. Вашият краен потребител никога няма да избере вашето приложение поради основната технология: той ще избере вашето приложение, защото то отговаря на техния проблем и дава добро изживяване.



Така че, вместо да се караме за значението на дадена дума, нека да разгледаме как Xamarin предоставя ефективен начин да предоставите на вашите потребители това, което ги интересува.

Бащата, Синът и Светият Дух

Преди да продължим напред, нека просто изясним трите елемента, които съставляват нашето решение на проблема с развитието на различни платформи.



какво е маркер erc 20

Бащата: Ксамарин

Както бе споменато по-рано, Xamarin е .NET решение за разработка на мобилни и настолни приложения. Той е закупен от Microsoft през 2016 г., но е датиран преди около четири години с проекта Mono. Днес той разполага с три решения: Xamarin.iOS, Xamarin.Android и Xamarin.Mac. Другите платформи вече обработват .NET приложения по подразбиране, като решения на Microsoft. Накратко, Xamarin предлага директна връзка към API на платформата в .NET. Следователно можете да използвате естествени функции от .NET приложение. Има и модул за разширение за Xamarin, наречен Forms, който осигурява слой за абстракция за потребителския интерфейс.

Синът: SkiaSharp

SkiaSharp е .NET обвивка над библиотеката за векторна графика на Skia на Google. Skia е Android, Chrome, ChromeOS и родният механизъм за рендиране на Firefox. С SkiaSharp можете да използвате библиотеката във вашето приложение .NET, за да я направите междуплатформена. Това означава, че чистата сянка, която вашият дизайнер казва „ще направи приложението ви много по-добре“, може да бъде кодирана само веднъж, вместо да се повтаря за всяка целева платформа. Лично според мен най-добрата му характеристика е възможността да се изобразяват SVG графики по начин, който ви позволява да предотвратите дублиране на различните форм-фактори, като същевременно запазите отчетливо, перфектно изобразяване.

Светият Дух: MVVMCross

За да запази всичко добре разделено и свободно свързано, нашето осветено решение ще разчита на MVVMCross. Тази рамка прилага MVVM (Model-View-ViewModel) инфраструктура, така че всичко да може да бъде независимо. Без да стават твърде технически, приложенията обикновено се разделят на три части:

  1. Моделът: Представяне на паметта на нашите данни
  2. Изгледът: Нашият потребителски интерфейс, представящ данните и действията на потребителите
  3. ViewModel: Слоят, който свързва нашия модел с нашия изглед и обратно

В софтуерното инженерство ние винаги се стремим да държим изгледа отделен от ViewModel, така че логиката на приложението (в ViewModel) да може да бъде използвана повторно, дори ако променим визуалното представяне. MVVMCross ни помага да постигнем точно това, като обработваме обвързването на данни и предоставя модели и инструменти за абстракция на платформата.

За какво се интересуват крайните потребители

Само за да обобщим, има различни неща, които разграничават успешните приложения от лошите. Успешно приложение:

  1. Решава проблем от реалния живот
  2. Предлага приятно изживяване

Точка номер 1 очевидно няма нищо общо с избраната от вас рамка. Така че нека се концентрираме върху точка номер 2. Има три основни аспекта, които допринасят за приятността на вашето приложение:

  1. Запознатост
  2. производителност
  3. Уникалност

Запознатост

Запознатостта е свързана с лекота на използване и бързо намиране на пътя през приложението.

С други думи, става дума за използване на различните парадигми на потребителския интерфейс на платформата по цялостен системен начин. Например прости неща като позиции на бутони, списък с контекстни действия или навигация допринасят за познаването на вашето приложение.

Запознатостта е основното слабо място на уеб приложения или рамки, базирани на уеб интерфейс. Xamarin Forms, от друга страна, осигурява съпоставяне между платформи на предоставени от доставчика елементи на потребителския интерфейс.

Поради това вашите потребители получават опит, който съответства на общия вид и усещане на платформата, така че те ще се чувстват интуитивно спокойно във вашето приложение.

производителност

Честно казано, споменаването на „роден“ във вашата маркетингова пропаганда не означава нищо. Предприеме Jasonette като пример, който е „роден през HTTP“. Потребителският интерфейс се съхранява на уеб сървър ... здравей, обиколки и забавяния, така че виждаме, че родният не може непременно да се предполага, че предполага по-добра производителност!

Така че с този мит отстранен, когато разглеждаме реални критерии, Xamarin излиза като най-добре закръгленото решение по отношение на производителността . Xamarin Forms, които не изискват значително повече превключвания на контекст, предлага сравнима производителност с приложения на родния език .

Моето заключение е, че изборът ви за внедряване е това, което може да забави приложението ви, а не Xamarin спрямо родния език. Други възможности там са в очевидно неблагоприятно положение по отношение на производителността.

Уникалност

Възможността за вашите дизайнери да създадат уникално изглеждащо приложение също е много важно да се вземе предвид, ако искате да осигурите възможно най-доброто потребителско изживяване и да разграничите приложението си.

набиране на частен капитал за недвижими имоти

Много пъти уникалността предполага създаване на персонализирани контроли, анимации или жестове. Когато не е лесно достъпен в Xamarin, можете да използвате SkiaSharp (обвивка около библиотеката за рендиране на векторни графики на Google на Google) и да се възползвате от персонализираната концепция за визуализация на Xamarin Forms, за да се доближите колкото е необходимо до хардуера, като същевременно винаги кодирате в един език, нещо, което другите решения не могат да предложат.

За какво се грижите като бизнес

В този момент най-вероятно си мислите, че изборът на рамка е и бизнес решение. Освен фактори извън обхвата на тази статия, като наличието на човешки ресурси, Xamarin има какво да предложи, особено когато е съчетан с MVVMCross. Ще разгледам четири аспекта, които ще искате да вземете предвид при решението си:

  1. Цена и разходи за разработка
  2. Повторно използване на кода
  3. Наличност на компоненти
  4. Подкрепа и общност

Цени и разходи за развитие

Нека махнем този от пътя. От по-рано тази година , Xamarin е безплатен за фрийлансъри и малък бизнес като стартиращи фирми (с Visual Studio Community Edition ). За по-големите организации той идва «свободно» с лиценз за Visual Studio, който може би вече имате. Xamarin Forms, MVVMCross и SkiaSharp също са безплатни и с отворен код, за да го допълнят!

Както вече споменах, преминаването по .Net маршрута с Xamarin ви позволява да разработвате приложенията си на един език от началото до края. Повечето други решения изискват от програмистите да знаят различни езици. В случай че Кордова например трябва да владеете не само HTML, Javascript, CSS, но и евентуално Objective-C, Java и / или C #, ако имате нужда от достъп до API на доставчици, които нямат налична приставка.

Разнообразието от използвани езици прави повече контекстни превключватели и повече инструменти за овладяване, което води до намалена ефективност. Xamarin, от друга страна, е универсално решение: от Visual Studio изграждате, внедрявате и отстранявате грешки на всички платформи.

Въпреки че не е пряко свързан с Xamarin, вие също получавате много функции в C #, които ускоряват развитието, като изберете .Net solution . А именно, вие се възползвате от страхотните функции в C # 4.5+ като лесно многопоточно предаване с асинхронизация / изчакване, затваряне и отразяване, за които е доказано, че подобряват ефективността.

Повторно използване на кода

Вероятно сте мислили за повторно използване на кода и най-вероятно смятате, че всички решения са донякъде еквивалентни в това отношение. Съжалявам, че казвам приятел, но грешиш!

Програмистите сред вас може би са се чудили защо на Земята бих предложил използването на MVVMCross над слоя MVVM, който е вграден във Форми? Е, ето какво трябва да помислите: наистина ли изграждате само мобилни приложения?

Като изолирате логиката на приложението си с MVVMCross и използвате инверсията на контрола, която предоставя, можете да използвате повторно максимално количество код на мобилни устройства, но също и на Windows и Mac (защото Xamarin.Mac е ваш приятел).

Това не само ще ви спести пари, но също така предлага добри инженерни практики, които ще намалят разходите ви за поддръжка на кода.

Наличност на компонент

Може би не си като мен, но мразя да преоткривам колелото. Следователно наличието на достъп до съществуващи компоненти, които можете лесно да интегрирате във вашето приложение, е от решаващо значение за ускоряване на времето ви за пускане на пазара и често това ще намали разходите ви едновременно.

Изборът на Xamarin и MVVMCross ви предлага две възможности за избор на съществуващи компоненти. Първо, все повече и повече компоненти са на разположение за Xamarin със или без формуляри. Xamarin има Component Store, интегриран във Visual Studio, където можете да намерите различни решения на често срещани проблеми с приложенията, а други компании продават директно, така че не забравяйте да търсите, преди да започнете да пишете свои собствени компоненти (или помислете за продажбата им, след като бъдат изградени).

Второ, ще искате да търсите пакети Nuget, защото има вероятност някой вече да е написал код, за да направи това, от което се нуждаете. Сред тези пакети ще намерите достоен списък с приставки за MVVMCross на различни платформи, които ще решат често срещани проблеми като имейл, GPS или локализация.

Ако вече имате опит със C #, вероятно имате предпочитаните компоненти. Разбира се, не искате да ги пускате, те се чувстват толкова удобно. Бъдете сигурни, можете да създадете обвързвания на C # за съществуващи компоненти и след това да ги използвате, сякаш сме в комплект с Xamarin, дори във Формуляри с малко помощ от персонализирани визуализатори.

Говорейки за това, може да искате да погледнете Свързвания на Xamarin Github хранилище преди да създадете свой собствен.

Подкрепа и общност

И накрая, достъпът до подкрепа и примери е много важен фактор при избора на рамка. Xamarin съществува от известно време, така че общността днес е с доста добри размери.

Търсенето на информация в Google обикновено открива доста голям брой отговори (съвет: опитайте също да търсите за monotouch и monodroid, предците на Xamarin) и Xamarin предлага много примери и страхотна документация на уебсайта си.

Освен това, тъй като Xamarin наистина е просто обвързващ елемент за приложните програмни интерфейси (API) на доставчика, документацията на Apple и Google винаги е подходяща и ще отговори на много от вашите въпроси. След това можете да създадете своя собствена услуга MVVMCross, за да абстрахирате приложните програмни интерфейси (API) на доставчика във вашия споделен код.

Що се отнася до бъдещето на Xamarin, с придобиването му през март от Microsoft, моят залог е, че той няма да отиде никъде, освен напред. От тази продажба и съвпадението към безплатен модел, общността само се разраства, поддръжката се подобрява и продуктът продължава да се подобрява, дори и с по-бързи темпове!

Бъдещето изглежда светло за Xamarin.

архитект на сертифицирани решения за уеб услуги на Amazon

Нека се приготвим да гърмим!

Наясно съм с факта, че може би отварям консервна кутия с тази статия. Сега не ме разбирайте погрешно, има и други опции, които си струва да обмислите и ви каня да го направите, защото опасенията ми може да не са същите като вашите.

Имайте предвид, че ако имате шестседмичен график и четири месеца по-късно все още нямате готово приложение, не печелите. Това би оставило два месеца и половина и много пари, за да обучите някого вътрешно или да наемете някой знаещ. Настояването за изграждане на „родно“ приложение в този момент може да бъде доста вредно за съдбата на вашия проект.

Xamarin и тези съпътстващи технологии предоставят точно това, за което вашите потребители се грижат и от какво имате нужда. Надявам се, че тази статия ще ви помогне да вземете добре информирано решение относно рамката, която можете да изберете за следващото си мобилно приложение.

Свързани: По-добри приложения за Android, използващи MVVM с изчистена архитектура

Тревожност при разделяне: Урок за изолиране на вашата система с пространства от имена на Linux

Технология

Тревожност при разделяне: Урок за изолиране на вашата система с пространства от имена на Linux
Направете своя CSS динамичен с персонализирани свойства на CSS

Направете своя CSS динамичен с персонализирани свойства на CSS

Уеб Интерфейс

Популярни Публикации
Създавайте данни от случаен шум с генерални състезателни мрежи
Създавайте данни от случаен шум с генерални състезателни мрежи
Миналото все още присъства - преглед на вечния дизайн
Миналото все още присъства - преглед на вечния дизайн
Финансово бедствие в криза: Не можете да предскажете, можете да подготвите
Финансово бедствие в криза: Не можете да предскажете, можете да подготвите
Бруталистки уеб дизайн, минималистичен уеб дизайн и бъдещето на Web UX
Бруталистки уеб дизайн, минималистичен уеб дизайн и бъдещето на Web UX
Разширени съвети и хакове за презентация на PowerPoint
Разширени съвети и хакове за презентация на PowerPoint
 
Архитект отпред
Архитект отпред
Студената технологична война: все още тук и все още се използва
Студената технологична война: все още тук и все още се използва
Въведение в Apache Spark с примери и случаи на употреба
Въведение в Apache Spark с примери и случаи на употреба
Комодитизирани смартфони: Привеждане на 4G в развиващите се страни
Комодитизирани смартфони: Привеждане на 4G в развиващите се страни
Как да създам API за Secure Node.js GraphQL
Как да създам API за Secure Node.js GraphQL
Популярни Публикации
  • Пример за оценка на разходите за разработка на софтуер
  • кое от следните не е от полза за избягване на излишък в база данни?
  • как да определим цената на кол опция
  • какво е дизайнът в изкуството
  • как да намирам клиенти като консултант
  • колко гещалт принципи има
Категории
  • Подвижен
  • Дизайн На Марката
  • Възходът На Дистанционното
  • Жизнен Цикъл На Продукта
  • © 2022 | Всички Права Запазени

    portaldacalheta.pt