Создание кроссплатформенных приложений

Я неплохо разбираюсь в Java и C#.NET (предпочитаю C#).

Что мне следует использовать для создания небольших приложений, которые будут хорошо работать в Windows, Mac и Linux? Скорость, вероятно, не будет главной проблемой (небольшие приложения, использование сокетов и т. д.).


person Anant    schedule 12.03.2010    source источник
comment
довольно много знаний, но вы не знаете об их совместимости? самый большой плюс java - это кросс-платформенность, тогда как c # - это технология Microsoft ... и мы все знаем, что они плохо сочетаются с другими (хотя моно существует)   -  person mpen    schedule 12.03.2010


Ответы (6)


Ява

так как

  1. Java работает на Windows, Linux и Mac и даже на мобильных телефонах (и официально - @cletus).
  2. В Java есть хорошая независимая от платформы библиотека сокетов.
  3. Eclipse — отличный инструмент для разработки Java. (ПРИМЕЧАНИЕ: вы будете скучать по визуальной студии, но не так сильно)
  4. Графический интерфейс в Java НЕ ТАКОЙ ПЛОХОЙ. Пример 1, Пример 2) Спасибо, @Riduidel.
  5. Я еще не думаю, что mono такой же зрелый и хороший, как .NET.
person Pratik Deoghare    schedule 12.03.2010
comment
Вроде библиотека сокетов актуальна ;) ВСЯ java вполне прилична в независимой от платформы моде. Такой же фанат C#, как и я;) Просто убедитесь, что вы можете тестировать на всех платформах, чтобы обойти маленькие причуды java здесь и там. - person TomTom; 12.03.2010
comment
@TomTom;) Я предложил java, потому что я не думаю, что mono еще не такой зрелый и хороший, как .NET. - person Pratik Deoghare; 12.03.2010
comment
Согласованный. Я просто говорю, что указывать на библиотеку сокетов не имеет большого смысла. ВСЯ Java не зависит от платформы. Библиотека сокетов — самая маленькая и самая простая часть. - person TomTom; 12.03.2010
comment
Мне нравится «GUI в Java НЕ ТАК ПЛОХО» — все, что вы должны описывать подобным образом, явно нехорошо. Вы тоже правы - Java будет наименьшей проблемой для работы на всех платформах. - person Keith; 12.03.2010
comment
Графический интерфейс в Java намного круче, чем вы, кажется, заявляете. Есть несколько действительно отличных приложений Swing. - person Riduidel; 12.03.2010
comment
Не указывая названия приложений (поскольку большинство из них являются корпоративными), взгляните на эту запись пикселя pushing: pushing-pixels.org/?p=119 или на витрине Palantir: blog.palantirtech.com/2008/07/04/palantir-screenshots-round-two/ - person Riduidel; 12.03.2010

Оба варианта являются жизнеспособными.

Java официально поддерживается на всех трех платформах.

C# можно использовать в Linux и Mac, если вы готовы использовать подмножество .Net, поддерживаемое Mono< /а>.

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

person cletus    schedule 12.03.2010

Java — ваш лучший выбор. C# и .NET не будут работать на Mac и Linux без большого количества прыжков и головной боли. Другой вариант для небольших программ — что-то вроде Python.

person zellio    schedule 12.03.2010
comment
Как бы я ни был фанатом C#, это просто правда. Просто убедитесь, что вы можете протестировать на всех платформах, чтобы обойти небольшие особенности Java здесь и там. - person TomTom; 12.03.2010

Чистая Java — ваш лучший выбор.

person ultrajohn    schedule 12.03.2010

Если вы создаете серверное приложение, я, скорее всего, выберу Java, но вы также можете посмотреть на Mono для кроссплатформенности.

Для настольного приложения я бы попробовал Mono, так как я в основном парень с .Net. И настольные приложения, созданные на Java, не так привлекательны с точки зрения графики. Или попробуйте использовать SilverLight, но он также не поддерживается в Linux (MoonLight).

person Mikael Svenson    schedule 12.03.2010

Если вы действительно хотите использовать C#, попробуйте Mono: http://www.mono-project.com

person thelost    schedule 12.03.2010