Используете Mac для кроссплатформенной разработки? - PullRequest
29 голосов
/ 18 октября 2008

Кто использует Mac для кроссплатформенной разработки?

Под кроссплатформенностью я имею в виду, что вы можете компилировать для Windows или Unix (не обязательно для обоих одновременно). Я понимаю, что это также во многом связано с написанием переносимого кода, но меня больше интересует опыт людей с Mac OS X для разработки программного обеспечения.

Я понимаю, что есть выбор из IDE на выбор, я бы, вероятно, использовал Eclipse (мне нравится GCC toolchain), однако Xcode кажется довольно популярным. Может ли он быть использован, как описано выше? В крайнем случае я всегда мог виртуализировать с помощью VirtualBox или VMware Player или параллелей для использования Visual Studio (или двойной загрузки в этом отношении). Сказав, что я открыт для любых других предлагаемых компиляторов (предпочтительно с IDE, использующей GCC.)

Кроме того, какой ассортимент Mac вы бы порекомендовали? Я бы предпочел ноутбук (так как у меня уже есть рабочий стол), но не уверен в разумных технических характеристиках.

Если вы в настоящее время используете Mac для разработки, я хотел бы услышать, что вы разрабатываете на своем Mac и что вам нравится и что вам не нравится в этом.

Я бы прежде всего разрабатывал на C / C ++ / Java. Я также хочу поэкспериментировать с Boost и Qt , поэтому мне интересно узнать о любых (потенциальных) проблемах совместимости.

Если у вас есть другие советы, я бы хотел, чтобы вы услышали, что вы хотите сказать.

Ответы [ 16 ]

10 голосов
/ 18 октября 2008

Что ж, использование Mac - это почти (без учета OSX86) единственный способ реально протестировать на Mac + Windows + Linux все на одном и том же оборудовании. При этом я бы не пошел по этому пути, если бы это была ваша единственная причина. Если вам удобнее программировать в среде Windows, я бы сказал, что вы должны выполнять свою работу в Windows, и у вас есть Mac Mini, возможно, даже тот, который вы использовали по дешевке, чтобы протестировать свое программное обеспечение.

8 голосов
/ 18 октября 2008

Eclipse работает на Mac и хорошо поддерживается. Например, это рекомендуемая среда для разработки под Android на Mac (и на всех других платформах).

XCode предназначен для собственной разработки OS X, возможно, вы сможете использовать его для кросс-компиляции для Windows, но вы очень сильно пойдете против структуры.

Я немного занимаюсь разработкой в ​​XCode, но в основном я являюсь разработчиком .NET, для которого я использую VMWare на своем Mac. Это может показаться немного задом наперед, но Windows XP, работающая на VMWare на iMac, абсолютно не работает (у меня 4 ГБ ОЗУ), и я могу очень быстро создавать и изменять виртуальные машины для тестирования (например, Vista, странные настройки Windows XP) , Вдобавок ко всему, ежедневное использование Mac кажется блаженством по сравнению с Windows (я никогда не использовал Mac до 15 месяцев назад, я никогда не вернусь к постоянному рабочему столу Windows).

5 голосов
/ 22 января 2010

Я делаю всю свою кроссплатформенную разработку на MacBook Pro, в основном используя REALbasic . Для тестирования в Windows и Linux я использую VMware Fusion , который хорошо работает с удаленным отладчиком, включенным в REALbasic.

Раньше я Boot Camp настраивал Windows, когда занимался разработкой .NET. VMware и Parallels довольно быстрые, но не подходят для начальной загрузки ОС. У меня не было возможности всесторонне попробовать MonoDevelop в Mac OS X, но, помимо отсутствия GUI-дизайнера, похоже, что он может работать хорошо, и я, вероятно, рассмотрю это для любых будущих проектов .NET Я могу сделать.

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

Любой Mac в наши дни может работать с Windows и Linux достаточно хорошо. Самое главное, что вам нужно, это много оперативной памяти. Mac в настоящее время может обрабатывать не менее 8 ГБ, и я бы рекомендовал это в качестве отправной точки (у меня 6 ГБ).

5 голосов
/ 23 октября 2008

Я использую старый Mac Mini дома для разработки Windows на виртуальной машине. У меня был действительно хороший опыт с этим. Если я перехожу в полноэкранный режим, то это похоже на рабочий стол - производительность на удивление хорошая.

Вы можете найти эти сообщения интересными:

Минимальное количество оборудования для эффективной разработки Mac

Виртуализация Mac: VMWare Fusion или Parallels?

Использование трехмерных в виртуальных машинах

5 голосов
/ 23 октября 2008

Год назад я перешел на Mac в качестве основной машины для разработки и никогда не оглядывался назад.

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

Так что в моей книге - кроссплатформенная разработка обеспечивает большую корректность.

4 голосов
/ 18 октября 2008

Просто для ответа на вопрос рекомендации: новый Macbook (младшая модель) должен стать отличной машиной для разработки, если вам нужен портативный компьютер. И, к счастью, у меня был Mac mini просто потому, что это было то, что я мог себе позволить, и это было превосходно для большинства целей. Я даже нес его между домом и офисом (держал другой монитор / клавиатуру / мышь в офисе, но у меня даже сейчас есть MBP), и это было потрясающе. Я даже не заметил, что это было в моем рюкзаке.

Редактировать: и ничто не мешает вам выполнить двойную или тройную загрузку вашего Mac и выполнить все ваши разработки в Windows / * nix / OS X на Mac.

3 голосов
/ 20 октября 2008

Если вы ищете одну систему сборки, Mac, вероятно, ваш лучший выбор, так как вы можете кросс-компилировать в Windows и Linux с помощью GCC.

  • crossgcc.rts-software.org содержит наборы инструментов gcc для Windows и Linux i386.
  • A HOWTO изучение настроек MinGW через MacPorts.

Существуют компиляторы, ориентированные на Darwin / OSX из Linux, но вы не получите ни одной из библиотек Какао или Фонда с таким подходом. По крайней мере, с MinGW у вас есть доступ к большей части SDK платформы Windows.

3 голосов
/ 18 октября 2008

Я бы, конечно, заглянул в Моно. Имеет кроссплатформенные привязки для Qt и GTK. У вас также есть доступ к MonoDevelop , который улучшается как на дрожжах.

Если вас это не интересует, я упомяну одну вещь: VMWare и Eclipse хорошо работают вместе. VMWare Workstation Professional поставляется с подключаемым модулем Eclipse, позволяющим выполнять удаленную отладку и выполнять тестирование развертывания нескольких ОС с помощью пары щелчков мыши. Я, безусловно, рекомендую вам получить бесплатную пробную версию и посмотреть, работает ли она для вас.

И Mac - отличная платформа для начала. Большинство вещей, которые не перенесены с Linux для нормальной работы, отлично работают на X11.

2 голосов
/ 23 октября 2008

Другой вариант - Кокотрон . Он работает на Mac OS X и включает в себя кросс-компиляторы, предназначенные для Windows, Linux и Solaris, среду выполнения Objective-C и переносимую среду Foundation, которая работает со всеми этими тремя компонентами, и среду AppKit для Windows.

1 голос
/ 18 октября 2008

Я использую свои Маки для кроссплатформенного программирования. Тем не менее, мои проекты довольно маленькие и редко содержат GUI.

Я настроил виртуальные машины для компиляции. Что касается IDE, мой опыт показывает, что часто требуется наличие «родных» файлов проекта для обмена с другими разработчиками. Поэтому я в основном занимаюсь разработкой в ​​XCode и, в конце концов, создаю один проект в Visual Studio и Makefile для Linux. Однако, если возможно, я настроил все проекты так, чтобы они совместно использовали исходные файлы.

Проекты Eclipse достаточно совместимы для Linux и OSX, но не для Windows.

Как уже предлагали другие, я бы порекомендовал использовать IDE и ОС, которые вам наиболее удобны, а затем перенести их на другие платформы.

В зависимости от размера ваших проектов, я бы порекомендовал iMac или MacBook Pro для кроссплатформенной разработки. Кроме того, виртуальные машины могут быть довольно требовательными, поэтому убедитесь, что вы получили достаточно оперативной памяти.

...