Создать кроссплатформенное приложение для Windows, Mac OS X - PullRequest
32 голосов
/ 31 октября 2008

Я хотел бы создать приложение, которое работает как на Windows, так и на Mac OS X. Я также хотел бы как использовать лучшее из того, что может предложить платформа, на которой он работает, в отношении Frameworks, API и т. д. Есть ли способ сделать это без необходимости писать код Objective-C, а затем код C #? Я думал о C ++ как об альтернативе, но мне было интересно, есть ли что-нибудь еще там. Приложение будет основано на графическом интерфейсе (хотя я пока точно не знаю, что оно будет делать)

-G.

Ответы [ 21 ]

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

Если вы разработчик для Windows, используйте Qt или C # Winforms; если вы разработчик для Mac, вы можете попробовать Cocotron (http://www.cocotron.org/),, но он еще не завершен на 100%, хотя коммерческие приложения поставляются с ним.

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

Как уже упоминали другие, вполне возможно создать красивый кроссплатформенный графический интерфейс на Java как для Windows, так и для Mac. Однако, если вы хотите, чтобы ваше приложение сливалось и вело себя так, чтобы оно «ощущалось» как приложение, разработанное с нуля для платформы, на которой оно работает, вам действительно нужно разработать графический интерфейс и пользовательский интерфейс для каждой версии. приложение отдельно.

Если вы проанализируете, что собирается делать ваше приложение, и поймете, что существует значительная часть кода / логики, которая может быть разделена между платформами, то напишите эту часть переносимым способом на языке, который доступен в обеих системах. C, C ++, Java, Python, Ruby и т. Д. Если значительная часть отсутствует, т. Е. Большая часть кода предназначается для графического интерфейса, тогда меньше возможностей для совместного использования какого-либо кода.

В случае значительной части общего кода я бы предложил рассматривать Python и Ruby в качестве языков реализации, поскольку есть привязки Cocoa для этих языков на Mac и Windows с использованием IronPython и IronRuby, которые вы могли бы использовать. используйте повторно этот код в приложении .Net.

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

Также проверьте fltk , wxWidgets очень хорош и богат, но также очень большой ...

0 голосов
/ 03 ноября 2008

У ребят из Magnetism Studios есть отличная статья об использовании Cocotron для создания исполняемого файла Windows с Xcode.

У меня нет опыта работы с Cocotron, но если бы мне нужно было написать приложение для Windows - с опытом разработки для Mac, это было бы первым, что я попробовал бы.

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

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

Вот, посмотрите на некоторые из этих ссылок.

  1. http://jidesoft.com/products/component.htm
  2. http://www.xerto.com/imagery.php
  3. http://www.jgraph.com/screenshots.html
  4. http://www.javootoo.com/
  5. http://www.formdev.com/screenshots/
  6. http://www.jidesoft.com/products/oss.htm
0 голосов
/ 31 октября 2008

у меня вторая ява. Он разработан как кроссплатформенное решение.

Другие упоминали Adobe Air.

Похоже на Adobe Air это Silverlight. Я полагаю, что это (или будет) полностью кроссплатформенный.

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

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

0 голосов
/ 28 декабря 2015

Если вы выбираете язык C ++, я бы определенно рекомендовал Qt для этого. Ваше приложение может быть развернуто под Windows и Mac в соответствии с запросом в OP, но также и под Linux, а теперь и с последней версией на смартфонах, использующих iO, Windows RT и Android.

Это хорошо документировано и очень активно в Интернете (в том числе на SO).

Единственный минус, который я вижу, это инструмент создания Qt, который, IMHO, менее удобен для пользователя, чем исторические инструменты (например, Visual Studio), но на самом деле вы не обязаны использовать его как IDE для разработки Qt.

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

Я планирую сделать то же самое, и я собираюсь создать приложение C # / .NET для Windows, а затем перенести его на OS X с помощью Mono. Мое приложение уже имеет полностью (за исключением строки заголовка и угловых кнопок) пользовательский интерфейс, разработанный пользователем, поэтому косметические различия ОС не должны сильно меня затрагивать.

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

0 голосов
/ 29 января 2016

Для полноты картины теперь стоит добавить Unity в список.

Было бы очень сложно создать приложение для любой платформы, которое выглядит как нативное, а общие инструменты GUI далеки от совершенства. Но это не просто игровой движок, и вы можете писать на C # / Mono, использовать приличный диапазон библиотек и довольно безболезненно развертываться на Win и OSX.

...