?

Log in

No account? Create an account
   Journal    Friends    Archive    Profile    Memories
 

Гуй под Windows - morfizm


Apr. 7th, 2017 04:00 pm Гуй под Windows

Хочешь сей, а хочешь куй,
Всё равно получишь GUI.
(народная мудрость)

Простой, казалось бы, вопрос.
Начём вы бы писали несложную GUI-утилитку под Windows?
Пожелания:
1. Поменьше разбираться в гуи-фреймворках.
2. Должно выглядеть нативно.
3. Должно быть легко делать какие-то стандартные контролы: отображение картинки из файла, отображение веб-страницы, кнопки, скроллбары, resize.
4. Желательно, чтобы можно было упаковать результат в один EXE-шник, а не тащить миллион интерпретаторов, библиотек, фреймворков.
5. Язык программирования должен быть такой, чтобы доступны всякие полезные либы (например, шифрование, работа с графическими файлами).

25 comments - Leave a commentPrevious Entry Share Next Entry

Comments:

From:mrumka
Date:April 7th, 2017 11:12 pm (UTC)
(Link)

.Net c#

From:morfizm
Date:April 7th, 2017 11:14 pm (UTC)
(Link)
Спасибо. Я подозревал этот ответ, но мне любопытно, есть что-нибудь другое. Особенно из того, что используется не только под виндой.
From:mrumka
Date:April 7th, 2017 11:30 pm (UTC)
(Link)

Multiplatform только web всe остальное очeнь громоздкоe

From:morfizm
Date:April 7th, 2017 11:32 pm (UTC)
(Link)
Понял, спасибо.
From:birdwatcher
Date:April 8th, 2017 02:18 am (UTC)
(Link)
Perl или C++ с Qt
From:sasha_gil
Date:April 12th, 2017 08:23 am (UTC)
(Link)
Совсем не знаю, какой GUI у Perl (вторую часть, "C++ с Qt" представляю относительно сносно). Есть какие-то дополнительные ключевые слова, чтобы скомбинировать "GUI" и "Perl"? Я не иронизирую - честно, никогда не слышал про Perl GUI. Это лучше, чем Qt, или наровнях -- или всё-таки хуже, объективно?

Edited at 2017-04-12 08:24 am (UTC)
From:birdwatcher
Date:April 12th, 2017 09:58 am (UTC)
(Link)
"Perl GUI" как таковой не существует, но из Перла можно вызывать код из произвольных библиотек. Во многих случаях для этого уже есть готовые перл-модули, делающие процесс абсолютно тривиальным. Как, например, для библиотеки Qt, что я и имел в виду. Кстати, до того, как я ее освоил, много лет тем же способом пользовался для перла другим GUI, Tk (of TCL/Tk fame), но эту сегодня уже не порекомендую.
From:sasha_gil
Date:April 12th, 2017 10:20 am (UTC)
(Link)
Спасибо, стало понятнее! Однако, я по-прежнему не уверен, стоит ли Perl инвестиций для абстрактного morfism-a, вопрошающего его конкретный вопрос. Опять же, я не иронизирую. У меня по работе в большой корпорации М встаёт этот вопрос. Редко, но таки-встаёт.

Пока, я подумываю, что я как старый *-ак (*- подстановка по вкусу читающих) могу-таки пережить поколение перлистов. У вас (пардон, не хотел бы даже переходить на подробности!) своего GUIя таки-нет.

Таки-посоветуем вместе morfism-у, теперь, поизучать Perl в ответ на его вопрос про cross-platform-GUI? Glue languages - имя им легион. Perl идёт на хорошую надпись на своём надгобье unless it's a really good programming language.

birdwatcher, подкати, пожалуйста, аргументов в эту дискуссию! Был бы рад осознать себя неправым здесь именно. Меня эта тема интересует, я по работе больше программирую UI side of things.

Или, таки-нет? Теперь я уже порефлексировал :)
From:birdwatcher
Date:April 12th, 2017 10:27 am (UTC)
(Link)
Но ведь Дима не спрашивал советов про интеллектуальные инвестиции. Он спросил, на чем бы писал я. Вот я и ответил. Конечно, я бы ни за что не посоветовал в 2017 году человеку, не знающему Perl, учить с нуля Perl. Я бы посоветовал Python.
From:sasha_gil
Date:April 13th, 2017 05:04 am (UTC)
(Link)
Я что-то перегрелся в прошлый раз, прошу прощения за развязный тон предыдущего комментария. Программирую всю жизнь на C++ и сейчас стал хотя бы ещё на C#, и не могу себя заставить освоить язык для быстрого деланья инструментов. Использую для этого C#, хотя следовало бы Perl, у меня просто к Perl антипатия какая-то. Я ещё думал про Питон, познакомился с ним немного, но так и не освоил, не было серьёзных поводов (коллеги мало его используют, Perl-а на порядки больше). Пока работаю где работаю, мне C# для таких дел пока сходит с рук.
From:birdwatcher
Date:April 13th, 2017 09:34 am (UTC)
(Link)
Ничего страшного, мне кажется. Никто не обязан использовать ни Perl, ни Python, если не нравятся.
From:metaller
Date:April 8th, 2017 03:02 am (UTC)
(Link)
Delphi.
From:(Anonymous)
Date:April 8th, 2017 04:11 am (UTC)
(Link)
wxPython?
From:(Anonymous)
Date:April 8th, 2017 05:27 am (UTC)
(Link)
Требования противоречивые.

Маленькое простое и куча библиотек? Питон.
Нативность и маленькое? WTL/MFC.
Вебстраницы, конторолы, картинки? Electron, CEF.
Один маленький ЕХЕ? WTL.
From:zlata_gl
Date:April 8th, 2017 06:31 am (UTC)
(Link)
Я очень любила Дельфи.
Лет 10-15 назад это было идеальное средство для писания гуев.
Потом судьба увела меня далеко-далеко.
From:zlata_gl
Date:April 8th, 2017 10:50 am (UTC)
(Link)
Кстати, С# создан дельфушниками.
Вероятно - то, что надо.
From:lyuden
Date:April 8th, 2017 07:16 am (UTC)
(Link)
Без возможности отображения веб-страниц. Я бы писал на tkinter+python, но там нет нормального отображения веб-страницы и есть некоторый геморрой с созданием exe шника. Оно есть в PyQt и Qt вообще и в 5 qt более или менее свежий вебкит, но это достаточно мощный хотя и местами долбанутый фреймворк с достаточно крутой кривой обучения.


Так наверное лучше смотреть в сторону.
https://electron.atom.io/


Но там вопросы с нативным видом.
Насколько я понимаю все фреймворки сейчас проигрывают HTML +JS + Webkit.

Возможно, что то есть на C#. Но тут я не специалист.
From:sim0nsays
Date:April 8th, 2017 07:09 pm (UTC)
(Link)
+1
From:sasha_gil
Date:April 12th, 2017 08:30 am (UTC)
(Link)
:)

+1 я лично понял про средний абзац (электрон), у тебя этот +1 формально равномерно размазан по всему тексту комментария (включая "Но тут я не специалист")?! :)

Мораль: то, что нужно Диме, индустрии не нужно. Все решения вопроса Димы - наколенковые поделки разной степени ненадёжности поддержки прогрессивного человечества и больших корпораций :)

Edited at 2017-04-12 08:31 am (UTC)
From:psilogic
Date:April 8th, 2017 09:23 am (UTC)
(Link)
делал бы на своей библиотеке :)

без нее - C++ и Qt4
From:ak_47
Date:April 8th, 2017 10:31 am (UTC)
(Link)
Сильно зависит от того насколько утилитка [не]сложная. Если что-то разовое и простое, то может и HTA хватить. Там вообще ничего компилировать не надо и всё можно в одном текстовом файле держать.

Если что-сложнее, то под Виндой альтернатив .NET нет. Всё остальное делает разработку на порядки дороже/дольше. Что конкретно использовать в .NET уже можно обсуждать (WinForms, WPF, UWP, etc) в зависимости от требований, target platforms и пр.

Насчёт одного EXE-шника. .NET аппликации можно скомпилировать в native, если очень надо, но обычно .NET уже стоит на любой Винде, так что это скорее для особых ситуаций.
From:morfizm
Date:April 8th, 2017 11:37 pm (UTC)
(Link)
Спасибо.
.NET понятно.

HTA не проходит требование "native look".
Он похож на вебстраницу.
From:ak_47
Date:April 9th, 2017 01:00 am (UTC)
(Link)
С нативным луком ещё такая фигня, что уже все запутались где нативный, а где другой. Сегодня на Винде 10 я могу насчитать несколько параллельно живущих гуёв. При этом, часть из них написана самой МС. Скажем, UWP аппликации, они нативные или какие?

HTA любят сисадмины и девопсы потому что не требуется никакой инфраструктуры для билдов, деплоймента и пр. Просто текстовые файлы можно хранить в репозитории и всё. Дёшево и сердито. При некоторых манипуляциях со стилями можно добиться почти нативного лука (просто потому что IE рендерит контроли насколько возможно близко к нативным). Я знаю что инсталляции для некоторых своих продуктов МС пишет на HTA.

Но в принципе, для мало-мальски интересных вещей только .NET.

Edited at 2017-04-09 01:02 am (UTC)
From:ak_47
Date:April 8th, 2017 10:43 am (UTC)
(Link)
Вдогонку к предыдущему моему коменту. В последнее время я наблюдаю взрывной рост аппликух на технологиях типа Еlectron. Плюс в том что это изначально cross-platform и сравнительно дёшево. Минусы: надо тащить много барахла с собой, интерфейс не всегда выглядит и ведёт себя нативно.
From:extesy
Date:April 10th, 2017 05:34 pm (UTC)
(Link)
Нативно в отношении винды может означать разные вещи. И winforms и wpf и uwp все выглядят "нативно" но очень по-разному. Общий знаменатель - .net, но gui framework все-таки надо будет выбрать.