Показать сообщение отдельно
Старый 21.11.2010, 19:37   #1
AndreyAv
Старший Пользователь
 
Регистрация: 16.04.2009
Возраст: 41
Регион: 74
Машина: Hyundai Accent 2008
Сообщений: 96
AndreyAv is on a distinguished road
По умолчанию Очередной мега-фронт-енд.

Раньше пользовался Centrafuse 2, сейчас 3.1, в общем-то почти устраивает, но раздражают тормоза и есть проблемы с изменением скина. Роадраннер пытался покрутить пару раз, почему-то не вдохновило, не знаю почему конкретно. Разработки здешних пользователей глядел, те же яйца, только вид сбоку - каждый делает то что интересно именно ему, хотя это в общем-то нормально.

Решил в свободное от отдыха время придумать что-то принципиально другое. Вот что получилось:
1. Основа для функциональности - скриптовый язык Lua с JavaScript-подобным строением объектов. В основу философии положил объект node, который имеет родителя, детей, положение, размер, текстуру и прочие нужные-важные поля. Кроме того есть базовый объект root, от которого все растет. Работает это примерно так:
local node = root.createNode({id="Main", visible=true})
node.left = 0 (можно так)
node.top = 0
node.setAttr({width=800, height=600}) (можно и так)
node.onLeftPress = function(this)
(и так далее...)
end
Для мультимедиа-функций будет существовать глобальный объект objects.mediaPlayer с методами (например startTrack) и событиями (например onTrackEnd). Ну и подобные объекты для других глобальных подсистем.
Lua быстра, а учитывая то что при первом запуске скрипт компилируется и лежит в памяти готовым-для-запуска, оно вообще летает.
2. Основа для графики - OpenGL. Решает проблемы с корректным масштабированием, со скоростью отрисовки, но не жрет много ресурсов.
3. Встраивание приложений - возможно будет как базовый модуль (например objects.extApps). Сейчас встраивание готово, в Lua пока не добавлено, но работает корректно и глюков с непрорисовкой главного меню iGo (как в Centrafuse 3.1) нет.

Основной плюс в том, что фактически оболочка получается с открытым кодом в текстовом виде (за исключением движка конечно же). На этом движке можно будет сделать не только фронт-енд, а хоть авторан для dvd, и вообще любую визуальную программу, основанную на спрайтах.

Может кто-нибудь покритикует идею, чтобы убрать слабые места, о которых я не подумал?
AndreyAv вне форума   Ответить с цитированием