Задать вопрос
@Qreen
Разъяренный питонист

На чем написать кроссплатформенный GUI?

Мне нужно каким то образом реализовать кроссплатформенный GUI под окна и линукс. Я знаю python, немного си, js, и совсем чуть-чуть ассемблера.
Слышал, что писать можно на шарпе, можно юзать qt или node js, да даже на php (боже упаси от этих $) можно его ляпать. Так вот, вопрос: что из этого самое выгодное? Я имею ввиду и удобность написания кода и производительность. Просвятите бедного питон-разработчика, который всю жизнь писал без точек с запятой))
  • Вопрос задан
  • 1129 просмотров
Подписаться 4 Простой 2 комментария
Решения вопроса 1
HemulGM
@HemulGM
Delphi Developer, сис. админ
Зависит от сложности GUI. Если простой интерфейс, для которого достаточно штатных едитов, лейблов, кнопок, комобоксов и т.д., то стоит выбрать тот, что ближе к языку, который вы лучше знаете. Если это питон (и вам не нужна особо производительность), то лучшим выбором будет Tkinter. Если JS - React Native.
Если интерфейс более сложный, то стоит задуматься на тему серьезных в этом плане языков. C++, Delphi, C#, Java. С ними и производительность будет лучше и инструментов разработки больше (GUI).

Субъективно, я могу подробнее рассказать о написании на Delphi, где в линукс разработке есть и плюсы и минусы. Из крупных минусов - не все дистрибутивы поддерживаются. А именно некоторые AstroLinux и ElementatyOS не поддерживаются из-за проблем с используемыми там версиями GTK+.
Также, к минусам можно отнести то, что среда разработки может быть установлена только под Windows.
Далее только плюсы: быстрая разработка, отсутствие зависимостей, мощнейший дизайнер (из существующих), нативный код и т.д. Ссылка на фреймворк-платформу (https://www.fmxlinux.com/)
И, не смотря на бытующее мнение, язык и среда разработки развиваются и используются. Последняя версия среды (и непосредственно языка) вышла во второй половине этого года. Имеется Community версия для бесплатного использования https://www.embarcadero.com/ru/products/delphi/starter
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@res2001
Developer, ex-admin
Самое выгодное - это то что вы лучше всего знаете.
Если важна производительность то берите С++ или другой компилируемый язык. Но это на самом деле сильно зависит от задачи, где-то и python с php вполне хватает. Сам по себе GUI не требует особой производительности (если вы обычное приложение пишите, а не игрушку на 120FPS).
Можете юзать Qt на python и не слезать со своего любимого коня.
Ответ написан
Комментировать
@GLeBaTi
C++:
GTK+ и QT (НО! есть биндинги для многих языков)
C#:
- GtkSharp,
- Avalonia, Xamarin/MAUI
- Unity (но мало готовых контролов)
Delphi
RAD Studio
JS:
- Electron, React native
Python
- Tkinter
Ответ написан
про питон ничё не знаю (но вроде крутой), а вот фреймворк Qt очень даже интересный. Но там лицензия просит выкладывать исходник по требованию.

Как коммерческий разработчик я вообще щас стал сторонником бинарников проприетарных. Всё, что не бинарник = для меня плохо.

Но себе на комп ставлю всё открытое на исходниках, всё что чёрный ящик = плохо, опасно :D
Ответ написан
Ну раз питонист, то проще всего будет с каким-нибудь tkinter или pyqt.
Если смотреть на другие языки, то, имхо, удобнее всего будет на шарпе+Avalonia.
Ещё можешь посмотреть в сторону flutter.
Ещё сюда обязательно должен придти Hemul GM и посоветовать Delphi - в принципе тоже неплохой вариант, если смотреть на преимущества (компактный бинарник, достаточно взрослые инструменты, экосистема)
Ещё какой-нибудь Electron и React native вполне удобные, если с фронтендом знаком.
Ответ написан
@Evgeny_Popov
Еще такая штука появилась не так давно - https://www.jetbrains.com/lp/compose/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы