Re: GUI десктопной утилиты, на чем?
От: YuriKobets Россия http://www.truelaunchbar.com — замена панели быстрого запуска
Дата: 23.06.14 14:18
Оценка: 17 (4)
Здравствуйте, remotecpp, Вы писали:

R>Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.


А что нужно от гуя-то? А может там одна формочка с гридом — и ради этой красоты городить огород?
А то вот сейчас порекомендую свою либу с неблагозвучным названием — там все нативненько и кучеряво
Re: GUI десктопной утилиты, на чем?
От: CEMb  
Дата: 24.06.14 07:01
Оценка: 3 (3) +1
Здравствуйте, remotecpp, Вы писали:

R>В составе моего продукта есть просмотрщик внутреннего формата.

R>Написан был очень давно, на С++ c использованием древней библиотеки, которая, в свою очередь, завязана на MFC.

R>Это несет ряд сложностей с поддержкой, исправлением и добавлением новых фич. Есть потребность переписать GUI.


R>Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.


Если бы я сейчас сел делать с нуля GUI-приложение, взял бы QT. Красиво, удобно (не смотрел ещё), вроде даже с открытыми исходниками.
Кросс-платформенность вначале всегда не нужна, а потом поздно...

А MFC лучше вообще убрать сразу
Re[2]: GUI десктопной утилиты, на чем?
От: jasoni СССР  
Дата: 24.06.14 08:08
Оценка: 19 (3)
Здравствуйте, CEMb, Вы писали:

Сейчас пилю шароварку-тулзовину на Qt, завелась под вин/мак/линукс практически сразу. Были ньюансы с:
1. clang (не поддерживает OpenMP), но для мака я его быстро заменил на GCD.
2. размером wchar_t (для visual studio-компилера 2 байта, а для g++ и clang — 4 байта), пришлось писать конвертор UTF8 <-> UTF16 <-> UTF32 (это для ядра программы, где Qt не использовал). Возможно, надо было устанавливать версию Qt для Windows с MinGW.
3. размер штифтов в GUI контролах для win/mac/linux — разный, из-за чего в *nix системах не влазит текст. пришлось подшаманить.
4. некоторые стандартные контролы выглядят по-разному, поэтому иногда несуразная компоновка получается.
5. не такая удобная отладка как в VisualStudio
6. При использовании LGPL-лицензии на Qt — достаточно большой вес дополнительных Qt-библиотек, отчего инсталлятор получился около 35 MB.

плюсы:
1. Достаточно удобный интерфейс QtCreator
2. Встроенная поддержка Git (пользуюсь Bitbucket в качестве сервиса удаленного репозитория)
3. Можно доустановить Qt Installer Framework, сделать инсталлятор. Пока сделал простенький под Windows, для других систем инсталлер не собирал.

Классы Qt старался использовать только для интерфейса, само ядро программы — на C++ и STL (в основном, для контейнеров). Хотел поначалу собрать ядро как либу, но потом просто попользовал классы ядра — так, как мне показалось, легче дебажить и защита ядра лучше.
Re[12]: GUI десктопной утилиты, на чем?
От: ov  
Дата: 27.06.14 04:11
Оценка: 19 (2)
CS>Да, надо бы installer сделать... Без него похоже через Ctrl+Click можно запустить.

их не любят на маках. dmg сделай, не сильно сложнее, чем zip.

#!/bin/bash
folder=~/path/to/files/for/zip
dmg=~/output/sciter.dmg
hdiutil create -anyowners -ov -srcfolder ${folder} -volname Sciter ${dmg}
hdiutil internet-enable -yes ${dmg}
Re[4]: GUI десктопной утилиты, на чем?
От: c-smile Канада http://terrainformatica.com
Дата: 26.06.14 00:07
Оценка: 15 (2)
Здравствуйте, remotecpp, Вы писали:

CS>>Sciter на самом деле, нынче это наше всё.


R>В чем именно оно все? Кросс-платформенность не рассматриваем.

R>Работает быстрее, чем найтивный интерфейс? Скорость разработки вне конкуренции?

Некая корпорация (назовем её Foo Corp) так мне объяснила бенефиты от Sciter которые они с 2006 года используют:

1. Они выпускают новую версию своего продукта раз в год. При этом логика (backend) не сильно у них меняется за последние лет 20 или около того.
Но UI (то что customer's видят) они меняют регулярно — каждый год. Вчера были модны 3D кнопки, сегодня Metro UI.
В какие-то года они обходятся вообще косметическим редактированием CSS. Поэтому Sciter.

2. Их UX guy мне выдал следующую максиму: пользователь принимает решение покупать или нет в течение первых 40 секунд от начала download.
Т.е. скорость запуска и размер matters. Они вообще используют UI composition (загрузку интерфейса по требованию) когда пользователь
жмет кнопку "Детали..." или что-то там. Поэтому Sciter и HTML со скриптами в нем.

3. У них команды делающие UI и backend разделены. backend в своих worker threads выдает JSON или что-то на него похожее. frontend (UI) его потребляет.
Активно используется data-binding (sdk/samples/+plus — AngularJS alike databinding механизм).
Команды работают независимо практически ибо UI на данные не завязан сильно (естественное разделение UI и logic layers). Поэтому Sciter.

4. Direct2D graphics это GPU акселерация. В свете наличия уже на рынке retina grade (high-DPI) мониторов имеем увеличение фактически на порядок
количества пикселей которые CPU должен обработать (GDI, GDI+ и прочая). Только GPU короче. И в свете тех же мониторов получаются очень
нетривиальные конфигурации — здесь. Поэтому Sciter.

Там есть еще с десяток пунктов, но эти главные я думаю.


CS>>Примеры UI


R>Ну как-то сильно на любителя... Сплошные диалоги-раскраски с разноцветными кнопками.


Это да, согласен. Вот более гуманный что-ли, это все тоже HTML/CSS и скрипты по вкусу

Re: GUI десктопной утилиты, на чем?
От: wamaco  
Дата: 25.06.14 23:41
Оценка: :))
Здравствуйте, remotecpp, Вы писали:

R>В составе моего продукта есть просмотрщик внутреннего формата.

R>Написан был очень давно, на С++ c использованием древней библиотеки, которая, в свою очередь, завязана на MFC.

R>Это несет ряд сложностей с поддержкой, исправлением и добавлением новых фич. Есть потребность переписать GUI.


R>Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.


Я бы выбрал Delphi XE6. Дорого, но это мой выбор! Плохо но это работает!
Re: GUI десктопной утилиты, на чем?
От: chebum Польша  
Дата: 24.06.14 12:04
Оценка: 10 (1)
Я бы смотрел в сторону HTML+JS. Например, обернутая в Chrome Embedded Framework.
Плюсы такие:
* Быстрая отрисовка "из коробки".
* Для большинства видов верстки есть готовые решения в интернете.
* Большое количество разработчиков/фрилансеров. Сможете заутсорсить часть разработки на сторону.
* Поддержка Hi-Dpi "из-коробки".
* Большое количество библиотек и UI компонентов (Bootstrap, Ext JS, PhoneJS, Kendo UI...).
* Съедобные IDE. Например, WebStorm. Рабочий рефакторинг всего 49 за индивидуального разработчика.
* Если есть сложности с прототипным языком программирования, используйте TypeScript.
* Если наткнетесь на проблемы с браузером, можно будет слезть на другой или написать свой уровень абстракции, а JS гонять в V8.

Здравствуйте, remotecpp, Вы писали:
R>Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.
Re: GUI десктопной утилиты, на чем?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 25.06.14 07:24
Оценка: 5 (1)
Здравствуйте, remotecpp, Вы писали:

R>Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.


Лёгкий нативный GUI — wxWidgets.
GUI десктопной утилиты, на чем?
От: remotecpp  
Дата: 23.06.14 14:05
Оценка: 1 (1)
В составе моего продукта есть просмотрщик внутреннего формата.
Написан был очень давно, на С++ c использованием древней библиотеки, которая, в свою очередь, завязана на MFC.

Это несет ряд сложностей с поддержкой, исправлением и добавлением новых фич. Есть потребность переписать GUI.

Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.
Re[3]: GUI десктопной утилиты, на чем?
От: Берсерк СССР  
Дата: 24.06.14 09:12
Оценка: +1
Здравствуйте, jasoni, Вы писали:

J>Классы Qt старался использовать только для интерфейса, само ядро программы — на C++ и STL (в основном, для контейнеров). Хотел поначалу собрать ядро как либу, но потом просто попользовал классы ядра — так, как мне показалось, легче дебажить и защита ядра лучше.


А мне вот Qt в свое время не особо понравилось в плане UI для Windows. Тормозило заметно, плюс UI у них полностью свой (Qt не используется стандартные контролы а рисует все сама). То есть пока делаешь что то простенькое в плане UI — Qt отлично работает, как только начинаешь делать что-то завязанное на Windows то сразу огребаешь кучу проблем и костылей. Пока пришел к выводу что для UI лучше всегда использовать нативные фреймворки, заточнные под конкретную платформу.
Форум без флуда — как без еды посуда
Re[2]: GUI десктопной утилиты, на чем?
От: vf  
Дата: 24.06.14 18:10
Оценка: +1
Здравствуйте, const_volatile, Вы писали:

_>далеко идущих выводов из этих цифр делать не стоит (например, в 2013 в опросе упомянуты ещё и delphi, а не только c++ тулкиты), но составить приблизительное представление о популярности тулкитов можно.


...о популярности тулкитов на рсдн. На хабре, ИМХО, такое голосование будет сильно перекошено в сторону html5/node-js.
Re[2]: GUI десктопной утилиты, на чем?
От: remotecpp  
Дата: 23.06.14 14:23
Оценка:
YK>А что нужно от гуя-то? А может там одна формочка с гридом — и ради этой красоты городить огород?

Это вьюер, наподобие Acrobat Reader.
Re[3]: GUI десктопной утилиты, на чем?
От: YuriKobets Россия http://www.truelaunchbar.com — замена панели быстрого запуска
Дата: 23.06.14 15:14
Оценка:
Здравствуйте, remotecpp, Вы писали:

R>Это вьюер, наподобие Acrobat Reader.


А что там такого навороченного, что нужно что-то специальное? Из всего приходит в голову только "навороченный" тулбар
По моему, данный функционал можно сделать на чем угодно, хоть на голом WinAPI. Делай на том, что хорошо знаешь и будет все тип-топ.
Re[2]: GUI десктопной утилиты, на чем?
От: okman Беларусь https://searchinform.ru/
Дата: 23.06.14 18:09
Оценка:
Здравствуйте, YuriKobets, Вы писали:

YK>А то вот сейчас порекомендую свою либу с неблагозвучным названием — там все нативненько и кучеряво


Заинтересовался.
А на странице "download" пусто (заходил из-под FF и IE)...
Re[3]: GUI десктопной утилиты, на чем?
От: YuriKobets Россия http://www.truelaunchbar.com — замена панели быстрого запуска
Дата: 23.06.14 18:30
Оценка:
Здравствуйте, okman, Вы писали:

O>Заинтересовался.

O>А на странице "download" пусто (заходил из-под FF и IE)...

Библиотека доступна только в исходниках через SVN. Если нужна помощь пиши в личку, буду рад помочь.
Re[4]: GUI десктопной утилиты, на чем?
От: jasoni СССР  
Дата: 24.06.14 05:02
Оценка:
Здравствуйте, YuriKobets, Вы писали:
YK>Библиотека доступна только в исходниках через SVN. Если нужна помощь пиши в личку, буду рад помочь.

опенсорс опенсорсу рознь. под какой лицензией либа (не нашел в репозитории лицензии)? жпл/лжпл/мит/бсд/и т.п.?
Re[3]: GUI десктопной утилиты, на чем?
От: remotecpp  
Дата: 24.06.14 09:04
Оценка:
Здравствуйте, jasoni, Вы писали:

J>Здравствуйте, CEMb, Вы писали:


J>Сейчас пилю шароварку-тулзовину на Qt, завелась под вин/мак/линукс практически сразу. Были ньюансы с:

[...]

J>плюсы:

J>1. Достаточно удобный интерфейс QtCreator
J>2. Встроенная поддержка Git (пользуюсь Bitbucket в качестве сервиса удаленного репозитория)
J>3. Можно доустановить Qt Installer Framework, сделать инсталлятор. Пока сделал простенький под Windows, для других систем инсталлер не собирал.

Спасибо за отзыв.
Но теперь точно Qt не стану пробовать. Плюсов никаких не вижу, зато куча граблей.
Re[5]: GUI десктопной утилиты, на чем?
От: Берсерк СССР  
Дата: 24.06.14 09:06
Оценка:
Здравствуйте, jasoni, Вы писали:

J>опенсорс опенсорсу рознь. под какой лицензией либа (не нашел в репозитории лицензии)? жпл/лжпл/мит/бсд/и т.п.?


Там все есть:

Code license
Mozilla Public License 1.1
https://code.google.com/p/xuilib/

Форум без флуда — как без еды посуда
Re: GUI десктопной утилиты, на чем?
От: const_volatile  
Дата: 24.06.14 13:39
Оценка:
Здравствуйте, remotecpp, Вы писали:

R>Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.


небольшая справка по голосованиям, проводившимся на rsdn за последние годы (в голосованиях можно было выбрать больше одного варианта):

2008
Автор: Tonal-
Дата: 27.08.08
Вопрос: Какую библиотеку GUI для Windows вы в основном используете?

WinAPI 23%
MFC    29%
.Net   53%
Qt     17%


2011
Автор: fk0
Дата: 26.02.11
Вопрос: Какой GUI-тулкит вы предпочитаете?

WinAPI 19%
MFC    22%
.Net   34%
Qt     38%


2013
Автор: Unhandled_Exception
Дата: 15.02.13
Вопрос: Интересует, какими фреймворками пользуется современный шароварщик для создания GUI.

WinAPI 14%
MFC    18%
.Net   45%
Qt     22%

за .Net считались и WinForms, и WPF.

далеко идущих выводов из этих цифр делать не стоит (например, в 2013 в опросе упомянуты ещё и delphi, а не только c++ тулкиты), но составить приблизительное представление о популярности тулкитов можно.
Re: GUI десктопной утилиты, на чем?
От: maks__  
Дата: 24.06.14 13:44
Оценка:
R>В составе моего продукта есть просмотрщик внутреннего формата.
R>Написан был очень давно, на С++ c использованием древней библиотеки, которая, в свою очередь, завязана на MFC.

R>Это несет ряд сложностей с поддержкой, исправлением и добавлением новых фич. Есть потребность переписать GUI.


R>Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.


Разумных альтернатив Си-Шарпу нет.
Внутренний формат — это видео?
Re: GUI десктопной утилиты, на чем?
От: /aka/ СССР  
Дата: 24.06.14 19:45
Оценка:
Здравствуйте, remotecpp, Вы писали:

R>Есть потребность переписать GUI.

R>Пока склоняюсь к C# + WPF. Есть какие-нибудь разумные альтернативы? Перенести в браузер — сложновато будет, на Qt завязываться не хочется, кросс-платформенность не нужна.

HTMLayout. HTML, но не браузер. С++. Техподдержка на русском.
Re[2]: GUI десктопной утилиты, на чем?
От: c-smile Канада http://terrainformatica.com
Дата: 25.06.14 04:28
Оценка:
Здравствуйте, /aka/, Вы писали:

A>HTMLayout. HTML, но не браузер. С++. Техподдержка на русском.


Sciter на самом деле, нынче это наше всё.

Примеры UI
Re[2]: GUI десктопной утилиты, на чем?
От: c-smile Канада http://terrainformatica.com
Дата: 25.06.14 04:32
Оценка:
Здравствуйте, /aka/, Вы писали:

A>HTMLayout. HTML, но не браузер. С++. Техподдержка на русском.


И еще про Sciter, работает на Win, Mac OSX и Linux с одним и тем же C/C++ API.
Re[3]: GUI десктопной утилиты, на чем?
От: BulatZiganshin  
Дата: 25.06.14 07:02
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>И еще про Sciter, работает на Win, Mac OSX и Linux с одним и тем же C/C++ API.


таки допилил linux? здорово!
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: GUI десктопной утилиты, на чем?
От: remotecpp  
Дата: 25.06.14 08:27
Оценка:
CS>Sciter на самом деле, нынче это наше всё.

В чем именно оно все? Кросс-платформенность не рассматриваем.

Работает быстрее, чем найтивный интерфейс? Скорость разработки вне конкуренции?

CS>Примеры UI


Ну как-то сильно на любителя... Сплошные диалоги-раскраски с разноцветными кнопками.
Re[4]: GUI десктопной утилиты, на чем?
От: c-smile Канада http://terrainformatica.com
Дата: 25.06.14 23:26
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>таки допилил linux? здорово!


Linux в процессе допиливания.
Re[2]: GUI десктопной утилиты, на чем?
От: CEMb  
Дата: 26.06.14 01:55
Оценка:
Здравствуйте, wamaco, Вы писали:

W>Я бы выбрал Delphi XE6. Дорого, но это мой выбор! Плохо но это работает!


Итого: дорого и плохо.
Re[5]: GUI десктопной утилиты, на чем?
От: remotecpp  
Дата: 26.06.14 05:48
Оценка:
CS>Некая корпорация (назовем её Foo Corp) так мне объяснила бенефиты от Sciter которые они с 2006 года используют:
[...]

Это другое дело совсем, спасибо.
Re[5]: GUI десктопной утилиты, на чем?
От: BulatZiganshin  
Дата: 26.06.14 07:01
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Linux в процессе допиливания.


ну скажем через год он точно будет?
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: GUI десктопной утилиты, на чем?
От: c-smile Канада http://terrainformatica.com
Дата: 26.06.14 22:42
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, c-smile, Вы писали:


CS>>Linux в процессе допиливания.


BZ>ну скажем через год он точно будет?


Mac port я делал два месяца. Линукс будет дольше немного ибо приоритет пониже. Но около того.
Re[7]: GUI десктопной утилиты, на чем?
От: ov  
Дата: 26.06.14 23:41
Оценка:
CS>Mac port я делал два месяца. Линукс будет дольше немного ибо приоритет пониже. Но около того.

на последней макоси не запускается, кстати. даже ошибку не показывает.
Re[8]: GUI десктопной утилиты, на чем?
От: c-smile Канада http://terrainformatica.com
Дата: 27.06.14 01:44
Оценка:
Здравствуйте, ov, Вы писали:

CS>>Mac port я делал два месяца. Линукс будет дольше немного ибо приоритет пониже. Но около того.


ov>на последней макоси не запускается, кстати. даже ошибку не показывает.


Эта версия mac os x и эта версия sciter?
Re[9]: GUI десктопной утилиты, на чем?
От: ov  
Дата: 27.06.14 03:34
Оценка:
ov>>на последней макоси не запускается, кстати. даже ошибку не показывает.
CS>Эта версия mac os x и эта версия sciter?

макось 10.9.3, а скайтер из сдк с сайта. в sciter.app в info.plist прописана версия 1.0

в console.app при этом вылезает что-то такое:

27/06/14 3:30:55.808 pm com.apple.launchd.peruser.502[259]: (terrainformatica.sciter.110384[26611]) Job failed to exec(3) for weird reason: 13
27/06/14 3:30:55.809 pm Finder[26551]: 8837325: Attempting to SIGCONT to pid #26611 failed, with errno=#3, or the process failed to actually start
27/06/14 3:30:55.817 pm loginwindow[236]: ERROR | -[Application setAppContext:] | Unable to get PID for context [0,2929355]
27/06/14 3:30:55.817 pm Dock[302]: no information back from LS about running process LSASN:{hi=0x0;lo=0x2cb2cb}
27/06/14 3:30:55.819 pm Finder[26551]: 8837325: Attempting to SIGCONT to pid #26611 failed, with errno=#3, or the process failed to actually start
27/06/14 3:30:55.830 pm Finder[26551]: 8837325: Attempting to SIGCONT to pid #26611 failed, with errno=#3, or the process failed to actually start
27/06/14 3:30:55.841 pm Finder[26551]: 8837325: Attempting to SIGCONT to pid #26611 failed, with errno=#3, or the process failed to actually start


если нужна еще какая инфа — пиши в личку
Re[10]: GUI десктопной утилиты, на чем?
От: ov  
Дата: 27.06.14 03:37
Оценка:
погуглил, чинится вот так
chmod a+x sciter.app/Contents/MacOS/sciter

видимо unzip что-то недораспаковал.
Re[11]: GUI десктопной утилиты, на чем?
От: c-smile Канада http://terrainformatica.com
Дата: 27.06.14 04:00
Оценка:
Здравствуйте, ov, Вы писали:

ov>погуглил, чинится вот так

ov>
ov>chmod a+x sciter.app/Contents/MacOS/sciter
ov>

ov>видимо unzip что-то недораспаковал.

Да, надо бы installer сделать... Без него похоже через Ctrl+Click можно запустить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.