LINUX.ORG.RU

Что выбрать для разработки десктопного софта?

 , , нативные яп


0

3

Захотелось мне, для души так сказать, сделать пару - тройку полезных, в первую очередь для себя, утилит. Конечно может они окажутся полезными и для других, я не жаден. Я вижу такие пути: 1 - C++/Qt, 2 - C#/.NET|Mono, 3 - FreePascal/Qt|GTK. Что бы выбрали вы? Не хочется связываться с скриптовыми языками типа Python, Ruby, Perl, etc. Хоть и можно, но не хочется.

Ответ на: комментарий от border-radius

Почти весь кросскомпилированный софт, который я тыкал — неюзабельное говно по разным причинам (в том числе и интерфейс). Исключение — только mplayer2, у которого нет зависимого от ОС интерфейса.

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

готовые меня не устраивают

никто не мешает собрать свою. но собирать придется mingw32. результирующие либы совместимы с вижуалами.

писать??? на таком угробище как gtk ??? не, я пока еще разума не лишился

я давно понял, что причину не использовать gtk ты найдешь, даже если ее не будет :)

я лишь отвечаю на твое вранье, что мол gtk не кроссплатформенное, и что писать под него в вижуалах нельзя. все можно. но не нужно. это да. особенно если не нравятся API и ЯП. писать в вижуалах на C тот еще мазохизм. там до сих пор C99 нету.

Прога как бы есть, но использовать её невозможно.

вполне возможно. результат примерно тот же, что и с qt, например. проги на gtk столь же сильно выделяются. и кстати, xchat и gimp под вендой очень много народу юзает. я даже подозреваю, что больше, чем под линухом (в абсолютных числах).

waker ★★★★★
()
Ответ на: комментарий от border-radius

Слово «кросс-компиляция» тебе известно?

«высеры» этой «кросс-компиляции» хорошо видны на примерах inkscape, abiword и прочего gtk софта, который работает в винде чисто формально

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

Из виденного своими глазами: Geany в шиндошсе 7 работает безо всяких глюков, GIMP и Pidgin - аналогично. И выглядят нативно. Может, дело всё-таки в кривизне рук авторов, а не в кроссплатформенности GTK?

Хотя самый кроссплатформенный гуй - всё-таки веб. И мнение хрен оспоришь.

border-radius
()
Ответ на: комментарий от border-radius

Слово «кросс-компиляция»

Уж лучше бы этого слова не существовало по отношению десктопного софта только плакать хочется.

//Гентушники встали и резко вышли вон.

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от bhfq

Уж лучше бы этого слова не существовало по отношению десктопного софта только плакать хочется.

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

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

некроссплатформенное уродливое gtk-говно надо отправить на помойку вместе со всем написанным на нем софтом.

а нафига вообще нужна кроссплатформенность?

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

да не в этом смысле, под айос ты собираешь под маком со всем родным там иначе нельзя.
под андроид тоже все что собираешь оно родное.
а под венду собирать mingw да ещё под линуксом >_<

десктопного

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

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от ananas

Кроссплатформенность лучше всего реализована в Qt. А в Qt5 новые платформы добавлять разработчикам ещё проще чем когда либо оно был.

Дело в том что в GTK под винду, как и под мак сделали ради галочки со всем своим, а не родным, лишь бы отвязались.

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

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

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

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

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

Интересно прежде всего, есть ли уже тулчейны для этого дела. Думаю, если удастся собрать, то этому самому deadbeef честь и хвала, что его исходники достойно выдержали такое испытание.

border-radius
()
Ответ на: комментарий от waker

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

x3al ★★★★★
()

Из этих вариантов — C#, наверное. Я, правда, не знаю, в каком состоянии gtk#. Но кутей я и так сыт по горло, а как язык C# гораздо приятнее плюсов и, тем более, поскакаля.

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

И, кстати: подумай о таком варианте как HTML-интерфейс. Да, в браузере.

Miguel ★★★★★
()

Если для души, то C++/Qt. Моя душа одобряет эту комбинацию. ☺

f1xmAn ★★★★★
()

ты б сказал, чем эта пара-тройка заниматься будет.

Ford_Focus ★★★★★
()

1 или 3. Но если утилиты маленькие то лучше таки python с inotify или подобным.

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

хвастаешься нищебродством?

у меня к примеру винт на 80G. И не потому, что я нищеброд, а потому что мне просто влом что-то менять. И я думаю, что не один такой.

dikiy ★★☆☆☆
()

Я бы выбрал либо C++ и wxwidgets, либо C# и mono - с этими нет проблем с переносимостью. А Кют зоопарк лицензионных правил.

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

Но кутей я и так сыт по горло, а как язык C# гораздо приятнее плюсов

Плюс сам моно приятен наличием плюшек для типовых задач. Но тут все равно соберется пачка гикнутых-фанатиков, утверждающих что шарп кал, майкрософтовский зонд не нужен...

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

Дело в том что в GTK под винду, как и под мак сделали ради галочки со всем своим, а не родным, лишь бы отвязались.

Не родной интерфейс решается установкой темы, либо запаковывания темы вместе с прогой. Думаю это надуманная проблема. Другое дело, что там точная версия нужна для работы на винде, на сколько помню. То есть, прога собранная с гтк опр версии, работать будет только именно этой версией установленной в системе, иначе фейл (могу и путать, давно было).

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

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

ananas ★★★★★
()

мой выбор(по порядку)
Java-лучший выбор,Си и ГТК-иногда когда действительно надо это,питон-не лучший выбор,но иногда использую.
Аргументы-джава 100% кросплатформенность,скорость(в десятки раз быстрее питона),ну и скорость разработки(без мусора с указателями,который занимает половину кода(только посмейте вякнуть-ниосилил,ято осилил и пилю нереальные трюки с указателями,там где это нужно)),Си и ГТК-простота и стабильность(ненужно переписывать весь код от версии к версии),питон-кривое тормозное г.... но когда выбора нет-уж лучше питон чем чтото другое.

И да-НИКАКОГО QT,яб местным девелоперам QT рассказал что такое АПИ,и ПОЧЕМУ нельзя делать дебильные переименования половины функций и изменения порядка передаваемых параметров для половины из них и это в минорных версиях,между стабильными-там такая разница...что хоть весь код переписывай.QT-это то что будет работать на одной версии QT,при обновлении QT(хоть на 0.0000001)-бинарник незаработает(все сломали в новой версии),и скомпилять несможешь-все переименовали и изменили порядки вызовов.(и фиг ты угадаешь что они поломают в следующей версии)
А уж о кроссплатформенности с QT я молчу-ее нет,код придется править под каждую платформу,и КОМПИЛЯТЬ.

Единственное что может быть хуже QT-ВЕБ ИНТЕРФЕЙСЫ.Уж лучше я буду пилить кривости QT чем молиться гуглу-чтоб завтра в новой версии хрома опять все не сломали...

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

Хотя самый кроссплатформенный гуй - всё-таки веб. И мнение хрен оспоришь.

Только если предположить, что все пользуются одним и тем же браузером.

gag ★★★★★
()

При выборе Qt или GTK нужно для себя (и как следствие для всех потенциальных пользователей) определиться с минимальной версией. Для этого надо будет изучить версии популярных дистрибутивов (и не обязательно только их последних версий), или в критических местах добавить ifdef'ы для старых версий.

Может, действительно взять джава 1.5? Хм, интересно, может уже и 1.6 давно не редкость?

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

Да не нужна она тебе. Пиши вон под 1% линусоидов новый личкрафт или медиаплеер.

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

И да-НИКАКОГО QT,яб местным девелоперам QT рассказал что такое АПИ,и ПОЧЕМУ нельзя делать дебильные переименования половины функций и изменения порядка передаваемых параметров для половины из них и это в минорных версиях

Ну давай расскажи, с конкретными примерами

при обновлении QT(хоть на 0.0000001)-бинарник незаработает(все сломали в новой версии),и скомпилять несможешь-все переименовали и изменили порядки вызовов.

Точно-точно, у меня программы писанные c 4.5 работают с 4.8 не иначе как с помощью ld.astral.so

А уж о кроссплатформенности с QT я молчу-ее нет,код придется править под каждую платформу,и КОМПИЛЯТЬ.

Точно-точно, под венды приходится собирать с /SUBSYSTEM:ASTRAL иначе вообще не работает.

Begemoth ★★★★★
()

Если нативные, то что там делает C#(а если уж выбирать что-либо под mono/jvm/etc., то бери scala)? Видимо, тебе придется взять С++ + (необязательно)Qt. Если не боишься, то можно поиграться с новичками - D, Go, а может даже rust(но он пока эксперементальный и может быть изменен). Может быть хочется странного? Тогда смотри на Haskell. Если вдруг захочешь паскалевщину(фи), то Lazarus... Ты бы уточнил, что те надо?

anonymous
()

Что выбрать для разработки десктопного софта?

LispWorks/CAPI. Write once, compile and run everywhere!

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

Только если предположить, что все пользуются одним и тем же браузером.

Это только в случае сколько-нибудь сложных гуёв. ТС хочет «сделать пару - тройку полезных, в первую очередь для себя, утилит».

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

Там только коммерческая и LGPL.

Это и есть зоопарк, вообще более бредовых условий чем были у кюта я в жизни не видел, роялти «эпиков» курили в сторонке. Сейчас с выходом под лгпл ситуация лучше, но уж извините, эта компания у меня в списке «не использовать не при каких условиях.».

makeB
()
Ответ на: комментарий от border-radius

Да уж получше обычных мастдайных.

Я считаю, что тех кто считает gtk-шные диалоги нормальными и тем более «лучше мастдайных» надо сдавать в дурку.

А вообще, проблемы виндейцев...

Это проблемы gtk, которое является говном везде, а на не родных платформах совсем говном.

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

Не родной интерфейс решается установкой темы

Например, какую тему надо установить, чтобы не видеть gtk-шных файловых диалогов?

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

Аргументы-джава 100% кросплатформенность,

Врешь! У меня на Андроиде эти ваши байт-коды не запускаются.

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

Это нормальная практика. Сделано чтобы отсечь халявщиков. Думаю, что за очень много бабла сменить лицензию можно.

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

Только если предположить, что все пользуются одним и тем же браузером.

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

border-radius
()
Ответ на: комментарий от makeB

Упоролся, штоле? Раскрывай бредовость условий или ты наглый балабол.

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