LINUX.ORG.RU

На чем написать кроссплатформенное десктопное приложение?

 ,


0

3

Хочется (в порядке убывания приоритетов):

1) не C и не С++;

2) кроссплатформенность;

3) хороший GUI (или хорошие биндинги к Qt);

4) статически типизированный;

5) компилируемый в нативный код.

Бонус-вопрос: может, в свете последних тенденций вообще забить и написать расширение для браузера? :)

★★★

А какую функцию оно будет выполнять? А так, это сферический вопрос в вакууме.

anonymous
()

Для себя составил такой список.

  • Scala + SWT. Только на Mac App Store такое приложение не возьмут из-за явы. Увы :(
  • Блистательный LispWorks с его библиотекой CAPI. Вижу две проблемы. Во-первых, CAPI имеет не так много функций. Во-вторых, версии для 64 бит стоят дорого.
  • Qt. Все-таки хреново интегрируется с маками, чтобы тут ни писали.
dave ★★★★★
()
Ответ на: комментарий от anonymous

Вы так говорите, будто много языков подходят под требования, особенно 3-5.

anonymous
()

vala (2?), D?, Go?, Haskell? (не знаю как с gui в винде, x86 центрировано)

anonymous
()
Ответ на: комментарий от Eddy_Em

4) статически типизированный;

5) компилируемый в нативный код.

Питон какой-нибудь - скрипты они везде работать будут

Ололо.

encyrtid ★★★★★
()

в порядке убывания приоритетов

java

nanoolinux ★★★★
()

Плюсы +qt. Не нравятся плюсы - пили свой яп. Надоели привереды, чес слово

Dragon59 ★★
()
Ответ на: комментарий от encyrtid

Ну кагбе там написано «в порядке убывания приоритетов», т.е. п. 4 и 5 слабее остальных, и если окажется, что иначе никак, то можно и скриптовые недоязычки (тм) насоветовать.

ovk48 ★★★
() автор топика

3) хороший GUI (или хорошие биндинги к Qt);

4) статически типизированный;

/0

tcl/tk || vala/gtk || c++/qt || pyqt

schizoid ★★★
()

Есть ещё java + qt jambi. Но на нём (jambi) ничего не писал, не пробовал, не знаю, как оно, хотя наверное получше свинга.

Подходит по первым четырём пунктам, и с грехом пополам к пятому (если JIT)

BattleCoder ★★★★★
()
Ответ на: комментарий от encyrtid

Шо такое «статически типизированный», я понятия не имею. А компиляторы под питон есть, говорят.

// сам кроме С ничего не знаю и знать не хочу.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Шо такое «статически типизированный», я понятия не имею. А компиляторы под питон есть, говорят.

// сам кроме С ничего не знаю и знать не хочу.

Тогда будь добр, воздержись от коментариев в Development.

encyrtid ★★★★★
()

Если не нужна интеграция гуя в систему, то джава со свингом подошла бы. Ну и если пункт 5 выкинуть. А так только си.

vurdalak ★★★★★
()
Ответ на: комментарий от dmfd

Ты сам-то пробовал gui на Haskell делать?

А в чем сложность? Берем тот же gtk и натравляем builderAddFromFile на xml-ресурс (например).

anonymous
()
Ответ на: комментарий от encyrtid

А пофлудить?

// да и, между прочим, иногда я в devel вполне разумные комментарии вставляю. И вопросы частенько здесь задаю - правда, хорошая часть этих вопросов так и остается без ответа

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от encyrtid

Погуглил. Оказывается, моя любимая сишечка статически типизирована.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

статически типизированный, это означает, что нельзя присвоить одной той же переменной значения разных типов. это если вкратце.

питон сюда никак не подходит

BattleCoder ★★★★★
()
Ответ на: комментарий от Eddy_Em

А пофлудить?

man Talks.

// да и, между прочим, иногда я в devel вполне разумные комментарии вставляю

Они, наверно, как честные гаишники. Вроде бы существуют, но их никто не видел.

encyrtid ★★★★★
()

D, Common Lisp.

anonymous
()
Ответ на: комментарий от anonymous

Ога, сделал я одно gui приложение на gtk2hs. Там такая замечательная документация, да и сама gtk просто восхитительно высокоуровневая и крайне лаконичная по сравнению с Qt.

dmfd
()

Кстати, вспомнил одну дрянь, на которой наши вендузятники делают GUI: IDL. Правда, эта собака не статически типизированная, зато все остальное есть.

А еще можно матлаб использовать. Или LabView.

В мире очень много возможностей для извращений.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от dmfd

Там такая замечательная документация

Нужно документацию gtk смотреть, а не только биндинга.

сама gtk просто восхитительно высокоуровневая

Разве ситуация значительна хуже, чем в связке python + gtk?

anonymous
()
Ответ на: комментарий от anonymous

Нужно документацию gtk смотреть, а не только биндинга.

Ну я так и делал впоследствии. Всё равно попадались места, где описание функции включало в себя только перечисление типов аргументов с невнятными именами, без указания того, за что же эти аргументы отвечают.

Разве ситуация значительна хуже, чем в связке python + gtk?

На python я писал только скрипты для waf. Не знаю, как там с этим дела обстоят.

dmfd
()

D вроде всем пунктам отвечает, кроме «хорошести» и всему таком :-)

Ok
()

1) не C и не С++;

5) компилируемый в нативный код.

считай взаимоисключающие параграфы. разве что в qt5 можно будет на js лабать.

Ford15Mondeo
()

Любой язык с биндингом к Tk. На виндах и маках нативный вид. Да и на линуксах с последних версий выглядит уже не так уныло. Я бы взял CL + ltk

feofan ★★★★★
()
Ответ на: комментарий от dmfd

Ладно, а если не сравнивать с языками, заточенными на gui (tcl / vala / qt), где-то заметно лучше?

anonymous
()
Ответ на: комментарий от Jetty

Предрассудки о проверке корректности программы выкинь в мусорку.

Предрассудки о разделении чистого и грязного кода выкинь в мусорку.

Предрассудки о легкой параллелизации выкинь в мусорку.

anonymous
()
Ответ на: комментарий от Jetty

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

anonymous
()
Ответ на: комментарий от BattleCoder

а чем c/c++ в связке с qt не устраивает?

Не осилил он его.

Zhbert ★★★★★
()

Java.

Тред не читал.

ymn ★★★★★
()

Haskell, D - но у D назвать ээ... хорошей поддержку Qt, язык как-то не поворачивается.

alienclaster ★★★
()
Ответ на: комментарий от anonymous

Единственное что точно можно точон выкинуть в мусорку, так это илюзорные концепции правильности. Ибо в реальном проекте, а точнее в его реализации, код всегда
1) контекстно зависим
2) привязан к языку
3) привязан к платформе
4) привязан к разработчику
5) содержит некоторое количество тривиальных ошибок

Откуда выплывает, что время затрачиваемое на описание «в рамках контекстно-свободной грамматики» это время потраченное впустую(за исключением ситуаций когда преследуются академические или исследовательские цели).

IMO конечно же :)

Jetty ★★★★★
()
Ответ на: комментарий от Jetty

Имелся ввиду синтаксис языка.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.