зачем использовать xcode, если доступен monotouch? - PullRequest
9 голосов
/ 18 января 2011

если доступно mono touch, почему мы должны использовать среду Mac (sdk, xcode + Interface Builder)?

В чем недостаток monotouch по сравнению с xcode?

Ответы [ 5 ]

34 голосов
/ 18 января 2011

Я всегда предпочитаю работать на языке, наиболее философски согласованном с платформой, для которой я разрабатываю.

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

Так же, как я не разработал бы дляWindows Phone 7 ни в чем, кроме Silverlight, я бы не программировал iPhone ни на что, кроме Objective-C, чтобы максимально использовать возможности платформы.Новый язык?Это преимущество, так как люди должны изучать новые языки время от времени в любом случае.И это не значит, что это сэкономит вам так много времени на использовании языка, который вы уже знаете, так как большая часть вашего времени будет потрачена на изучение фреймворков (в которые MonoTouch позволяет вам обращаться).

10 голосов
/ 19 января 2011

Мне кажется, что для этого тоже нужен ответ из лагеря МТ.

Зачем есть рыбу, если вы можете есть мясо?Зачем говорить по-немецки, если английский понимают?Зачем смотреть CNN, если есть FOX?Зачем голосовать за республиканцев, если есть демократы?Зачем...?И так далее.

Это ваш выбор!Если вы долго работали с C # и хотите получить быстрый результат на iOS, перейдите на MonoTouch.Особенно, если у вас есть набор API или методов, которые вы можете использовать повторно, MT - это путь.Если вы хотите выучить новый язык (ObjC), сделайте это.Даже если вы в конечном итоге используете MT, знание ObjC так или иначе важно, потому что оно помогает вам понять, почему все работает так, как работает.

9 голосов
/ 19 января 2011

Здравствуйте, это мое личное мнение,

Я также был в мире .Net некоторое время, когда iPhone запустил возможность создавать нативные приложения, он привлек все мое внимание, и я действительно пытался научитьсяobjc, я взял 2 книги и начал пробовать и пробовать, как и в течение месяца, а затем я оставил программирование на iPHone, потому что вам пришлось делать кучу вещей, а в .NET не было никакой линии, например, GC.

Когда Мигель де Иказа запустил MonoTouch, я попробовал и понял, что большая часть моего ранее сделанного кода была полностью функциональной (я всегда пытался отделить код пользовательского интерфейса от бизнес-кода), и это действительно точка .NET наiPhone, чтобы перенести большую часть уже готовой бизнес-логики на устройство.

Также в objc вы не найдете ничего похожего на ключевое слово LINQ или var, потребляя веб-сервисы в MonoTouch всего за несколько кликов и т. д.

Если вы хотите настроить таргетинг на платформу Android, есть также MonoDroid (monodroid.net), который выйдет позже в этом году.Стабильный выпуск, вы можете попробовать прямо сейчас на бета-версии.Также, если вы хотите использовать Mac OSX, есть MonoMac.Таким образом, вы можете обмениваться библиотеками классов между всеми этими 3 платформами (также поддерживаемыми al mono / .net) без лишних хлопот, не говоря уже о том, что это будет работать и на Windows, и наоборот (когда это возможно) (также не забывайте о WP7).

Единственное, о чем вам нужно беспокоиться, это его пользовательский интерфейс, но большая часть вашей бизнес-логики должна работать.Вот полный список сборок .NET, поддерживаемых в MonoTouch http://monotouch.net/Documentation/Assemblies, а также MonoTouch предоставляет привязку C # / CIL ко всем API-интерфейсам CocoaTouch.

Также поддержка команды MonoTouch - это здорово, вы можетепросто зайдите на IRC и задайте вопрос, на который вам сразу же ответят, список рассылки тоже:)

Мне очень нравится MonoTouch, я знаю, что ни один язык не подходит для всех задач, и Objective-C не является исключением.

2 голосов
/ 18 января 2011

Каждый пример, учебное пособие и документация будут написаны на Objective-C, а mono будет просто вызывать код Objective-C под капотом.Если вы действительно чувствуете, что C # стоит мысленно перевести все и добавить дополнительный слой в ваш код, то, пожалуй, сделайте это.

0 голосов
/ 08 марта 2012

Как разработчик C #, я обнаружил, что Objective-C ужасно болезненен, чтобы чувствовать себя уверенно. Это заняло около двух месяцев, и два отличных ресурса, чтобы добраться до этой стадии.

Возьмите свою карту Visa, вам нужно потратить 54 доллара.

1. бесплатные Стэнфордские лекции "Разработка приложений для iOS".
Чистый блеск, и это делает изучение Objective-C очень ясным. http://itunes.apple.com/us/itunes-u/developing-apps-for-ios-sd/id395631522

2. Серия iOS Apprentice. Здесь вам нужно выкашливать 54 доллара. Он шаг за шагом учит вас, как программировать в Objective-C, и приложения, которые вы создаете, действительно впечатляют. Часть 1 (из 4 частей) абсолютно бесплатна, так что вы можете попробовать ее перед тем, как расстаться с наличными.
http://www.raywenderlich.com/store/ios-apprentice

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

Наконец, не покупайте книги, если они специально не говорят, что они предназначены для iOS5 и XCode 4. Эта последняя версия XCode просто слишком отличается, чтобы сделать их полезными.

Отказ от ответственности: я не работаю ни с одним из ресурсов, упомянутых в этой теме!

...