1 - IDE: Visual Studio против xcode
Возможно, неудивительно, что Visual Studio очень похожа на Windows, а Xcode очень похожа на Mac. Xcode предлагает очень чистый интерфейс с минимальным количеством очень больших кнопок. Автозаполнение кода в Visual Studio превосходит Xcode, но я считаю, что последние версии Xcode значительно сократили этот пробел. XCode хорошо подходит для последовательного использования панелей инструментов и вспомогательных панелей, поэтому, если вам удобно использовать панель инспектора в Интерфейсном Разработчике, вам также будет удобно использовать панель инспектора в Pages, Numbers, Keynote, iWeb и т. Д. Visual Studio имеет тенденцию быть очень хаотичным, то есть доступ к настройкам для редактора кода отличается от доступа к настройкам для компонента служб отчетов, который отличается от компонента TFS и т. Д.
OS X также предлагает невероятно полезную строку поиска меню, которая делает поиск команды для открытия окна точек останова в XCode почти таким же легким, помня, что такое комбинация клавиш.
Основа UNIX для OS X, а также поддержка Ruby, Applescript и Automator позволяют очень легко создавать сценарии Xcode на любом удобном для вас языке. Отлично подходит для автоматизации процессов SCM при сборке или автоматического перемещения файлов или что у вас есть.
2 - API: Win32 API (включая собственный Win32 API на основе C, MFC, C #) и Cocoa
(В основном Objective-C)
Я не могу говорить о Windows API, потому что я едва использовал их, но Какао замечательно. Оставляя в стороне любые возражения, которые есть у людей по поводу Objective-C, очень редко можно услышать пренебрежительные замечания об API, они мощные, простые в использовании и предлагают невероятно согласованные интерфейсы, что делает выбор новых фреймворков Apple довольно простым.
3 - Документация: MSDN против ??
Документация Apple чистая, хорошо написанная, современная. Почти все классы будут содержать ссылки на примеры проектов. Большая часть документации по классам любой сложности включает в себя примеры кода, самые сложные классы и структуры будут иметь обширную письменную документацию, всегда написанную на понятном и понятном английском языке.
Существует множество причин, по которым пространства имен сделали бы Objective-C лучшим языком, но мне нравится тот факт, что поиск по NSString в документации Apple всегда будет возвращать страницы, которые я ищу.
Самое главное, вам не нужно просматривать рекламные объявления о других продуктах Apple, пытаясь использовать документацию. : -D
4 - Инструмент поддерживает: отладку, профилирование, тестирование и т. Д.
Я очень доволен инструментами Apple, которые я использовал, но никогда не использовал инструменты Microsoft, я не могу комментировать какие-либо различия между ними.
5 - База знаний: легко ли получить помощь от кого-либо, если у вас есть проблема? Много ли книг? (В разработке для Windows есть Petzold, Richter, ...)
У меня гораздо больше проблем с получением помощи по вопросам Visual Studio. Это несправедливое сравнение, так как мы используем более старую версию VS, где я работаю. Когда я ищу в Google ответ на вопрос о VS, я обычно оказываюсь в Experts-Exchange или в каком-то древнем блоге MS. Когда я обращаюсь в Google за помощью по проблеме Xcode / OS X, я обычно оказываюсь в StackOverflow или в одном из многих хорошо написанных и актуальных блогов по какао. Неудивительно, что я был намного более доволен своим опытом OS X / XCode.
Кроме того, я обычно могу работать значительно дольше между запросами справки Google при разработке под OS X / iPhone. Непротиворечивые интерфейсы классов, хорошо написанная документация и сообщения об ошибках, которые объясняют, что вы сделали неправильно и как это исправить, означают, что мне редко нужно обращаться за помощью, чтобы выяснить проблемы, с которыми я сталкиваюсь. Это не был мой опыт работы в Visual Studio. Возьмите это с толку соли, так как я был разработчиком OS X более 5 лет и работал в Visual Studio <1. </p>
6 - Мобильные приложения: iPhone против Windows Mobile
Никогда не прикасался к Windows Mobile, поэтому я не могу комментировать.