Можно сколько угодно говорить какие платформы хороши, а какие нет. Я вот лично за приложения, которые работают везде, и за IDE, с помощью которых можно везде разрабатывать, за не привязку к какому-то конкретному языку. Хотелось бы тут обсудить платформы, которые позволяют деплоить сразу везде(давайте не будем брать мобильные платформы, это отдельный разговор). Хочется услышать ваши точки зрения, кто как и чем пользуется, оценки, плюсы, минусы, подводные камни и всё такое.
Вообще данный вопрос начал сильно меня интересовать в последнее время, когда я решил заняться разработкой кроссплатформенного твиттер-клиента на маке. Решил использовать qt, но с++ твиттер-библиотеки для него ужасны и к тому-же не линкуются на маке нормально — не самый удобный выход. Хочется чего-то на питоне, с красивым гуём(PyQt так и не захотел собираться) ну или .net, который в mono-варианте выглядит ужасно. Вот и сижу тут в в раздумиях.
А почему даже не упоминается Java SE? Работать будет везде. Если хочешь красивого внешнего вида Swing-приложения, то есть либы с LaF'ами такие, как Substance. Я думаю, не стоит разводить срачи о производительности, ИМХО, она на все равно высоте. Зато работать будет где угодно
Еще один голос в поддержку джавы ) Все работает кроссплатформенно и без хаков, куча всяческих библиотек на любой вкус и цвет + все хорошо документировано. Разработка и отладка проходит в разы быстрее в отличии например от с++ с кьтом )
PureBasic Написал для интереса блокнот и скомпилил под винду и под линуху. Конечно мало кто пользуется PureBasic, а так язык очень даже перспективный. p.s. поддерживает WinApi
Ява, питон, перл, пхп и им подобные имеют недостатки: - по полной программе нельзя использовать все особенности платформы - код абсолютно не защищен от изменения или реверса. Другое дело, что есть огромное число либ и всяких примочек к ним. Это увеличивает скорость разработки в разы, но с другой стороны производительность хромает конкретно. Да и не какой оптимизации сделать не удастся.
Вспомнил, тут вначале автор хотел Qt, для Java он тоже есть, называется Jambi. Да и вообще, ИМХО, это один из лучших языков/платформ. На работе (Exadel Inc.) все пишется на жабе и работает быстро, как серверные решения, так и клиенский софт, особенно нравится, как все бегает под Андроидом.
Дык не стоит использовать Java для несвойственных задач (и ты зря поставил эти технологии в один ряд, Java в одном ряду с .Net, но не с теми языками, что ты перечислил). Всегда можно докупить дополнительные сервера, т.к. разработка на Java подразумевает разработку масштабируемых предложений, то вырастет и производительность. Про скорость работы: в тех задачах под которые заточена Java, скорость работы имеет последнее значение, т.к. задержки при работе с сетью перекрывают практически любые проблемы недостаточной оптимизации. К тому же почти в любом случае стоимость работы программиста дороже любого железа, а Java заточена под быструю разработку распределённых приложений. Т.е. оптимизация в том виде в котором её понимают C/C++ программисты совершенно не нужна. (Я не говорю об алгоритмической оптимизации). Так же при разработке корпоративных приложений не нужна закрытость кода , т.к. такие приложения годами пишутся под одного клиента и больше никому обычно не нужны. По теме - gui на Java не люблю, по мне Qt выглядит гораздо красивее. Но разработка на Java конечно проще и быстрее, и не требуется перекомпиляции. З.Ы. .Net не подходит для кросcплатформенной разработки, т.к. Mono - несчастный калека.
Ocaml-кросплатформенный, компилируемый, функциональный, объектно-ориентрированный, не самый шустрый в плане скорости, чуть повыше чем у питона, но скорость разработки тоже не плохая, ну и как плюс баги ловить не придется. Есть возможность на Haskell, но долго к синтаксису привыкать придется дня три не меньше. Lazarus-под три основные платформы есть, если дельфинчик не проблема тогда и это тем более. Ну и вообще вариантов очень много...
Во-первых что бы решить что юзать кроссплатформено яву или скриптовый язык нужно определицо что мы хотим: десктоп приложение с кавайным оформлением и доступом на локальные ресурсы, или же некое централизованное приложение, или мб нужен быстрый скрипт для упрощения работы(сюда кста можно и вписать терминал для работы офисных работников). На счет QT я полностью против - да фрейморк хороший, но неюзабелен для мобильных телефонов - слишком много надо ставить для его работы на целевую станцию. А почему никто не вспомнил простой C/C++ - если не использовать винапи и писать не на висуал студии - то легко можно переделывать исходник от одной платформы для другой - правда надо будет перекомпилировать - опять не дочитал сообщения выше - считать удаленым
чистый C\C++ не годится для гуя. Для мобилок он по сути под нокию, а там вроде как по дефолту все есть.
Хм.... У вас среда разработки определяет качество программы? Писать можно не плохо и в блокноте. Например, для меня, одним из основных преимуществ монстровидных сред разработки является code-assist, остальное - правлю руками. Такой выбор неудивителен, т.к. я Java-developer, а эта платформа всем хороша, кроме средств разработки, которые сами находятся в непрерывной "альфе", особенно это касается плагинов к эклипсу )))) По-прежнему, остаюсь при своем мнении, что Java - один из лучших вариантов для кроссплатформенной разработки. Ставим UTF-8 для исходников и вперед, к светлому будущему Согласен с Qwazar'ом насчет серверного применения, потому как докупить железяку намного дешевле, чем Senior Java Developer'a ))) ИМХО!!! Юзайте Java и будет вам счастье ))))
Вот я тут, кстати, под него сейчас девелоплю. Очень интересная штука. Гуй пишется на html+js+python/ruby/php. При чём управление DOM-ом идёт как через js, так и через python/ruby/php, у них там общая область видимости объектов. Код автоматически деплоится для win, mac, linux в виде нативных приложений. Генериться всё автоматически и выдаются только ссылочки на инсталлеры. Ко всему тому у них там своё API для всяких штук. Ещё есть поддержка разработки под iPhone/iPad(только под маком) и Android.