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

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

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

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

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

4b9b3361

Ответ 1

Выбирая это на моем телефоне, сделайте это немного кратким - извинитесь за это.

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

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

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

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

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

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

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

Самая большая причина, по которой вы собираетесь отклонить MT-приложения, - это то, что MT-разработчики по моему опыту (я уже говорил с некоторыми из них - после некоторых разговоров, размещения на форумах, списках рассылки)...), разве они еще не научились разрабатывать приложение для iPhone. Что-то разработчики 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, все в порядке. И в тех случаях, когда ваше приложение выходит за лимит, вероятно, встроенные ресурсы (медиа-изображения, видеоролики и т.д.) - то, что пакеты обычно набухают до размеров только wifi), и что-то с разработчиками Objective-C тоже приходится иметь дело, так что не проблема с MonoTouch.

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

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

Ответ 2

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

Ответ 3

unity платформа разработки игр использует одну и ту же базовую базу кода для поддержки С# (и внесла свой вклад в проект).