Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Программа: одно ядро - разнные GUI, как такое реализуется? / 18 сообщений из 18, страница 1 из 1
12.02.2018, 20:43
    #39600811
I dont know
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
Приветствую, наверняка вам попадались программы, у которых, скажем, консольное ядро и может быть несколько разных gui , написанных на разных тулкитах или разными авторами. Например эмулятор цепей spice, это ядро и под него есть несколько гуев. Или торрент трекер transmission, аналогично. Интересует, как реализуются такие приложения в плане архитектуры, как гуй взаимодействует с ядром, через какие механизмы, какие паттерны может быть используются и т.д.
...
Рейтинг: 0 / 0
12.02.2018, 21:27
    #39600829
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
Есть ядро со своим неким АПИ.
А Гуи юзают АПИ и рисуют каждый по своему.
Простой пример - погодные/валютные информеры.
...
Рейтинг: 0 / 0
13.02.2018, 08:08
    #39600921
experience
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
MPV и к нему SMPlayer, Bomi, Deepin Movie, MPC-Qt, IINA, ...
Один из ярких примеров
http://www.opennet.ru/opennews/art.shtml?num=48057
...
Рейтинг: 0 / 0
13.02.2018, 09:42
    #39600959
I dont know
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
"Ядро предоставляет АПИ" - это получается гуй обращается к уже рабочей программе(через какие-нибудь сокеты или ещё как можно?) или гуй в своём составе "содержит" эту программу? Т.е где-то в дебрях кода гуя создаётся объект "ядро-программы" и у этого объекта вызываются его методы?
...
Рейтинг: 0 / 0
13.02.2018, 09:46
    #39600961
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
I dont know,

оба варианта подходят
...
Рейтинг: 0 / 0
13.02.2018, 11:03
    #39601006
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
Т.е где-то в дебрях кода гуя создаётся объект "ядро-программы" и у этого объекта вызываются его методы? Нет. ГУИ ничего не знает про подробности реализации. Он знает как вызвать тот или иной метод/свойство внешней программы.
Пример - ВинАПИ.
Вызывая его, вы понятия не имеете, что именно физически делает ОС. Это и не нужно знать. Достаточно правильно вызвать и обработать ответ.

Еще пример из жизни - телевизор. Вы клацаете кнопочки на его АПИ и получаете "результат".
Как он получает живую картинку - вообще мало кто знает в техн.подробностях. И уж тем более сможет качественно повторить.
...
Рейтинг: 0 / 0
13.02.2018, 12:18
    #39601051
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
Гит запускается множеством разных гуёв просто из командной строки безо всякого апи ) и не сильно страдает.
...
Рейтинг: 0 / 0
13.02.2018, 12:51
    #39601074
I dont know
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
LSVНет. ГУИ ничего не знает про подробности реализации. Он знает как вызвать тот или иной метод/свойство внешней программы.

А у программы как-то можно вызывать её функции? Я знаю, можно вызывать функции например у DLL, загружаем её и вызываем функцию(зная её сигнатуру разумеется, видимо для этого этого, некоторые программы при компиляции требует h-файлы от той проги из которой будут вызывать функционал - Для С/С++). А с обычной программой так можно? Или по сути это та же баблиотека?
...
Рейтинг: 0 / 0
13.02.2018, 12:55
    #39601083
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
I dont knowА с обычной программой так можно? Или по сути это та же баблиотека?Написать можно ВСЁ!. Главное Зачем? ))))
...
Рейтинг: 0 / 0
13.02.2018, 13:12
    #39601094
I dont know
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
Petro123,
Не писать, а только ликвидировать пробел в знаниях относительно взаимодействия программ.
Например, возьмем какую-нибудь утилитку из linux, скажем ту же ls, хочу к ней гуй прилепить, пусть список файлов выдаётся в текстовое поле(абстрактный пример конечно, но чтобы было понятно). Один из вариантов как я понял есть, запустить ls из программы гуя и вывести в текстовое поле результат команды. А ещё есть способы?
...
Рейтинг: 0 / 0
13.02.2018, 13:25
    #39601108
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
I dont know,
Статью пишите? Тоже неплохо.
...
Рейтинг: 0 / 0
13.02.2018, 13:26
    #39601109
I dont know
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
Petro123,
Нет, не пишу.
...
Рейтинг: 0 / 0
13.02.2018, 14:06
    #39601131
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
I dont know,
Очень много всяких вариантов чтобы описывать.
ls это просто утилита как dir.... А вы говорили о ядре и о том что в ядре Наш код.
Вы взяли линукс. А андроид? Винда?
Слишком широко взяли классифицировать).
...
Рейтинг: 0 / 0
13.02.2018, 14:15
    #39601139
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
I dont know А с обычной программой так можно? Или по сути это та же баблиотека?В отличие от ДЛЛ, обычная программа не обязана иметь АПИ или OLE-объект. Хотя часто их имеет (н-р ms office, 1С).
...
Рейтинг: 0 / 0
13.02.2018, 14:51
    #39601176
I dont know
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
Petro123,
В линуксе такое встречал, поэтому и привел его в пример, виндой пользуюсь только на работе.

Petro123Очень много всяких вариантов чтобы описывать.
Вот как раз они мне и интересны, какие бывают варианты?

Но из полученных ответов, для себя сделал вывод - возможность сделать отдельный гуи для какой-то программы, должна быть заложена изначально в саму эту программу, к которой этот гуи хотим прилепить. Т.е нельзя взять какую-нибудь программу(консольную) и прилепить к ней свой ui, даже имея её исх. код, по крайней мере его придётся переработать, правильно?
...
Рейтинг: 0 / 0
13.02.2018, 15:04
    #39601199
face@table
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
интерфейс командной строки - универсальный интерфейс - и для программ (как API), и для людей
...
Рейтинг: 0 / 0
13.02.2018, 15:54
    #39601250
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
I dont knowА с обычной программой так можно? Или по сути это та же баблиотека?
Exe-файлу можно ровно так же, как и dll, сделать LoadLibrary, GetProcAddress и так далее, всё это будет работать - при условии, что приложение позаботилось экспортировать свои функции.
...
Рейтинг: 0 / 0
19.02.2018, 19:33
    #39604421
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программа: одно ядро - разнные GUI, как такое реализуется?
I dont know,

авторТ.е нельзя взять какую-нибудь программу(консольную) и прилепить к ней свой ui, даже имея её исх. код, по крайней мере его придётся переработать, правильно

Элементарно, даже без исходного кода. Я уже писал пример - гит.

авторВот как раз они мне и интересны, какие бывают варианты?

Смотри любое межпроцессное взаимодействие (IPC). Хотя бы вот:

https://ru.wikipedia.org/wiki/Межпроцессное_взаимодействие

На большинстве (а может и на всех) этих взаимодействий возможно построить то, что хочется. На чем-то проще, на чем-то сложнее.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Программа: одно ядро - разнные GUI, как такое реализуется? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]