Сравнение Windows и Mac OS X как среды разработки - PullRequest
3 голосов
/ 29 января 2010

Я давно использую Visual Studio (VC ++) и Windows API и хорошо знаком с цепочками инструментов Linux, но не имею опыта разработки Mac OS X.

Хотелось бы услышать ваше мнение о плюсах и минусах Windows и Mac как среды разработки . Но, поскольку это может быть субъективным, я был бы признателен, если бы вы могли перечислить некоторые факты, а не просто сказать «А лучше, чем В». В частности, я хотел бы услышать о следующем:

  1. IDE: Visual Studio против xcode
  2. API: Win32 API (включая собственный Win32 API на основе C, MFC, C #) и Cocoa (в основном Objective-C)
  3. Документация: MSDN vs. ??
  4. Инструмент поддерживает: отладку, профилирование, тестирование и т. Д.
  5. База знаний: Легко ли получить помощь от кого-либо, если у вас есть проблема? Много ли книг? (В разработке для Windows есть Петцольд, Рихтер, ...)
  6. Мобильные приложения: iPhone против Windows Mobile

Боюсь, что эта тема будет спорной. Но я хочу знать, как Mac предлагает среду разработки по сравнению с Windows.

Ответы [ 5 ]

1 голос
/ 29 июля 2010

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, поэтому я не могу комментировать.

1 голос
/ 29 января 2010

Я стараюсь сделать ответы как можно более субъективными, уделяя особое внимание фактам.

1 - IDE: Visual Studio против xcode

Глядя на наборы функций, большинство функций инструментов разработчика в наши дни довольно стандартны. Основы, выделение кода, отладчики, профилировщики и т. Д. Доступны на каждом. Некоторые инструменты имеют функции, которых нет в других, но базовый уровень функциональности довольно стабилен на обеих платформах.

2 - API: Win32 API (включая собственный Win32 API на основе C, MFC, C #) и Cocoa (В основном Objective-C)

Они разные, хотя выполняют одни и те же функции. Оба дают своим разработчикам строительные блоки для создания приложений, которые соответствуют назначенному стилю платформы. Оба позволяют разработчику отклоняться от «стандартных» стилевых рекомендаций.

3 - Документация: MSDN против ??

Apple также имеет свой собственный набор документации. Это справочная библиотека Apple. http://developer.apple.com/mac/library/navigation/index.html

4 - Инструмент поддерживает: отладку, профилирование, тестирование и т. Д.

Опять же, оба комплекта содержат эквиваленты. Отладчики, профилировщики, тестовые жгуты и т. Д.

5 - База знаний: легко ли получить помощь от кого-либо, если у вас есть проблема? Много ли книг? (В разработке для Windows есть Petzold, Richter, ...)

Из общего количества слов опубликованных книг я бы рискнул предположить, что мир разработки Windows превосходит мир разработки для Mac. Тем не менее, есть несколько очень хороших книг по разработке для Mac. Для нового разработчика «Программирование какао для Mac OS X» Аарона Хиллегаса считается одним из основных источников.

6 - Мобильные приложения: iPhone против Windows Mobile

У меня нет опыта разработки для Windows Mobile, но, опять же, я думаю, что у обоих достаточно схожих цепочек инструментов, поскольку все "заимствуют" идеи друг у друга.

Все это говорит о том, что Mac предлагает всеобъемлющую среду разработки для разработки на платформах Mac и iPhone, так же как Windows имеет всеобъемлющую среду разработки для разработки на платформах Windows и Windows Mobile. Одно из главных отличий состоит в том, что стандартная цепочка инструментов разработки для Mac поставляется с вашим Mac. Вам не нужно ничего покупать (кроме подписки на программу для разработчиков iPhone, если вы разрабатываете для этой платформы).

0 голосов
/ 29 июля 2010
  1. Поддержка инструментов

Я предпочитаю OSX, потому что через Macports у меня есть тысячи доступных библиотек + исходные + зависимости. Это более интегрированный, чем Cygwin. Кроме того, OS X имеет соответствующий терминал и встроенный X. Я не знаю, почему в Windows по-прежнему такой же терминал, как в Windows 3.1.

0 голосов
/ 30 января 2010

Добавление к тому, что сказал Павел:

Я занимаюсь кроссплатформенной разработкой, используя Eclipse и иногда NetBeans - и оба работают (в основном) на Mac одинаково с ПК.

OSX с внутренним интерфейсом BSD дает вам доступ к обычному набору инструментов Unix с терминалом для запуска сценариев оболочки и других полезных вещей из командной строки.

0 голосов
/ 30 января 2010

Несколько областей, в которых Mac OS X побеждает:

  • инструменты для повышения производительности (Shark, Instruments и т. Д.) - в Windows нет ничего похожего (кроме, возможно, Intel VTune, который далеко не так функционален, как Shark)
  • все инструменты Apple бесплатны
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...