Подтвердить что ты не робот

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

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

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

Ответ 4

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

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

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

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

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

Ответ 5

Я делаю всю свою кросс-платформенную разработку на 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 ГБ).

Ответ 6

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

Изменить: и вам ничего не мешает вам удвоить или утроить загрузку вашего Mac и сделать все ваши dev в Windows/* nix/OS X на Mac.

Ответ 7

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

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

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

Ответ 8

Если вы ищете единую систему сборки, 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.

Ответ 9

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

Ответ 10

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

Ответ 11

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

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

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

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

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

Ответ 12

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

Ответ 13

Здесь вы найдете интересный пост о том, что LinkedIn разрабатывается на 100% на mac...

Ответ 14

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

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

Ответ 15

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

http://remproject.org/

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

http://cmake.org/

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

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

Ответ 16

Я использовал Mac для разработки приложений на С#/.NET и нашел, что все в порядке. Visual Studio для Mac (Xamarin Studio с новым брендом) устанавливает все необходимые зависимости (.NET Core, Mono и т.д.) И позволяет создавать, запускать и отлаживать приложения в одном месте.

С точки зрения дальнейшего пути, вы можете пойти с:

  • .NET/Mono
  • .NET Core (macOS, Windows, Linux) - консольные приложения, Web/back-end, библиотеки общего назначения (https://github.com/maxim-saplin/NetCoreStorageSpeedTest)
  • Xamarin (macOS, iOS, Android) - делиться логикой и создавать собственные проекты пользовательского интерфейса для каждой платформы.
  • Xamarin.Forms(macOS, Windows, Linux, Android, iOS) - создайте единый пользовательский интерфейс и логику в XAML (в некоторых случаях выполняйте настройки для платформ, ограниченные элементами управления Xamarin.Forms) и создавайте его для всех платформ (https://github.com/maxim-saplin/CrossPlatformDiskTest).