|
Модератор
|
|
Какой язык + фреймворк лучше в 2025 для написания кроссплатформенного десктопного приложения?19.08.2025, 14:10. Показов 4449. Ответов 55
Метки нет (Все метки)
Привет всем!
Собственно, суть в названии темы. Уточню только, что не обязательно это должен быть байт код, допускается и раздельная компиляция под каждую платформу и ОСь, а вот скрипты не подходят, речь не про опенсорс. Ранее обсуждалось многократно, но почему бы и в этом году не обсудить. Так уж сложилось, что на киберфоруме много разработчиков web приложений (да, да, вас вообще много, понимаю), но иногда и настольные приложения нужно делать. Я ранее использовал Avalonia, и вполне успешно, но попросив сделать заготовки приложений Claude.ai и Copilot разочаровался, оба не справились. Что не удивительно, примеров в сети на авалонии куда меньше чем на winforms или wpf. Думаю попробовать Qt, но я в нём разочаровался когда мне так и не удалось скомпилировать простейшее хеллууорд окно для raspbery pi, ни как кроссплатформенное из убунты, ни установив Qt непосредственно на малинку. После чего перешёл на авалонию, но vibe coding с ней нормально не запускается. Ну, не руками же всё делать, почти во второй четверти XXI века! А у вас какой опыт написания кроссплатформенных настольных приложений?
0
|
|
| 19.08.2025, 14:10 | |
|
Ответы с готовыми решениями:
55
Какой фреймворк самый лучший? Что лучше выбрать для кроссплатформенной разработки? Лучший фреймворк для создания бекенда |
|
|
|||
| 21.08.2025, 19:04 | |||
|
Во-первых нейронка, как и любой кожаный мешок, может хорошо знать фреймворк А, но плохо знать фреймворк В. Означает ли это автоматически что фреймворк А лучше чем В? Не факт. Во-вторых, нейронка всё ещё больше подходит в роли умного справочника, нежели как полноценный кодер. Окей, собрать конкретный кусок кода под чуткий руководством тыжпрограммиста ещё может. А вот влепить полноценную архитектуру, со всеми ньюансами и подводными камнями -- тут уже не каждый мидл вытянет, не то что нейронка. В-третьих, инструмент А может быть проще в освоении, из-за чего человеку проще писать промты к нему. Инструмент В может быть более сложным в освоении, но при этом быть на голову выше/качественней в плане написания программы. Но т.к. он сложнее в понимании, он требует более четких промтов, из-за чего вайбкодинг превращается в испытание не для слабых. Четвёртое -- сейчас написание промтов выглядит как обычный разговор с человеком. Возможно в будущем таки введут инстументарий для более точного диалога, что потребует уже освоения нейронки. Хотя даже без него правильно задать вопрос электронным мозгам -- та ещё задача. И уже в этом плане нейронки могут иметь отличия, из-за которых будут проблемы с теми или иными запрашиваемыми материалами. Так что к сожалению не получится сказать что язык/платформа/фреймворк хороший и это автоматически позволит нейронкам хорошо кодить на нём. Как бы сначала этой нейронке нужно скормить материал для обучения. Добавлено через 1 минуту
0
|
|||
|
Модератор
|
|||
| 21.08.2025, 19:13 [ТС] | |||
|
Приходится упрощать и пользоваться статистикой. Опросить несколько ИИ, нескольких "кожанных мешков".
0
|
|||
|
1305 / 1316 / 193
Регистрация: 21.01.2024
Сообщений: 6,068
|
||
| 21.08.2025, 19:14 | ||
|
Он пакует все в исполняемый файл. .exe для Винды.
0
|
||
|
Модератор
|
||
| 21.08.2025, 21:47 [ТС] | ||
|
К тому же я хейтер языков с динамической типизацией. Static typing forever! По крайней мере для больших проектов. Про TS знаю, используемые для него библиотеки или на js, или с обильным использованием дин. типизации, поскольку статическая там только опциональна. В любом случае, для проприетарного софта скрипты не подходят.
0
|
||
|
|
|||
| 21.08.2025, 22:36 | |||
|
В любом случае вы хотите узнать какой язык программирования хороший в 2025. Дальше всплывает ограничение "для вайбкодинга", теперь если это не строгая типизация, то тоже не считается... Я думаю стоит сначала озвучить весь список ограничений, и уже после этого искать кандидата.
0
|
|||
|
Модератор
|
||
| 22.08.2025, 00:47 [ТС] | ||
|
"Скрипты не подходят, речь не про опенсорс." Динамическая типизация это почти только скрипты. Про vibe coding тоже там написано.
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||
| 22.08.2025, 11:52 | ||
|
0
|
||
|
Модератор
|
||
| 22.08.2025, 12:14 | ||
|
Вроде почти весь платный 3д софт написан на C++ в купе с Qt. Там вроде еще и 2д софт, сапр и прочие видео/аудио. В звуке еще вроде распространена либа JUCE, она опенсорс и кроссплатформа, но в духе Qt в плане лицензий (есть комьюнити есть и платные) Есть такая вещь как Jetpack Compose, а у него есть такая штука как Compose Multiplatform, у языка на котором все это пишется Kotlin Native. Только вот не знаю на сколько эти 2 вещи совместимы между собой и вообще на сколько популярен (даже на родной ос - андроиде) это джетпак. Есть еще кроссплатформенный GTK, но вне пингвинов я его использовать врагу не пожелал бы. По удобству даже простой сборки самой либы крайне ужасная поделка, не говоря про написание чего либо на нем и база у него на чистом Си вроде.
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||
| 22.08.2025, 12:25 | ||
|
0
|
||
|
274 / 206 / 30
Регистрация: 26.11.2022
Сообщений: 903
|
|
| 22.08.2025, 17:44 | |
|
Не бойтесь что ваш код достанут. Тут как то было объявлено о нейроноке заточенной на дизассемблирование бинарников и потом в высокоуровневый язык типа с/с++.
0
|
|
|
Модератор
|
||
| 22.08.2025, 20:06 [ТС] | ||
|
Например. Так вот, их софт шифрует не только приложения в машинном коде, но и .NET приложения. Насколько такая защита эффективна не знаю.
0
|
||
|
Нарушитель
6336 / 3068 / 1054
Регистрация: 01.06.2021
Сообщений: 11,755
|
|||
| 29.08.2025, 18:03 | |||
|
Если тебе достаточно основных десктопных ОС (Windows, macOS, Linux), то советую C++ и wxWidgets. Это реально фреймворк, упрощающий написание программы, а не лишь плюшка для создания красивого интерфейса. Лицензия очень хорошая. Можно создавать даже коммерческий софт и не нужно даже указывать, что создан на wxWidgets. Программа полностью будет твоей. Можешь хоть статическую линковку использовать. Еще в wxWidgets мне нравится то, что интерфейс будет очень похожим на натив, чего не скажешь, например, про программы на Qt, GTK, VCL, ImGUI и прочих фреймворках. Для компилируемых чуть сложнее, но все равно можно вытащить. Я когда-то интересовался защитой ресурсов игры. Оказалось, что даже если выбрать компилируемый язык, даже если использовать обфускацию, даже если использовать шифрование (когда ключ в самом бинарнике), даже если использовать инструменты защиты DRM, как вот Denuvo, - твою игру все равно взломают. Есть даже методы получения игровых моделей непосредственно на уровне драйверов, ведь все меши и текстуры отправляются к GPU. Вопрос в том, а кому нужно взломать твою прогу? Если мамкиным хацкерам, то достаточно реализовать самое простое шифрование или просто выбрать компилируемый язык, так они не смогут ничего сделать.
1
|
|||
|
Модератор
|
|||
| 29.08.2025, 19:22 [ТС] | |||
|
Ну, это будет форсобжор. Будем считать что для десктопных. Мне кажется что Qt гораздо более распространён.
0
|
|||
|
Нарушитель
6336 / 3068 / 1054
Регистрация: 01.06.2021
Сообщений: 11,755
|
|||
| 29.08.2025, 19:46 | |||
|
1. коммерческая - придется заплатить 2. опенсорсная GPL 3. опенсорсная LGPL Если ты не хочешь платить за Qt, то придется выбирать между 2 и 3. LGPL более хорошая лицензия. Она не заставляет открывать код твоего приложение. Всего лишь нужно открыть код той части библиотеки Qt, где ты менял код (если менял). Еще нужно предоставить конечному пользователю возможность линкования библиотеки. На практике означает, что ты либо должен использовать динамическую линковку, либо статическую линковку, но распространять объектные файлы. GPL менее выгодная. Тут хоть можно даже статически линковать без предоставления объектных файлов, но прикол в том, что ты обязан открыть код твоего приложения. И если не сделаешь - то значит нарушаешь лицензию. Хорошая новость в том, что в бесплатной опенсорсной версии Qt многие модули позволяет выбирать между LGPL и GPL. Но есть и такие модули, где только GPL. И если ты используешь хоть один такой модуль (например, Qt Charts), то придется выпускать приложения под GPL и полностью открыть код приложения. И естественно, ни при LGPL, ни при GPL, ты не имеешь права продавать приложение. Для этого нужна платная лицензия. А вот wxWidgets без ограничений. Можешь закрыть код, можешь использовать статическую линковку, можешь нигде не указать, что сделано на wxWidgets, можешь менять код самой библиотеки, можешь продавать приложение. Мне вот нравится в wxWidgets то, что приложения имеют нативный вид. А вот приложения на Qt сразу выдают, что Qt. Касательно сложности изучения, то Qt легче, чем wxWidgets. Минимальный размер оконного приложения на винде на крайней версии Qt - 25 МБ, а на крайней версии wxWidgets - 7 МБ.
0
|
|||
|
Модератор
|
||
| 29.08.2025, 20:06 [ТС] | ||
|
Если это все контролы, то маловато как то, даже Grid-а нет. И что там за wxGTK упоминается? GTK и сам по себе фреймворк. Под linux wxWidgets работает через GTK? Я правильно понимаю, что под каждую платформу нужно исходники отдельно компилировать, хотя они и не меняются в зависимости от платформы?
0
|
||
|
Нарушитель
6336 / 3068 / 1054
Регистрация: 01.06.2021
Сообщений: 11,755
|
|||
| 29.08.2025, 20:15 | |||
|
Grid - https://docs.wxwidgets.org/3.3/classwx_grid.html ты тут смотри https://docs.wxwidgets.org/3.3/annotated.html
0
|
|||
|
1305 / 1316 / 193
Регистрация: 21.01.2024
Сообщений: 6,068
|
|||
| 29.08.2025, 20:19 | |||
|
Если И на macOs и iOs процессоры свои.
0
|
|||
|
Нарушитель
|
||
| 29.08.2025, 20:20 | ||
|
Не по теме: А вообще, кроссплатформенные приложения - это обычно монстры вроде либреофиса, кикада и т.п. Обычному программисту-одиночке или даже небольшой команде не под силу такое. Так зачем вообще голову ломать? Пиши все исключительно под Linux/BSD, и не парься о ламерах, которые даже "убунту" не в силах освоить! Кстати, единственная вменяемая библиотека GUI-виджетов, что я встречал - nuklear (аналог для С++ - ImGUI). Там куча разных бэкендов. Мне больше всего нравится opengl. И, кстати, можно почти без изменений кода собрать веб-морду (будет webassembly + html с жабоскриптом для запуска этого "машкода"). Хотя, в случае с веб-мордами, все равно самый вменяемый вариант - написать все самому руками: кода будет намного меньше, и пользователю не придется лишние мегабайты накачивать (если, конечно, с умом подойти, а не втыкать сторонние полтора мегабайта обфусцированного js ради функции $). P.S. Ну и, как я неоднократно говорил, GUI-приложения нужны крайне редко: браузер, CAD, графический редактор, смотрелка ps/pdf/etc… Ну, а, скажем, смотрелки фильмов и картинок не нуждаются в морде (mplayer, mpv, ffplay, feh, display…). И для музыки есть консольные плееры. А с появлением библиотеки sixel вообще приличную часть "смотрелок" можно прямо в терминал перенести!
0
|
||
|
Нарушитель
6336 / 3068 / 1054
Регистрация: 01.06.2021
Сообщений: 11,755
|
||
| 29.08.2025, 20:20 | ||
|
wxMSW это винда wxGTK это линукс wxOSX это macOS wxGTK называется так, поскольку использует GTK на линуксе. Стиль на линуксе будет, как на GTK.
0
|
||
|
Markiz Red Devil
171 / 296 / 26
Регистрация: 11.08.2022
Сообщений: 3,868
|
|||
| 07.09.2025, 01:06 | |||
|
И вообще - насчёт обфускации - чтобы декомпилировать, надо нанимать отдельно программиста. Затраты на анти-взлом не должны превышать ценности софта. Добавлено через 6 минут А с опен-соурс возня, или отсутсвие графического дизайнера, как в Java или RPC с сериализацией/десериализацией как в Lazarus.
0
|
|||
| 07.09.2025, 01:06 | |
|
Что лучше, учить команды CMD или BASH или PowerShell или все они важны или лучше язык программирования? Какой язык программирования проще и понятнее для новичка для написания приложений для Windows XP, 7 и т. д.? Какую среду и язык лучше использовать для создания Windows-приложения Какой язык лучше для поддержки пользовательского кода в вашем приложении Какой самый полезный антивирус на начало 2025 года? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|