LINUX.ORG.RU

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

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


0

3

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

Бери C++/Qt. C# в линукс это какая-то вендофилия, тем более виртуальная машина. Паскаль… А он жив? :}

Deleted
()

Если с PyGTK не хочется связываться - только Qt, только хардкор.

border-radius
()

Первое почти стандарт для нескриптовых (Стрательно не вспоминаем про gtk:)). Второе и третье для бывших c№-чиков и делфистов соответсвенно и так же соответсвенно мало кому кроме них нужное. С другой стороны оба в меру рабочие. Выбор именно из таких вариантов очевидно зависит в основном от предыдущего опыта. ТС, ты специалист по всему?

antares0 ★★★★
()

Второе, конечно. Тонна кодеров, тонна либ, никакого сегфолт-ориентированного программирования и при этом не дохло как третье.

x3al ★★★★★
()

Я выбрал бы 1, т.к. привык зело к C++. Для фрилансера со специализаций в вебе возможно всё-таки C#, больше времени на логику можно будет тратить.

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

никакого сегфолт-ориентированного программирования

Вообще, есть Python и PyGTK. Тонна кодеров, тонна либ, никакого сегфолт-ориентированного и зомбософт-ориентированного програмирования.

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

PyGTK кончился (о чём давно официально объявили) и он говно. Если не веришь, посмотри на костыли, которыми в том же gajim сделан htmlview и попытайся придумать лучше. Да и кодеров на шарпе как бы на порядок больше, чем на питонах.

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

PyGTK кончился (о чём давно официально объявили)

А мужики-то и не знали. PyWebkitGTK живее всех живых.

и он говно. Если не веришь, посмотри на костыли, которыми в том же gajim сделан htmlview и попытайся придумать лучше.

Зачем этот htmlview? WebView решает все вопросы.

Да и кодеров на шарпе как бы на порядок больше, чем на питонах.

Да хоть 95%. Зомбософтовские поделия не нужны ни в какой своей форме.

border-radius
()

QT или что угодно кромен GTK

q9
()

Если строго натив, то только C++/Gtkmm

vertexua ★★★★★
()

1 - C++/Qt,

+ Изкоробочная кроссплатформенность (и хороший внешний вид на всех платформах) как вкусный довесок.

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

PyWebkitGTK живее всех живых

Он не имеет ни малейшего отношения к pygtk.

Зачем этот htmlview? WebView решает все вопросы.

Полноценный весит гораздо больше. Для чятика, постоянно висящего в RAM и жрущего сотни метров рамы даже при текущих фичах, это критично.

Да хоть 95%. Зомбософтовские поделия не нужны ни в какой своей форме.

А с чего в линуксах будут сдирать фичи? Ну и тырпрайз давно кодит не только на java, но и на шарпах.

x3al ★★★★★
()

C++/Qt, PyQt. Первый — потому что по сравнению с C/GTK субъективно лучше, второй — быстрее будет писаться и меньше шанс создать утечки и сегфолты.

vurdalak ★★★★★
()

если надо кроссплатформенно, надежно, и на века — то кроме java ничего нет. не совсем нативное, правда.. но раз уж c#/mono упомянуты.. а так вообще я выбираю C/GTK, но для мелких утилит я бы выбрал что-то другое. bash/perl + zenity, например.

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

Полноценный весит гораздо больше.

Да, но на полноценном можно запилить такой гуй, который не снился ни одному нативному тулкиту.

Для чятика, постоянно висящего в RAM и жрущего сотни метров рамы даже при текущих фичах

Зачем же он нужен, такой чятик?

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

А с чего в линуксах будут сдирать фичи?

Фигасе заявление. А что, их обязательно надо откуда-то сдирать?

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

Да, но на полноценном можно запилить такой гуй, который не снился ни одному нативному тулкиту.

*с ужасом вспоминает десктопную зимбру*

Да, можно. Но, пожалуйста, не делайте этого.

Даже на недодевайсах пишут софтины для доступа к контенту сайтов. Это говорит об юзабилити ваших html-гуев.

x3al ★★★★★
()

зависит от софта, кое что лучше на java, кое чего на пидоне

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

Эта работает для PyGObject. PyGtk не актуальна

vertexua ★★★★★
()

Хватит ли души и времени осилить C++/Qt? Может чего проще?

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

Даже на недодевайсах пишут софтины для доступа к контенту сайтов. Это говорит об юзабилити ваших html-гуев.

Это говорит всего лишь о нежелании авторов прорабатывать эти самые гуи как следует. Ну и к тому же веб-сайт != веб-интерфейс, на сайтах порой ещё всякие недобраузеры поддерживать надо. А вот в случае с WebView, когда точно знаешь, что кроме вебкита тебе ничего не встретится... Здесь уж можно оттянуться по полной и реализовать свою самую смелую интерфейсную фантазию, чтоб юзер вообще забыл, как его, нафиг, зовут, и ему было совершенно до лампочки, Qt-шное это приложение или питонское на pywebkitgtk. Ну а если всё-таки столкнёшься с некоторыми ограничениями, тут уж тулкиты помогут, например, в трее значок нарисовать или контекстное меню забацать. Механизмы взаимодействия WebView со всей остальной прогой что в питоне, что в Qt уже давно известны. Переползать на унылые стандартные кнопочки потом не захочется, однозначно.

border-radius
()

Я бы выбрал C++/Qt, а если для себя на коленке и по быстрому, то Python/Qt.

Reset ★★★★★
()

если для себя, то я бы попробовал EFL с одним из языков (там вроде не один только C, а привязки ещё)

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

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

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

Qt - редкостный ресурсоед. Кстати, на днях портировали одно веб-приложение (адаптивное, не говносайт) на Qt под WebView. И его надо было распространять под венду. Общий вес со всеми dllками получился 40 мег, мать его за ногу. Нехилая такая цена кроссплатформенности.

И да, с чего это GTK некроссплатформенный?

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

Общий вес со всеми dllками получился 40 мег, мать его за ногу

И что? Сейчас везде терабайтные винты, 40M это капля в море.

И да, с чего это GTK некроссплатформенный?

С того, что во-первых, под неродными платформами выглядит как говно, а во-вторых, использует приколоченные к gnu гвоздями autotools.

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

И что? Сейчас везде терабайтные винты

$ df -h
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/sda5              16G   15G  306M  99% /
tmpfs                 442M  4,0K  442M   1% /lib/init/rw
udev                  436M  244K  436M   1% /dev
tmpfs                 442M  608K  441M   1% /dev/shm
/dev/sda1              87G   82G  125M 100% /mnt/sda1
border-radius
()
Ответ на: комментарий от Reset

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

я тебе больше скажу, оно еще и gcc extensions использует, и если у тебя была идея попытаться собрать его вижуалами — врядли что получится. а вообще — ты сам пробовал его собрать под mingw32? что именно не получилось? откуда вообще взялась такая необходимость? я под виндой собирал xchat, и еще что-то, уж не вспомню что, и свои приложения, и проблем особо не возникало.

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

я тебе больше скажу, оно еще и gcc extensions использует, и если у тебя была идея попытаться собрать его вижуалами — врядли что получится. а вообще — ты сам пробовал его собрать под mingw32?

О какой кроссплатформенности тогда может вообще идти речь? Единственный канонический способ сборки под винду — msvs. Остальное — костыли.

я под виндой собирал xchat, и еще что-то, уж не вспомню что, и свои приложения, и проблем особо не возникало.

Если нужно только _собрать_, то может быть это прокатит, а если речь идет о _разработке_, да еще и об использовании, то — нет.

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

Отменяет. Она есть, но чисто формальная, для использования не предназначено.

Reset ★★★★★
()

Однозначно Qt/С++. Начнешь с простого, потом будешь понемногу скилл прокачивать. А там, если уж поймешь, что это твое - смагёшь в случае чего и под убогую порт сделать.

sudo-s
()
Последнее исправление: sudo-s (всего исправлений: 1)
Ответ на: комментарий от Reset

Нет, намекаю на «отучаемся говорить за всю сеть». Будь абсолютно у всех терабайтные веники и четырехгиговые рамы, страшно представить, в каком быдлокоде со всех сторон мы бы утопали.

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

О какой кроссплатформенности тогда может вообще идти речь? Единственный канонический способ сборки под винду — msvs. Остальное — костыли.

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

Если нужно только _собрать_, то может быть это прокатит, а если речь идет о _разработке_, да еще и об использовании, то — нет.

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

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

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

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

ну тебя же никто не заставляет собирать GTK. бери готовые либы

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

и пиши свою прогу в вижуалах.

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

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

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

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

О какой кроссплатформенности тогда может вообще идти речь? Единственный канонический способ сборки под винду — msvs. Остальное — костыли.

А, понятно. Агент мерзософта с его шизуал-студией.

Если нужно только _собрать_, то может быть это прокатит, а если речь идет о _разработке_, да еще и об использовании, то — нет.

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

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

А, понятно. Агент мерзософта с его шизуал-студией.

Не, intel compiler то лучше, но выж свою поделку им не соберете.

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