Подтвердить что ты не робот

Как я могу сказать, что мой босс, работающий с Xamarin, не ускорит его работу

Я единственный мобильный разработчик в своей работе. До того, как меня наняли, мой нынешний босс думал об использовании Xamarin, поскольку их маркетинг говорит слова Общий код и native. Я считаю себя продвинутым разработчиком Android, так как я создаю большие информационные системы. Сейчас я работаю над простыми приложениями, которые я могу закончить через неделю, но Xamarin дает мне головную боль, поскольку он слишком глючит, а код многократного использования составляет около 10%, который можно легко скопировать/вставить в iOS, и, несмотря на факт, что вы можете поделиться этим 10% -ным кодом, иногда вам все равно придется использовать директивы компиляции #if / #endif.

Я имею в виду, для меня нет никакого преимущества, так как я уже знаю языки Java и Objective-C. У меня уже есть обширные знания SQLite и хранения данных с Core Data как на iOS, так и на Android SDK, так что изучение Xamarin сделает его медленнее.

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

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

4b9b3361

Ответ 1

Некоторые хорошие моменты от Ли Уитни Блог: Почему я не рекомендую Xamarin для мобильной разработки:

Накладные расходы приложений

Приложения на базе Xamarin имеют встроенные накладные расходы, что делает их более в среднем. Это влияет на время загрузки и хранение, используемые на устройстве. Минимальный дополнительный размер обычно составляет несколько мегабайт и может расти пропорционально, поскольку код использует больше API. Это связано с тем, что путь от сборников .NET статически связан (как собственный код) в приложениях, на которые ссылаются сборки. На Android есть также дополнительная задержка запуска для приложений по конкретным причинам ОС. к Xamarins кредит, что накладные расходы были намного больше, и компания добился больших успехов в его сокращении. Однако влияние на приложение пользователей по-прежнему можно измерить.

Ограниченный доступ к UI-коду через iOS и Android

Разработка пользовательского интерфейса не переносится между iOS и Android.
Это означает, что необходимо использовать API, логику событий, виджеты и дизайнеры и закодированные по-разному для каждой платформы. Есть несколько исключений для это для обычных операций низкого уровня.

Xamarin будет утверждать, что попытки абстрагировать API интерфейса API через различные платформы могут создать ненужную сложность или привести к плохой пользовательский интерфейс с дизайном LCD (самый низкий общий знаменатель). У них есть точка здесь. Титан пытается сделать это частично, и результат заставил многих разработчиков недовольны несогласованными или непредсказуемые результаты. Приложения HTML5 более успешны при выводе это абстракция пользовательского интерфейса, не заставляя дизайн ЖК-дисплея, но они не имеют собственные характеристики Xamarin.

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

Ограниченный доступ к коду за пределами Xamarin

Xamarin не позволяет создавать повторно используемые компоненты или модули вне его собственной среды. Например, код, написанный на Xamarin не может использоваться в приложениях native или HTML5. Это означает, что любой разработанный код команда, использующая Xamarin, не может использоваться совместно или повторно использоваться командами, использующими любой другой инструмент для iOS и Android. Насколько это важно на ситуацию, но проблема с развитием - мы не можем предсказать все наши ситуации. Поэтому его неудобное ограничение прямо из ворот.

Экосистема и сообщество

Это то, что на самом деле не является ошибкой Xamarins. Какая компания имеет мобильную экосистему, которая соответствует Apple, Google или HTML5? Однако, это важно. Когда разработчикам в 10 раз больше шансов найти результаты при поиске в Интернете о проблеме он напрямую влияет на производительность. Экосистема доступной поддержки, услуг и 3-й партийные компоненты и связанные с ними инструменты являются и будут по-прежнему оставаться, значительно меньше, чем для родных или HTML5-приложений.

Третий кривая обучения

Некоторые концепции и методы требуют специальных знаний, специфичных для Среда Xamarin. Это фактически добавляет третью кривую обучения для разработчиков за пределами языка программирования и собственных API. Например, разработчики должны понимать учетную запись iOS, чтобы избежать проблемы с сборкой мусора Xamarins (Это ошибка в MonoTouch GC?). Другим примером являются структуры данных и дженерики, работающие в тонком различные пути (http://docs.xamarin.com/guides/ios/advanced_topics/limitations). Это те типы проблем, которые трудно увидеть, прежде чем вы на самом деле принять новую платформу, поэтому они заслуживают особого внимания.

Больше движущихся частей

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

Историческая запись этих ошибок может быть рассмотрена с использованием Xamarins (https://bugzilla.xamarin.com).

Да, у всего программного обеспечения есть ошибки. Дело в том, что вы измеряете преимущество добавления новых инструментов; недостаток новых проблем должен факторизуем.

Резюме

В конце концов, мы должны попытаться количественно оценить преимущества разработки абстракции, такие как Xamarin над другими абстракциями, или над родными развитие. Является ли С# лучше, чем Objective-C? Да, безусловно, в моей мнение, но это только один фактор. Когда вы добавляете все это подсчитывает весы от Xamarin в пользу других подходов к мобильная разработка. С 2013 года (этот материал может быстро меняться). Я склонен выбрать решение для собственного кода или решение HTML5/Cordova. мне нравится как по разным причинам, так и попытаться объяснить некоторые из факторов принятия решений в другой статье.