Является ли MonoTouch жизнеспособной платформой для разработки iPhone?[закрыто]

StackOverflow https://stackoverflow.com/questions/1847274

  •  13-09-2019
  •  | 
  •  

Вопрос

MonoTouch кажется отличной платформой для разработки iPhone, но я беспокоюсь о ее развертывании в Apple Store.Есть ли примеры приложений, созданных с его помощью, которые в настоящее время доступны в iTunes?

Мы начинаем новый проект для iPhone, и было бы здорово сохранить весь стек на C#, но мы не хотим подвергаться риску отказа в магазине Apple из-за MonoTouch.

Я читал о нескольких играх, которые в настоящее время используют моно (не MonoTouch) для 3D-графики, но не смог найти ничего о MonoTouch.

Это было полезно?

Решение

Набираю это на телефоне, так что буду немного краток - извините за это.

В любом случае:

- Как было сказано в предыдущем ответе, в App Store были выпущены приложения MonoTouch.Неважно, два это или баджиллион.Разница между единицей и нулем бесконечна – ответ однозначен:Да, Apple одобрит приложения MonoTouch.

- MonoTouch играет по правилам Apple.Он выплевывает родные биты.Никакой интерпретации кода и JIT-компиляции не происходит.Ваше приложение MonoTouch представляет собой пакет, как и любое другое, и содержит собственный двоичный файл, как и любой другой.

- Приложения MonoTouch являются больше, чем они были бы, если бы были написаны с использованием стека Apple.Это связано с тем, что ваше приложение MonoTouch использует подмножество платформы Mono/.Net.Однако в этом отношении, как только вы доберетесь до того, что корабли, в приложении MonoTouch нет ничего особенного.Я работал в компании, где мы создавали наши приложения (разработанные с использованием стека Apple) на основе нашей специальной платформы.Это увеличило размер наших приложений, но также значительно сократило время производства (и это всегда компромисс, верно?).Кроме того, размер пакета приложения сразу после компиляции может быть обманчивым.Поскольку пакеты заархивированы для App Store, размер резко уменьшается — вы можете легко написать приложение MonoTouch, которое падает хорошо в пределах допустимого размера приложений, доставляемых OTA (я поднимаю этот вопрос, потому что этот вопрос (справедливо) обычно задают любители MT).Таким образом, у Apple нет реальной причины отклонять покупку на основании размера.

- Будь то MonoTouch или собственная собственная платформа, подобная той, с которой я работал, компонент MonoTouch, поставляемый с вашим приложением, просто еще один фреймворк, который можно было бы написать на Objective-C.

- Если вас беспокоит настройка вашего приложения для распространения с использованием всего стека MonoTouch и то, как это может повлиять на ваши шансы на одобрение, вы можете указать MonoDevelop (или утилите mtouch из командной строки) вывести проект Xcode.Вы увидите, что ваш код был преобразован — вы будете смотреть на собственную сборку (а не на какой-то вариант IL).Вы можете создать и запустить свое приложение, созданное MonoTouch, прямо из Xcode, и к этому времени MonoTouch практически исчезнет (за исключением инфраструктуры, на которой вы строите (например, MapKit)).

По какой-то причине все это беспокоит очень небольшую, но громкую группу разработчиков iPhone, которые по какой-то причине не могут смириться с мыслью о том, что люди, которых они не знают, используют другой инструмент для создания приложений.Но их ненависть не меняет простого факт что Apple приняла приложения MonoTouch (и приложения Unity задолго до этого).

Основная причина отклонения приложений MT заключается в том, что разработчики MT, по моему опыту (я разговаривал со многими - после нескольких выступлений, публикаций на форумах, в списках рассылки здесь...) , они еще не научились разрабатывать айфон приложение.Это то, что разработчики iPhone должны делать, несмотря на как они пишут свои приложения.MonoTouch не является препятствием — он, например, знает, что Apple хочет, чтобы ваше приложение выглядело определенным образом и работало определенным образом — оно должно выглядеть, ощущаться и вести себя как другие (хорошие) приложения для iPhone, и не должно быть среди примеров попыток написать десктопные приложения для телефона (именно здесь средний разработчик совершает свою первую ошибку при переходе к мобильной разработке).

В конечном счете, выбранный вами инструмент не будет иметь значения, пока он создает фрагменты, которые соответствуют правилам Apple (например, MonoTouch).Настоящим препятствием является изучение подхода iPhone к дизайну приложений.

Разработчики приложений .Net, будь то Windows, Windows Mobile или везде, где работает Mono (не MonoTouch), привыкли разрабатывать приложения по своему вкусу.Это не работает в мире iPhone.

Вы можете смело использовать MonoTouch.Как было показано, Apple воля утверждать приложения MT.

Что вам действительно нужно сделать (опять же, независимо от того, какой стек разработчиков вы выберете), это прочитайте документы Apple по дизайну приложений для iPhone и их рекомендации..Существует огромная толпа разработчиков, которые приписывают отказ от своих приложений злу Apple (или чему-то еще - в основном неосведомленным оправданиям), хотя правда в том, что их приложения - мусор, и ясно, что разработчики не играли по правилам (или даже не поленитесь прочитать правила).

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

Это не такая уж большая проблема.Благодаря 3G пользователям не приходится загружать приложения размером 2–3 МБ.Если он достаточно мал для отправки OTA, все в порядке.А в тех случаях, когда ваше приложение превышает лимит, скорее всего, это встроенные ресурсы (медиа — изображения, видео и т. д.).- вот как пакеты обычно увеличиваются до размеров только для Wi-Fi), и с этим приходится иметь дело и разработчикам Objective-C, так что это не проблема MonoTouch.

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

Надеюсь это поможет :)

Другие советы

Сообщество MonoTouch поддерживает список приложений MonoTouch которые доступны сегодня в Apple Store и написаны с использованием Монотач.

А единство Платформа разработки игр использует ту же базу кода mono Touch для поддержки C# (и внесла свой вклад в проект).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top