Я одержим безумной идеей написать свой двухпанельный ФМ, но не как у всех, а с unixway и плагинами.
Суть такая: есть ядро, ui и куча модулей. Каждый модуль отвечает за свой тип источника данных, ui отвечает за интерфейс, а ядро за связь этого всего. Это всё - отдельные процессы, и они общаются между с ядром через стандартный ввод/вывод.
Атомарной единицей в сей системе является объект. Объектом может быть что угодно в зависимости от набора модулей. Например: файл, таблица БД, объект json, таблица csv. Объекты объединяются в хранилища, это каталоги, базы данных (или файлы БД, если речь идёт о SQLite), файлы json/csv соответственно.
Ui - автономный настраиваемый интерфейс. Кнопки действий, колонки в списках объектов, параметры модулей и прочие вещи динамичны и настраиваются в зависимости от набора и возможностей модуля.
Каждый модуль имеет набор параметров необходимый для его работы. Для базы данных это хост, логин, пароль, если бд в файле это корневая директория файла. Обработка данных происходит в модуле в зависимости от контекста операции.
Например, если я копирую таблицу из mysql на диск, то модуль mysql запрашивает каталог у модуля файловой системы и пишет туда дамп. Если в csv, то он берёт у модуля cvs каталог, имя файла (если модуль что-то не знает, то он стучится в ui) и делает дамп в csv. В этих случаях между процессами ходят только команды.
Если надо взять несколько записей из таблицы и перегнать их в json то модуль источника данных преобразует их в нужный формат и передаёт данные модулю назначения, который разбирается что с ними делать. Я размышляю насчёт механизма, но во многих случаях это может быть просто передача json массива по трубам, хотя если в ход пойдут бинарные данные, то нужно будет организовывать отдельный поток/fifo/еще что-нибудь.
Итак. В принципе всё вполне технически решаемо, но работа буксует. Как-то трудно всё потянуть. Нужна хотя-бы моральная поддержка. Кому-нибудь вообще интересна такая идея?
Ответ на:
комментарий
от buddhist
Ответ на:
комментарий
от upcFrost
Ответ на:
комментарий
от x3al
Ответ на:
комментарий
от w1nner
Ответ на:
комментарий
от crutch_master
Ответ на:
комментарий
от x3al
Ответ на:
комментарий
от x3al
Ответ на:
комментарий
от ossa
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Commander (2002)
- Форум Midnight Commander Qiuck Commands (2024)
- Форум Midnight Commander vs Volcov Commander (2012)
- Форум Cortex Command (2012)
- Форум Midnight Commander (2019)
- Форум Midnight Commander (2015)
- Форум Wal Commander (2013)
- Форум midnight commander (2018)
- Форум r2 command (2021)
- Форум user commands (2009)