2008-10-18 2 views
29

Кто использует Mac для кросс-платформенной разработки?Использование 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, поэтому мне интересно узнать о любых (потенциальных) проблемах совместимости.

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

+0

Если бы я задал такой вопрос на StackOverflow сегодня, я бы, вероятно, был бы заблокирован. Вот хорошие дни. – 2016-07-24 20:15:48

ответ

10

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

+5

Черт, сделай это в Windows * на Mac * и сэкономьте деньги на нескольких машинах. – eyelidlessness 2008-10-18 16:54:52

+1

За исключением того, что требования к машине, которая может запускать окна и Mac достаточно хорошо для разработки, были бы намного дороже, чем покупка Mac mini и оконной машины. – Kibbee 2009-01-16 14:09:41

1

В зависимости от того, что вы хотите разработать. Если это графические приложения, которые вы, возможно, захотите разработать и протестировать на целевой платформе. Для разработки, связанной с Java (особенно для предприятий), отлично работать на Mac, тем более что Apple недавно выпустила jdk1.6. Eclipse и Netbeans - это IDE, которые я использую как на Mac, так и на Linux.

0

Я использовал Qt на протяжении многих лет для кросс-платформенной разработки (и только потому, что мне это нравится). Я бы посоветовал вам look at it. Эта модель событий (SIGNAL/SLOT) отличается, но не совсем плоха, как только вы начнете ее использовать.

1

Я использую свои Mac для кросс-платформенного программирования. Однако мои проекты довольно малы и редко содержат графические интерфейсы.

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

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

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

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

8

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).

3

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

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

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

4

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

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

2

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

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

Есть компиляторы, которые нацелены на Darwin/OSX из Linux, но вы не получите ни одного из Cocoa или Foundation libs с этим подходом. По крайней мере, с помощью MinGW у вас есть доступ к большой части SDK платформы Windows.

0

Here вы найдете интересный пост о LinkedIn разрабатывается 100% на макинтош ...

4

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

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

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

5

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

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

Minimum hardware for effective mac development

Mac virtualization: VMWare Fusion or Parallels?

Using 3-D in Virtual Machines

2

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

0

Я использую MacBook для кросс-платформенной разработки, но я не перекрещиваю компиляцию для других целей. Это просто не стоит хлопот, учитывая, насколько дешево работать несколько платформ в эти дни. Вы можете использовать продукт виртуализации, например VMware, или просто иметь дополнительный бокс для многопользовательской загрузки для Windows и Linux. Вы абсолютно должны иметь полностью автоматическую сборку на каждой платформе. Joel is always right.;)

Отчуждение клиентов с иностранным пользовательским интерфейсом представляет большой риск, поэтому я рекомендую создавать общие бэкэнд и интерфейсы для платформы. У меня нет опыта работы с Qt, но я использовал Tk для кроссплатформенных приложений на C++. Это не сработало бы, за исключением того, что у меня была пленная корпоративная аудитория, которая просто хотела иметь программное обеспечение на нескольких платформах по низкой цене.

0

Я написал небольшой кросс-платформенный редактор UML в C++ для моей степени магистра диссертации, и я написал большую часть кода в моем Mac в Xcode:

http://remproject.org/

Для управления в Windows и Linux я использовал CMake, который сгенерировал проекты Xcode, Visual Studio и Makefile на каждой платформе.

http://cmake.org/

Я также использовал две библиотеки в ней, Juce и POCO, бывший для GUI, последний для выполнения определенных функций. Все статически связаны на каждой платформе.

На мой взгляд, вы можете написать код кросс-платформенный во многих отношениях, это одна из них, и я счастлива с ним, я мог бы сделать это довольно быстро, и я получил степень :)

5

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

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

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

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

Смежные вопросы