[Homeros] I: Linux Journal о Luwrain
Michael Pozhidaev
msp на altlinux.ru
Ср Июл 8 09:34:13 MSK 2015
"Nikita" writes:
> Огласите весь список, пожалуйста. :-)
> Я явных минусов не вижу.
Дилемма либо ядро будет предоставлять общую возможность исполнять
скрипты, включая расширениям по их запросу, либо возможность исполнения
скриптов будет локализована в одном расширении.
С одной стороны, если пользовательские скрипты будут всего лишь
ещё одним расширением, это не так мало, но с другой, другие
приложения/расширения могут нуждаться в возможности скриптования для
своих собственныхъ задач. Пример - возможность иметь скрипты для
популярных ресурсов, чтобы они в приложении reader убирали бы из
страницы ненужный незрячему человеку декор. Если ядро не будет
предоставлять общие функции скриптования, reader'у придётся таскать свою
собственную инфраструктуру скриптов.
Могут быть и промежуточные решения, когда скрипты исполняются в
расширении, но ядро как-то отдельно экспортирует и раздаёт функционал
этого расширения другим расширениям. В целом, почему бы и нет, но надо
очень крепко подумать, чтобы не наделать ошибок дизайна.
Вообще, над Luwrain тяготеет одна большая неясность - сейчас весь UI
живёт в одном потоке. То есть когда управление переходит в приложения,
оно продолжает жить в том же потоке, что и ядро системы. Плюсы просты -
стабильность и простота реализации. Но нечто подобное является каким-то
хитрым косяком Android'а, где, как я понимаю, народ поплатился особенной
гладкостью отрисовки. Кто сможет сказать, актуально ли это для нас,
полагая, что гладкость отрисовки UI нам неважна, может взять с полки
пирожок.
При этом с фичей прибить подвисшую операцию в приложении (аналог Ctrl+g
в emacs'е) всё нормально. В отдельный поток мы вынесем вызов
Environment.eventQueue(), и сможем по специальной команде перезапускать
очередь событий в том же наборе запущенных приложений.
> В конце концов, может я хочу скриптом читать/писать конфигурационный
> файл.
Ты не должен хотеть читать/писать конфигурационный файл, потому что тебе
будет выделено место в реестре, куда ты всё и сохранишь под строгим
нашим контролем. Думаю, что дело кончится тем, что будет заведено
несколько типов скриптов с разными полномочиями.
--
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/
English info page: http://www.marigostra.com/
Подробная информация о списке рассылки Homeros