The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выход фреймворка для построения пользовательских интерфейсов..., opennews (?), 23-Ноя-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


5. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Андрей (??), 23-Ноя-16, 18:24 
А есть туториалы, как разрабатывать GUI на подобных js-фреймворках и встраивать их в код на C/C++/Go для привыкших писать на C/GTK, C++/Qt, Go/-?
Ответить | Правка | Наверх | Cообщить модератору

14. "Выход фреймворка для построения пользовательских интерфейсов..."  +1 +/
Сообщение от Аноним (-), 23-Ноя-16, 19:20 
Есть же QML/Qt-Quick, зачем вам с собой целый браузер встраивать?
Ответить | Правка | Наверх | Cообщить модератору

18. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Андрей (??), 23-Ноя-16, 19:39 
Браузер встраиваться не будет, а будет коннектиться или с localhost, или удалённо к консольному приложению, которое отдаёт этот html/css/js по HTTP, если я правильно понимаю. Учитывая, что OpenGL в браузере летает, думаю, обычный GUI тоже мог бы не тормозить, если с умом спроектирован. Вот только есть ли такие? (Из коммерческих недавно мне sciter попался на глаза, якобы с умом, но не пробовал.)
Ответить | Правка | Наверх | Cообщить модератору

20. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Аноним (-), 23-Ноя-16, 19:56 
Так тогда это обычное web-приложение будет (SPA - single page application). Не вижу никаких проблем - берете любой знакомый язык (всякие изначально web-ориентированые, типа Go/NodeJS будут предпочтительнее) и фигачите на нём RESTful API через которое будет происходить общение с Javascript web-мордой.
Ответить | Правка | Наверх | Cообщить модератору

26. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Андрей (??), 24-Ноя-16, 01:11 
Тем, кто занимается web'ом, всё ясно. Вопрос как раз в том, есть ли туториалы про SPA не для новичков в программировании, а для тех, кому привычна не web-разработка. С RESTful API первый же вопрос: пока структуры простые (текст), всё ясно, в JSON замечательно читаются. А как только там появляются указатели, что тогда? А с js web-морда как в отличие от дизайна в Glade или QtDesigner/QtCreator, или создание виджетов вручную: новое окно, новая панель, упаковать панель в окно, новый горизонтальный бокс, упаковать бокс в панель, новый лэйбл, упаковать лэйбл в бокс и т.д., потом колбэки? А как с TreeView? С 1000 записями он даже в Gtk подтормаживает.
Ответить | Правка | Наверх | Cообщить модератору

32. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Аноним (-), 24-Ноя-16, 13:04 
В любом случае, обязательно потребуются базовые знания JavaScript/HTML/CSS (без этого, ну никак), а дальше уже JavaScript MVC-фреймворк какой-нибудь(для удобства разработки SPA). Приложение, по сути, будет толстым web-клиентом, т.е. весь код отображения и взаимодействия с пользователем будет на JavaScript/HTML/CSS, а к серверной части будут лишь обращения, навроде: "запиши эту строку в БД", "отыщи значение в БД по такому ключу", "передай мне jpg/pdf/etc файл такой-то". Никаких указателей в JavaScript нет, а если бы и были, то как ссылаться на область памяти на сервере?! Если это что-то на WebGL, то все текстуры нужно будет сперва подгружать в браузер с сервера как внешние ресурсы. Непосредственно видимый интерфейс конструируется на HTML/CSS вручную (WYSIWYG инструментов навроде Glade или QtDesigner/QtCreator по факту нет, если не считать таковыми продукты от Adobe сомнительной полезности). Окошки и виджеты создаём/компонуем или вручную на HTML/CSS или есть куча библиотек и CSS-фреймворков с готовыми виджетами (навроде Bootstrap). Упаковка всего этого добра идет как правило декларативно на HTML. 1000 записей в браузер засунуть можно, но надо ли? Для таких случаев ленивую подгрузку используют, по мере обращения пользователя.
Кроме того на GTK/QT вроде как были проекты по созданию html-backend'ов т.е. обычное приложение, написанное полностью на С++/GTK/QT транслируется специальным бекендом-сервером в веб как просто слоёный набор картинок (некое подобие RDP/VNC протокола, только для браузера) - тогда JavaScript/HTML/CSS вообще знать не обязательно, но по моему все эти проекты так и загнулись.
Ответить | Правка | Наверх | Cообщить модератору

45. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Андрей (??), 24-Ноя-16, 23:50 
> к серверной части будут лишь обращения, навроде ... Никаких указателей в JavaScript нет, а если бы и были, то как ссылаться на область памяти на сервере?!

Меня интересует hello world на примере простого векторного редактора. Т.е. есть примитивы: точка, линия, прямоугольник, эллипс, кривые Безье. Их рисуешь, группируешь. А вот тут и появляются указатели и вопрос, как принято такое разруливать. По идее через RESTful можно гонять указатели, с которыми в js обращаться как с opaque.

> Окошки и виджеты создаём/компонуем или вручную на HTML/CSS или есть куча библиотек

Так хотелось бы, чтобы виджеты выглядели более менее десктопно. Пока не наткнулся ни на что подобное. Кстати, там в Vue.js есть как раз пример TreeView. М-да... Gtk2 выглядит, как известно просто, но в этом и прелесть. А вот в Vue оно выглядит ну так просто, что совсем неюзабельно. Т.е. нет колонок, нет разных типов виджетов, которые можно туда поместить. И нет контекстного меню, без которого совсем никуда. Интересно, есть ли более реальные примеры TreeView.

> 1000 записей в браузер засунуть можно, но надо ли? Для таких случаев ленивую подгрузку используют, по мере обращения пользователя.

Так это же не много. Их можно в миг проскроллить. Ленивая загрузка - это тоже вариант. В почтовом клиенте Trojita на Qt так сделана загрузка заголовков email'ов. Пока пользователь их не видит, нечего и времени тратить на их загрузку. Клиент сразу готов к выполнению нужных действий.

> Кроме того на GTK/QT вроде как были проекты по созданию html-backend'ов

Да, сам собирал Qt под Emscripten. В браузере отъедало кучу памяти и было в каком-то мини-оконном режиме. Загнулось, хотя Emscripten, asm.js, web assembly живут и здравствуют. Про другие backend'ы в самом Qt не слышал. А в Gtk3 есть broadway. Классная вещь! Но как вы верно подметили, там быстро гоняются картинки. Создать такой себе Xserver но для браузера не вышло. И развитие, когда я последний раз смотрел, прекратилось. Очень жаль. Надеюсь, хотя бы не выкинут, ведь им реально можно пользоваться!

Ответить | Правка | Наверх | Cообщить модератору

39. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Rodegast (ok), 24-Ноя-16, 16:44 
Ты уверен что тебе веб-интерфейс нужен? Делай нормальный и не мучайся.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

46. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Андрей (??), 24-Ноя-16, 23:53 
Нормальные я делаю. Вот думал, что раз для Go так ничего традиционного и не выходит, то можно было бы попробовать что-то на web. Но только если это не раздутый фреймворк.
Ответить | Правка | Наверх | Cообщить модератору

51. "Выход фреймворка для построения пользовательских интерфейсов..."  +/
Сообщение от Rodegast (ok), 25-Ноя-16, 10:55 
Так этому Go без году неделя. Подожди ещё выйдет (если конечно язык стоящий). А без раздутых Js фреймворков на web ничего толкового всё равно не сделать. С фреймворками сделать в принципе можно, но нормальный GUI порвёт эту web-морду как Тузик.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру