Используете 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 ]

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

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

0 голосов
/ 11 декабря 2018

Я использовал Mac для разработки приложений на C # / .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).
0 голосов
/ 05 января 2010

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

http://remproject.org/

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

http://cmake.org/

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

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

0 голосов
/ 27 февраля 2009

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

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

0 голосов
/ 21 октября 2008

Здесь вы найдете интересный пост о разработке LinkedIn на 100% для Mac ...

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

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

...