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



@Qreen

Мне нужно каким то образом реализовать кроссплатформенный GUI под окна и линукс. Я знаю python, немного си, js, и совсем чуть-чуть ассемблера.
Слышал, что писать можно на шарпе, можно юзать qt или node js, да даже на php (боже упаси от этих $) можно его ляпать. Так вот, вопрос: что из этого самое выгодное? Я имею ввиду и удобность написания кода и производительность. Просвятите бедного питон-разработчика, который всю жизнь писал без точек с запятой))


Решения вопроса 1



@HemulGM

Зависит от сложности 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



6

комментариев


Ответы на вопрос 5



@res2001

Самое выгодное — это то что вы лучше всего знаете.
Если важна производительность то берите С++ или другой компилируемый язык. Но это на самом деле сильно зависит от задачи, где-то и python с php вполне хватает. Сам по себе GUI не требует особой производительности (если вы обычное приложение пишите, а не игрушку на 120FPS).
Можете юзать Qt на python и не слезать со своего любимого коня.



@vebmaster

про питон ничё не знаю (но вроде крутой), а вот фреймворк Qt очень даже интересный. Но там лицензия просит выкладывать исходник по требованию.

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

Но себе на комп ставлю всё открытое на исходниках, всё что чёрный ящик = плохо, опасно 😀



@vabka

Ну раз питонист, то проще всего будет с каким-нибудь tkinter или pyqt.
Если смотреть на другие языки, то, имхо, удобнее всего будет на шарпе+Avalonia.
Ещё можешь посмотреть в сторону flutter.
Ещё сюда обязательно должен придти Hemul GM и посоветовать Delphi — в принципе тоже неплохой вариант, если смотреть на преимущества (компактный бинарник, достаточно взрослые инструменты, экосистема)
Ещё какой-нибудь Electron и React native вполне удобные, если с фронтендом знаком.



@GLeBaTi

C++:
GTK+ и QT (НО! есть биндинги для многих языков)
C#:
— GtkSharp,
— Avalonia, Xamarin/MAUI
— Unity (но мало готовых контролов)
Delphi
RAD Studio
JS:
— Electron, React native
Python
— Tkinter



@Evgeny_Popov

Еще такая штука появилась не так давно — https://www.jetbrains.com/lp/compose/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *