2015-11-09 1 views
4

Я разработчик C#, которому поручено разработать собственное приложение Android для одного из наших проектов, логический движок которого на C# отображается как служба REST. В текущем проекте есть веб-версия с использованием Html5 и JS и рабочего стола с использованием WPF. У нас есть хорошие html5, угловые разработчики JS в нашем распоряжении, теперь после того, как мало исследований, чтобы понять, что мне нужно сделать, чтобы начать работу, следующее мое понимание:Плюсы и минусы Xamarin Vis a Vis Другие рамки

  • Узнайте Java/Python для нативного развития Android, он имеет некоторые кривой обучения визави другие варианты

  • Используйте рамки, такие как Cordova, Titanium, которые способны преобразовать HTML5, JS код в родной Android и IOS приложение

  • Теперь я пришел через Xamarin, которые могут помочь разработчикам C# разработчику elop Android и IOS Apps, которые мы можем принять быстро, но я не могу найти убедительный ответ на следующие вопросы, которые основаны на моем понимании сложности требований проекта, поскольку они меняются в течение определенного периода времени:

    • Есть ли у Xamarin приложений какие-либо проблемы с производительностью в реальной системе Android?
    • Оптимизированы ли приложения Xamarin при разработке исключительно для Android или у нас есть общий код знаменателя?
    • Поддерживает ли Xamarin большинство функций комплексного интерфейса, таких как карты, сетки, которые будут доступны по умолчанию на родном Android?
    • Как Xamarin визави подобные гибридные системы для JS, как PhoneGap, который один является лучше и оптимизируется структура

Любое предложение/указатель будет велик, что может помочь нам принимать обоснованные решение. Не желайте работать с каркасом, не понимая основных ограничений или препятствий, которые могут затруднить будущее

+0

Я вижу, что этот вопрос составляет 7 месяцев, вы можете рассказать мне, что вы узнали о xamarin и о том, как он работает сейчас? – alamin

ответ

8

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

Что касается производительности Android, я слышал, что приложения Xamarin действительно работают лучше, потому что время выполнения Mono должно быть более зрелым, чем Dalvik, хотя это может быть просто слухи.

Да, Xamarin поддерживает все, что вы можете сделать на собственной инструментальной цепочке платформы.

С помощью Cordova вы только один раз напишите свое приложение и скомпилируете его для нескольких платформ. С Xamarin вы бы разделили как можно больше бизнес-кода и создали только слой пользовательского интерфейса для каждой платформы, поэтому вы можете настроить его на каждой платформе.

+0

Вао, спасибо, это поможет мне Подтвердить свою веру в возможности Xamarin, разработать ли какое-либо корпоративное приложение с помощью Xamarin? –

+0

Я использовал Кордову и Хамарин, а не для приложения * enterprise *, но для приложения, тем не менее. Кордова быстро развивалась, но результат был вялым и чувствовал себя чужим на всех платформах. – Jeff

+0

Является ли кривая обучения относительно выше для Xamarin, особенно если мы делаем развитие Android и IPhone. –

3

Я думаю, что инструменты для программирования мобильных приложений - это лучший подход, чем в большинстве случаев. Существует причина, по которой эти инструменты существуют, иначе родной был бы более простой и предпочтительный метод.

Xamarin может делать все, что может сделать собственное приложение. Производительность - это то же самое, что и родное приложение, и вы можете получить некоторые улучшения в производительности, как упоминалось Джеффом из-за того, что Xamarin реализует очень эффективный код под ним.

Однако, когда дело доходит до разработки, я бы сказал, что вы должны придерживаться технологий, которые вы знаете.Вам не нужна крутая кривая обучения, если никто в ней не существует. Если у вас много опыта разработки C#, это очень удобно с Xamarin. Всегда будет кривая обучения, прыгающая в мобильную разработку, но наличие языка, который вы знаете, хорошо помогает.

С точки зрения родных или форм, я в основном программирую в Xamarin.Forms (более года), а в конце прошлого года это был беспорядок технологии, теперь я могу сказать, что как только 1.5.2 ударит его производство будет отличной технологией, хотя на это уйдет время, чтобы убедить людей в этом.

Xamarin.Android и Xamarin.iOS позволяют создавать родные приложения, но вы должны сделать интерфейс для каждой платформы. Xamarin.Forms позволяет создавать пользовательский интерфейс один раз и делиться на всех платформах, но он преобразует его в свой собственный элемент управления. И да, вы также можете настроить пользовательский интерфейс на платформу на Формах, если вам когда-либо понадобится. Xamarin может даже подключаться к родным библиотекам для каждой платформы.

+0

Мы использовали формы, как 5 месяцев назад, и на полпути мы решили переписать на Xamarin Native. – Jeff

+0

В прошлом году я создал мобильное приложение в формах. К счастью, это было не слишком сложно, поэтому мы застряли в Формах. В этом году (проект за 8 месяцев) я закончил приложение Xamarin Forms. Иногда это было, выпуски ошибок как раз вовремя.Джейсон, как правило, весьма полезен в прыжке с приоритетом на критические ошибки. Я признаю, что сделал немало обходных решений, но в конце концов я склоняюсь к этому, это того стоило. С большими прыжками вперёд, которые они сделали за последние 6 месяцев, я, конечно, начну новый в Xamarin Forms. Однако это зависит от ваших требований к проекту. –

2

Одним из элементов, который может быть большим фактором, если вы являетесь магазином C#, является общий код между клиентом и бэкэнд, поскольку несколько приложений не взаимодействуют с сервером. Используя Xamarin, если ваш бэкенд является ASP.NET или другим стеком .NET, вы можете без проблем использовать определения сущностей и другой код.

Это определенно требует некоторого планирования и дисциплины, но в целом скомпилированный, строго типизированный и проверенный модулем код с обеих сторон сохранил моей команде большое количество времени в ошибках, которые всегда возникают при переходе между языками в тот же проект.

Смежные вопросы