Какой самый простой способ для программиста С# для i-Phone?

Должен ли я использовать Mono + С#? Или мне лучше учиться и использовать объективные c? Благодаря

Ответ 1

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

Даже с С# вам все равно придется...

  • Изучите API iPhone
  • Изучите причуды разработки с самим iPhone.

Есть некоторые недостатки использования С#, хотя

  • Большинство образцов iPhone будут в Objective-C. Поскольку вы не знаете язык, будет сложнее применить их к вашей проблеме.
  • При использовании статической компиляции в Mono обязательно должны быть небольшие причуды, к которым вам нужно привыкнуть.

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

ИЗМЕНИТЬ

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

Единственная причина, по которой я рекомендовал это для этого вопроса, - это "самый простой способ...". Изучение нового языка требует дополнительного времени и потребует немного больше усилий, поэтому я квалифицировал его как легче придерживаться С#.

Ответ 2

Это, вероятно, оскорбит некоторых, но, честно говоря, если вы собираетесь серьезно заниматься разработкой, вы должны изучить Objective-C. Не зная Objective-C в iPhone развитие будет просто помехой. Вы не сможете понять много примеров; вам нужно иметь дело с причудами Mono, тогда как если бы у вас было рабочее знание Objective-C, вы могли бы получить намного больше от документации по платформе.

Лично я не понимаю позицию, в которой говорится об увеличении объема необходимой вам информации в пользу использования Mono над родным языком платформы. Мне кажется несколько контрпродуктивным. Я думаю, что если это очень дорогое предложение (изучение нового языка), то, возможно, стоит потратить некоторое время на фундаментальные концепции программирования, чтобы изучение новых языков было довольно дешевым предложением.

Ответ 4

Теперь Monotouch вам легче. Но тяжелее позже.

Например, что происходит, когда появляются новые семена, вам нужно протестировать, но перерыв MonoTouch по какой-то причине?

Придерживаясь Mono, в любое время, когда вы ищете ресурсы для фреймворков, вы должны мысленно перевести их в то, как вы собираетесь использовать их с Mono. Ваши бинарные файлы приложений будут больше, а время разработки не будет намного быстрее через несколько месяцев в Objective-C, а другие разработчики приложений получат гораздо больше преимуществ перед вами, потому что они используют собственную платформу.

Еще одно соображение заключается в том, что вы хотите использовать С#, потому что вы более знакомы с языком, чем Objective-C. Но подавляющее большинство кривых обучения для iPhone не Objective-C, это фреймворки, с которыми вам придется звонить и с С#.

Для любой платформы вы должны использовать платформу, которая прямо выражает философию дизайна этой платформы - на iPhone, то есть Objective-C. Подумайте об этом с обратного угла, если разработчик Linux, используемый для программирования в GTK, хотел написать приложения для Windows, вы бы серьезно рекомендовали, чтобы они не использовали С# и придерживались GTK, потому что для них было "проще" сделать это?

Ответ 5

Если вы хотите использовать все API-интерфейсы iPhone и иметь доступ к отладке собственного кода, вам, вероятно, захочется узнать Objective C.

Однако существует Mono-Touch, который за небольшую цену позволяет разрабатывать приложения для iPhone с использованием С#, но в настоящее время не имеет поддержки отладки. Существуют также ограничения на некоторые виды использования дженериков и других высокопроизводительных функций. Здесь ссылка на ограничения.

Кроме того, для использования Mono-Touch вам по-прежнему нужна Xcode и среда Mac, настроенная для разработки для iPhone. И само собой разумеется, вам нужно присоединиться к программе разработчиков Apple iPhone, если вам действительно захочется развернуть что-либо на самом устройстве.

Ответ 6

MonoTouch Я думаю, что это путь, но имейте в виду, что он все еще находится в зачаточном состоянии. Я смог установить средства разработки Mono и получить работу с IDE MonoDevelop, но среда IDE в ней текущее состояние невероятно медленное и почти непригодное для использования; по крайней мере, работает на Snow Leopard для Mac OSX. Я сделал некоторый поиск в Google, и похоже, что это известная проблема, но исправлена ​​в репозиториях MonoDevelop. Я думаю, что Novell что-то говорит, но я также чувствую, что вы будете бороться со всей картой, пока она еще находится на ранних стадиях.

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

Ответ 7

Я нашел этот интересный Podcast