Re[3]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: c-smile Канада http://terrainformatica.com
Дата: 09.10.14 04:02
Оценка: 9 (2)
Здравствуйте, alexdpp, Вы писали:

A>зачем он нужен если есть бесплатный и мощный Qt?


  1. Sciter тоже бесплатный (в binary form) на Windows и Linux. На Mac, да, небесплатный. Традиция на Mac такая — за всё платить.
  2. Sciter это всего одна DLL размером 4mb (6mb на Mac).
  3. Sciter это сугубо UI. И никаких попыток обеспечить "счастья всем и бесплатно" в виде QThread и прочего хозяйства. Для этого есть и средства в std namespace и другие более удобные. Кто-то например POCO предпочитает или ненавидит CamelCase. Мало ли какие традиции в компаниях.
  4. UI в Sciter это одна единственная сушность — HELEMENT (sciter::element в С++). Соответсвенно API это в принципе всего около 30 функций оперирующих HELEMENT. А не тонны классов на каждый чих.
  5. Sciter использует всплывающие события (event bubbling). Никаких signal-slot костылей не требуется.
  6. Code-behind-UI в Sciter это либо native code либо script, на выбор. Скрипт больше подходит для code-behind-UI — GC, first class functions, eval и пр.
  7. CSS selectors как язык запросов (sql::select kind of thing) на DOM tree. Т.е. слабая связанность logic и UI.
  8. Sciter поддерживает динамические интерфейсы когда UI дословно склеивается из разных html фрагментов.
  9. Каждый уважающий себя программер должен знать нынче HTML/CSS. Sciter это оно в этом смысле.
  10. Мода на UI меняется раз в два года. Если не чаще. Нормальный, стандарный CSS это наше всё нынче.

еще продолжать?
Re[3]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: c-smile Канада http://terrainformatica.com
Дата: 09.10.14 04:18
Оценка:
Здравствуйте, alexdpp, Вы писали:

A>зачем он нужен если есть бесплатный и мощный Qt?


А кстати, вот ту картинку в моем сообщении... Сколько займет QT программеру воспороизвести? И какие классы (виджеты) требуются для этого? Кто-нибудь из QT профи может хотя бы вчерне описать?
Re[4]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: Igore Россия  
Дата: 09.10.14 06:33
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>А кстати, вот ту картинку в моем сообщении... Сколько займет QT программеру воспороизвести? И какие классы (виджеты) требуются для этого? Кто-нибудь из QT профи может хотя бы вчерне описать?

Хм, не знаю часа 2-3 наверное, я с qwt не работал, сколько графику прикручивать не знаю, а так, стандартные классы + qss + qwt.
Классы: QLabel, QPushButton, QButtonGroup
QTabWidget — может нужно может нет, зависит от того что умеет qwt.
Re[4]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: MTD https://github.com/mtrempoltsev
Дата: 09.10.14 16:50
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Sciter тоже бесплатный (в binary form) на Windows и Linux. На Mac, да, небесплатный. Традиция на Mac такая — за всё платить.


Исходники доступны? И таки платный — это минус.

CS>Sciter это всего одна DLL размером 4mb (6mb на Mac).


Времена дискет в прошлом, сомнительно, что это большое достоинство.

CS>Sciter это сугубо UI.


А вот это уже минус. Например, на WinCE в свое время словил достаточно проблем из-за того, что в стандартной библиотеке нет locale, в то время как Qt собирал на разной экзотике и всегда без проблем. Использовать дополнительные средства Qt никто не заставляет — используй, что угодно, видел много проектов где бизнес логика без капли Qt стыковалась с гуем через адептеры.

CS>UI в Sciter это одна единственная сушность — HELEMENT (sciter::element в С++). Соответсвенно API это в принципе всего около 30 функций оперирующих HELEMENT. А не тонны классов на каждый чих.


Не понял чем это хорошо. Деление на разные классы для кнопок и меню логично и удобно. В Qt я забыв как точно называется метод, увижу подсказку автокомплита, у тебя видимо надо прочесть доку чтобы понять какой кусок XML сунуть в один из 30 мега-супер методов?

CS>Sciter использует всплывающие события (event bubbling). Никаких signal-slot костылей не требуется.


И в чем костыльность? Без идеологического булшита про "нестандартный" С++ и препроцессор, а с практической точки зрения.

CS>Code-behind-UI в Sciter это либо native code либо script, на выбор. Скрипт больше подходит для code-behind-UI — GC, first class functions, eval и пр.


Что все это означает? Пока что опять попахивает религией.

CS>CSS selectors как язык запросов (sql::select kind of thing) на DOM tree. Т.е. слабая связанность logic и UI.


Ой вот не надо сказок про то, как DOM ослабляет связи. Во-первых, не ослабляет, во-вторых, появляется куча кода который занимается сериализацией-десеарелизацией.

CS>Sciter поддерживает динамические интерфейсы когда UI дословно склеивается из разных html фрагментов.


В Qt я тоже могу легко строить динамические интерфейсы.

CS>Каждый уважающий себя программер должен знать нынче HTML/CSS. Sciter это оно в этом смысле.


Зачем?

CS>Мода на UI меняется раз в два года. Если не чаще. Нормальный, стандарный CSS это наше всё нынче.


В Qt это тоже есть.

CS>еще продолжать?


Пока не увидел ни одного плюса
Re[4]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: MTD https://github.com/mtrempoltsev
Дата: 09.10.14 16:51
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>А кстати, вот ту картинку в моем сообщении... Сколько займет QT программеру воспороизвести? И какие классы (виджеты) требуются для этого? Кто-нибудь из QT профи может хотя бы вчерне описать?


Там для дизайнера работа — написать стили для виджетов, программист набросает и свяжет виджеты за час. Классы самые обычные, типа кнопка.
Re[2]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: MTD https://github.com/mtrempoltsev
Дата: 09.10.14 16:56
Оценка:
Здравствуйте, c-smile, Вы писали:

CS> frame() : window(SW_TITLEBAR | SW_RESIZEABLE | SW_CONTROLS | SW_MAIN) {}


Привет, 90-е!

CS> BEGIN_FUNCTION_MAP

CS> FUNCTION_0("helloWorld", helloWorld);
CS> END_FUNCTION_MAP

И снова привет, 90-е, привет милый MFC!

CS> sciter::string helloWorld() { return WSTR("Hello World"); }


Шо свои строки? Ай-ай, навязываем счастье бесплатно.

CS> const char* html =

CS> "<html>"
CS> "<script type='text/tiscript'>"
CS> "$(body).text = view.helloWorld();"
CS> "</script>"
CS> "<body>"
CS> "</body></html>";

Хардкод HTML в коде и аля JSP вызывающий у всего мирового Java сообщества лет 15 рвотные позывы — не понял, при дизайне была задача взять все худшие практики?
Re[3]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: GarryIV  
Дата: 09.10.14 17:04
Оценка:
CS>> const char* html =
CS>> "<html>"
CS>> "<script type='text/tiscript'>"
CS>> "$(body).text = view.helloWorld();"
CS>> "</script>"
CS>> "<body>"
CS>> "</body></html>";

MTD>Хардкод HTML в коде и аля JSP вызывающий у всего мирового Java сообщества лет 15 рвотные позывы — не понял, при дизайне была задача взять все худшие практики?


Совершенно не за такой код блевали. Там была лапша sql, html и java.
WBR, Igor Evgrafov
Re[4]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: MTD https://github.com/mtrempoltsev
Дата: 09.10.14 17:25
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>Совершенно не за такой код блевали. Там была лапша sql, html и java.


Там тоже в примерах более-менее казалось или ты тут кода в HTML не видишь?
Re[2]: Визуализация данных в реал. времени. Что выбрать на C++
От: VladFein США  
Дата: 09.10.14 18:03
Оценка: :)
Здравствуйте, MTD, Вы писали:

MTD>Зачем? Оператор все равно разницы не увидит между 60 и 1000, а задачу ты усложняешь сильно.


А Вы видели когда-нибудь визуализацию звука? 44КГц?
Re[3]: Визуализация данных в реал. времени. Что выбрать на C++
От: VladFein США  
Дата: 09.10.14 18:57
Оценка:
MTD>>Зачем? Оператор все равно разницы не увидит между 60 и 1000, а задачу ты усложняешь сильно.

VF>А Вы видели когда-нибудь визуализацию звука? 44КГц?


А что смешного-то???
Re[5]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: GarryIV  
Дата: 09.10.14 19:02
Оценка:
Здравствуйте, MTD, Вы писали:

GIV>>Совершенно не за такой код блевали. Там была лапша sql, html и java.


MTD>Там тоже в примерах более-менее казалось или ты тут кода в HTML не видишь?


Да я вижу разницу между лапшой, и этим.
Этот const char* html влегкую можно в отдельный html файл убрать.
WBR, Igor Evgrafov
Re[3]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: c-smile Канада http://terrainformatica.com
Дата: 09.10.14 21:17
Оценка:
Здравствуйте, MTD, Вы писали:

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


CS>> frame() : window(SW_TITLEBAR | SW_RESIZEABLE | SW_CONTROLS | SW_MAIN) {}


MTD>Привет, 90-е!


Не понял этого вот ... Что не так?

CS>> BEGIN_FUNCTION_MAP

CS>> FUNCTION_0("helloWorld", helloWorld);
CS>> END_FUNCTION_MAP

MTD>И снова привет, 90-е, привет милый MFC!


И это не понял ... в чем проблема-то?

CS>> sciter::string helloWorld() { return WSTR("Hello World"); }


MTD>Шо свои строки? Ай-ай, навязываем счастье бесплатно.


Ну ты хоть для прикола в SDK глянул-то ...

namespace sciter
  {
    ....
    // wide (utf16) string
    typedef std::basic_string<WCHAR> string;
    // ascii or utf8 string
    typedef std::basic_string<char>  astring;

  }


Ну т.е. явно не QT с его QString и пр. велосипедами.

WCHAR это или wchar_t или char16_t — UTF16 строки.

CS>> const char* html =

CS>> "<html>"
CS>> "<script type='text/tiscript'>"
CS>> "$(body).text = view.helloWorld();"
CS>> "</script>"
CS>> "<body>"
CS>> "</body></html>";

MTD>Хардкод HTML в коде и аля JSP вызывающий у всего мирового Java сообщества лет 15 рвотные позывы — не понял, при дизайне была задача взять все худшие практики?


Мимо кассы, это пример типа вот этого. В реальности все ресурсы сидят в resource section, VS поддерживает нативно HTML, CSS, script ресурсы.
Re[6]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: MTD https://github.com/mtrempoltsev
Дата: 10.10.14 04:18
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>Этот const char* html влегкую можно в отдельный html файл убрать.


Давай, без бла-бла, чем это отличается от JSP?

<UL>
  <LI><B>Выражение.</B><BR>
      Имя вашего хоста: <%= request.getRemoteHost() %>.
  </LI>
</UL>


И ведь тоже в отдельный файл можно убрать, хоть в html, хоть в jsp!
Re[4]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: MTD https://github.com/mtrempoltsev
Дата: 10.10.14 04:34
Оценка:
CS>>> frame() : window(SW_TITLEBAR | SW_RESIZEABLE | SW_CONTROLS | SW_MAIN) {}

CS>Не понял этого вот ... Что не так?


Адекватно — дать пользователю окно по умолчанию выглядящее как типичное окно, с возможностью если нужно изменить параметры. На каждый чих рыться в доке чтобы понять какой пучок флагов передать в конструктор и как они совместимы по меньшей мере не гуманно.

MTD>>И снова привет, 90-е, привет милый MFC!


CS>И это не понял ... в чем проблема-то?


Ну если для тебя проблемы нет

CS>Ну ты хоть для прикола в SDK глянул-то ...


Как-то не горю желанием — код желание отбил.

CS>Ну т.е. явно не QT с его QString и пр. велосипедами.


Которые оказываются крайне кстати при кроссплатформенной разработке.

CS>WCHAR это или wchar_t или char16_t — UTF16 строки.


Почему именно UTF16? На Linux и Mac wchar_t 4 байта, под UTF32.

CS>Мимо кассы, это пример типа вот этого.


Чем то что у тебя отличается от JSP?

CS>В реальности все ресурсы сидят в resource section, VS поддерживает нативно HTML, CSS, script ресурсы.


Да-да, "в реальности представление у нас в jsp файлах и отделено от логики", проходили, знаем.
Re[7]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: GarryIV  
Дата: 10.10.14 05:29
Оценка:
Здравствуйте, MTD, Вы писали:

MTD>Давай, без бла-бла, чем это отличается от JSP?


MTD>
MTD><UL>
MTD>  <LI><B>Выражение.</B><BR>
MTD>      Имя вашего хоста: <%= request.getRemoteHost() %>.
MTD>  </LI>
MTD></UL>
MTD>


MTD>И ведь тоже в отдельный файл можно убрать, хоть в html, хоть в jsp!


Еще раз, плевались не от этого. И тот html нормальный и эта jsp, только c:out забыли.
Плевались от лапши, где в куче код бизнес логики, код представления и все остальное.

Тут впрочем это злостный оффтопик, завязываю.
WBR, Igor Evgrafov
Re[5]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: c-smile Канада http://terrainformatica.com
Дата: 10.10.14 05:45
Оценка:
Здравствуйте, MTD, Вы писали:

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


CS>>Sciter тоже бесплатный (в binary form) на Windows и Linux. На Mac, да, небесплатный. Традиция на Mac такая — за всё платить.


MTD>Исходники доступны? И таки платный — это минус.


Исходники достуаны, я предоставлял доступ к моему SVN девелоперам которые выразили желание что-то добавить сделать самим.
Напимер таким образом был написан порт на WinMobile. Просто так ловить форки и все остальное — у меня просто нет времени да и не нужно оно никому
кроме посетителей детского сада "Ромашка".

CS>>Sciter это всего одна DLL размером 4mb (6mb на Mac).


MTD>Времена дискет в прошлом, сомнительно, что это большое достоинство.


Я подозреваю что ты не писал комеерческих приложений ...
Пользователь по статистике принимает решение про покупку программы в течение первых 40 секунд. Включая время загрузки.
Size matters.

CS>>Sciter это сугубо UI.


MTD>А вот это уже минус. Например, на WinCE в свое время словил достаточно проблем из-за того, что в стандартной библиотеке нет locale, в то время как Qt собирал на разной экзотике и всегда без проблем. Использовать дополнительные средства Qt никто не заставляет — используй, что угодно, видел много проектов где бизнес логика без капли Qt стыковалась с гуем через адептеры.


<html lang=ru> или <html lang=jp> и будет нужный locale handling при отображении. Твой business layer и знать про него не должен.

CS>>UI в Sciter это одна единственная сушность — HELEMENT (sciter::element в С++). Соответсвенно API это в принципе всего около 30 функций оперирующих HELEMENT. А не тонны классов на каждый чих.


MTD>Не понял чем это хорошо. Деление на разные классы для кнопок и меню логично и удобно. В Qt я забыв как точно называется метод, увижу подсказку автокомплита, у тебя видимо надо прочесть доку чтобы понять какой кусок XML сунуть в один из 30 мега-супер методов?


Ну тут хозяин — барин. 30 функций это все что нужно знать про взаимодейтсвет кода с UI layer.
Архитектура Web UI так и построена. И на Web как-то UI побогаче будет. И самого UI куда как поболее будет чем всех QT приложений вместе взятых.

CS>>Sciter использует всплывающие события (event bubbling). Никаких signal-slot костылей не требуется.

MTD>И в чем костыльность? Без идеологического булшита про "нестандартный" С++ и препроцессор, а с практической точки зрения.

Там много всяких "булшитных" штук про политики владения и, например, forever loop на singnal/slot-ах когда события по кругу ходят.
Ну да это в общем-то неважно если принципов не знаешь.

CS>>Code-behind-UI в Sciter это либо native code либо script, на выбор. Скрипт больше подходит для code-behind-UI — GC, first class functions, eval и пр.


MTD>Что все это означает? Пока что опять попахивает религией.


Какой еще религией? functional programming это по идее более удачная метафора для UI чем OOP. Это еще Smalltalk продемонстрировал.
Reflection опять же... вельми полезная фича в UI и т.д.

CS>>CSS selectors как язык запросов (sql::select kind of thing) на DOM tree. Т.е. слабая связанность logic и UI.


MTD>Ой вот не надо сказок про то, как DOM ослабляет связи. Во-первых, не ослабляет, во-вторых, появляется куча кода который занимается сериализацией-десеарелизацией.


А "сериализацией-десеарелизацией" при чём?

CS>>Sciter поддерживает динамические интерфейсы когда UI дословно склеивается из разных html фрагментов.


MTD>В Qt я тоже могу легко строить динамические интерфейсы.


Ну дык если захочешь построить динамические интерфейсы в QT то ты получишь Sciter. Толко в пятикратном размере дистрибуции.
Re[8]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: MTD https://github.com/mtrempoltsev
Дата: 11.10.14 00:00
Оценка: -1
Здравствуйте, GarryIV, Вы писали:

GIV>Плевались от лапши, где в куче код бизнес логики, код представления и все остальное.


То есть в чем отличие от JSP ты сказать не можешь, но свято веруешь, что в отличии от JSP здесь никто лапшу делать не будет.
Re[6]: Визуализация данных в реал. времени. Что выбрать на C++ для
От: MTD https://github.com/mtrempoltsev
Дата: 11.10.14 00:15
Оценка: -1
Здравствуйте, c-smile, Вы писали:

CS>не нужно оно никому

CS>кроме посетителей детского сада "Ромашка".

Показательное отношение к пользователям.

CS>Я подозреваю что ты не писал комеерческих приложений ...


Не спортивно так быстро сливаться.

CS>Пользователь по статистике принимает решение про покупку программы в течение первых 40 секунд. Включая время загрузки.

CS>Size matters.

Вот возьмем дистрибутив продукта где используется твоя поделка — Norton Antivirus. Его размер около 220 Мб, используй они Qt дистрибутив потолстел бы до 225 Мб. Size matters my ass.

CS>>>Sciter это сугубо UI.


MTD>>А вот это уже минус. Например, на WinCE в свое время словил достаточно проблем из-за того, что в стандартной библиотеке нет locale, в то время как Qt собирал на разной экзотике и всегда без проблем. Использовать дополнительные средства Qt никто не заставляет — используй, что угодно, видел много проектов где бизнес логика без капли Qt стыковалась с гуем через адептеры.


CS><html lang=ru> или <html lang=jp> и будет нужный locale handling при отображении. Твой business layer и знать про него не должен.


А этот пассаж к чему? Я просто привел пример, когда средства предоставляемые библиотекой оказываются кстати или ты не читаешь?

CS>Архитектура Web UI так и построена.


Знаю, знаю, вместо того чтобы дернуть метод объекта, который к тому же удобно забиндить и который удобно подскажет автокомплит, надо открывать доку и искать какой кусок XML сунуть в один из 30 мега-методов.

CS>И на Web как-то UI побогаче будет.


В чем измерять?

CS>И самого UI куда как поболее будет чем всех QT приложений вместе взятых.


Это о чем? И при чем тут QuickTime?

CS>>>Sciter использует всплывающие события (event bubbling). Никаких signal-slot костылей не требуется.

MTD>>И в чем костыльность? Без идеологического булшита про "нестандартный" С++ и препроцессор, а с практической точки зрения.

CS>Там много всяких "булшитных" штук про политики владения и, например, forever loop на singnal/slot-ах когда события по кругу ходят.


Я же просил без буллшита, конкретный пример.

CS>Ну да это в общем-то неважно если принципов не знаешь.


Экак тебя задела критика, второй раз на личности переходишь. Ну не виноват, я что твоя поделка и близко с Qt не стоит, что подтверждается ее популярностью.

CS>Какой еще религией? functional programming это по идее более удачная метафора для UI чем OOP. Это еще Smalltalk продемонстрировал.

CS>Reflection опять же... вельми полезная фича в UI и т.д.

Может быть, в Qt тоже эти модные штуки есть. Я правда не понял прелести, можешь пару примеров привести?

MTD>>Ой вот не надо сказок про то, как DOM ослабляет связи. Во-первых, не ослабляет, во-вторых, появляется куча кода который занимается сериализацией-десеарелизацией.


CS>А "сериализацией-десеарелизацией" при чём?


А как мои данные попадут в DOM и как данные от пользователя вытащить из DOM?

CS>Ну дык если захочешь построить динамические интерфейсы в QT то ты получишь Sciter. Толко в пятикратном размере дистрибуции.


И снова бла-бла-бла, пример будет?
Re: Визуализация данных в реал. времени. Что выбрать на C++
От: ST1 Россия  
Дата: 11.10.14 06:11
Оценка:
Успешно использовал:
1) WinAPI или WTL + ActiveX-компонент NTGraph.
Могу выслать пример на WTL. Из минусов: нет легенды в принципе, нет зума.

2) Графики в Ultimate++ — 30Mb сама среда программирования, графики из под коробки (зума также нету).
Ultimate++ крайне рекомендую для таких утилит, Qt здесь не нужен.
Отредактировано 11.10.2014 6:18 ST1 . Предыдущая версия . Еще …
Отредактировано 11.10.2014 6:16 ST1 . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.