Должен ли я использовать Mono + С#? Или мне лучше учиться и использовать объективные c? Благодаря
Какой самый простой способ для программиста С# для i-Phone?
Ответ 1
Это будет немного вопрос мнения, но я считаю, что вам лучше придерживаться С#. Переход на objective-C увеличивает количество новой информации, которую вы должны изучить, прежде чем вы сможете быть продуктивным в своей среде.
Даже с С# вам все равно придется...
- Изучите API iPhone
- Изучите причуды разработки с самим iPhone.
Есть некоторые недостатки использования С#, хотя
- Большинство образцов iPhone будут в Objective-C. Поскольку вы не знаете язык, будет сложнее применить их к вашей проблеме.
- При использовании статической компиляции в Mono обязательно должны быть небольшие причуды, к которым вам нужно привыкнуть.
Моя интуиция хотя и будет незначительной по сравнению с затратами на изучение нового языка.
ИЗМЕНИТЬ
Я хотел прояснить свои мысли по изучению нового языка. Я думаю, что изучение языков - это забава и необходимая часть жизни программистов. Вы должны по крайней мере экспериментировать с новым языком один раз в год. В этом году я играю с F #.
Единственная причина, по которой я рекомендовал это для этого вопроса, - это "самый простой способ...". Изучение нового языка требует дополнительного времени и потребует немного больше усилий, поэтому я квалифицировал его как легче придерживаться С#.
Ответ 2
Это, вероятно, оскорбит некоторых, но, честно говоря, если вы собираетесь серьезно заниматься разработкой, вы должны изучить Objective-C. Не зная Objective-C в iPhone развитие будет просто помехой. Вы не сможете понять много примеров; вам нужно иметь дело с причудами Mono, тогда как если бы у вас было рабочее знание Objective-C, вы могли бы получить намного больше от документации по платформе.
Лично я не понимаю позицию, в которой говорится об увеличении объема необходимой вам информации в пользу использования Mono над родным языком платформы. Мне кажется несколько контрпродуктивным. Я думаю, что если это очень дорогое предложение (изучение нового языка), то, возможно, стоит потратить некоторое время на фундаментальные концепции программирования, чтобы изучение новых языков было довольно дешевым предложением.
Ответ 3
Посмотрите MonoTouch.
Ответ 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