Приветствую.
На rsdn.ru случайно наткнулся на тему, где обсуждается платформо-независимый язык D и реализация GUI его средствами.
Вот взгляните, кому интересно:
http://rsdn.ru/Forum/Message.aspx?mid=1152810
Особенно впечатлил фреймворк Harmonia. Это "portable windowless" GUI framework engine со встроенным HTML-engine (вместо пресловутых XUL и XAML).
В принципе, неплохие идеи для GUI в Ада можно почерпнуть оттуда.
Hello iZEN,
Saturday, August 13, 2005, 12:53:54 AM, you wrote:
Приветствую.
На rsdn.ru случайно наткнулся на тему, где обсуждается
платформо-независимый язык D и реализация GUI его средствами.
Вот взгляните, кому интересно:
http://rsdn.ru/Forum/Message.aspx?mid=1152810
Особенно впечатлил фреймворк Harmonia. Это "portable windowless" GUI framework engine со встроенным HTML-engine (вместо пресловутых XUL и XAML).
В принципе, неплохие идеи для GUI в Ада можно почерпнуть оттуда.
Ага, можно глянянуть на их package tree:
http://www.terrainformatica.com/harmonia/map.htm
А D-язык - почти Ада в терминах C/C++/C#/Java синтаксиса :)
Неплохой язык. Но синтаксис Ады мне ближе и понятнее.
--
Best regards,
Vladyslav
iZEN wrote:
Приветствую.
На rsdn.ru случайно наткнулся на тему, где обсуждается платформо-независимый язык D и реализация GUI его средствами.
Из всего этого мне понравилась только одна идея - атоматической "сборки мусора". ("Лучший алгоритм сборки мусора заключается в том, что бы попросту не мусорить")
Я создам новую нить, что бы не путаться.
-- Vadim Godunko
Technoserv A/S
Rostov-on-Don, Russia
Hello Vadim,
Monday, August 15, 2005, 10:42:24 AM, you wrote:
iZEN wrote:
Приветствую.
На rsdn.ru случайно наткнулся на тему, где обсуждается
платформо-независимый язык D и реализация GUI его средствами.
Из всего этого мне понравилась только одна идея - атоматической "сборки мусора". ("Лучший алгоритм сборки мусора заключается в том, что бы попросту не мусорить")
А мне - идея использовать только голый холст и низкоуровненвые GDI функции для рисования своих контролов/виджетов - я сам подумывал(ю) об подобной реализации, но на базе openGL. Скорость - ВО! Компактность кода - ВО! Безглючность (можно достичь) - ВО! Одно плохо - вид уж очень "свой, особенный" на всех платформах один и тот-же получается, т.е. под разные платформы нужно свои скины присобачивать, чтоб юзер ниочем не догадаывался :( а так - идея достойная Ады - разработать нечто свое с упором на надоежнось, безопасность и т.д., опираясь только на ограниченый набор проверенных функций ОС.
--
Best regards,
Vladyslav
Vladyslav Kozlovskyy wrote:
А мне - идея использовать только голый холст и низкоуровненвые GDI
функции для рисования своих контролов/виджетов - я сам подумывал(ю) об
подобной реализации, но на базе openGL. Скорость - ВО! Компактность
кода - ВО! Безглючность (можно достичь) - ВО! Одно плохо - вид уж
очень "свой, особенный" на всех платформах один и тот-же получается,
т.е. под разные платформы нужно свои скины присобачивать, чтоб юзер
ниочем не догадаывался :( а так - идея достойная Ады - разработать нечто
свое с упором на надоежнось, безопасность и т.д., опираясь только на
ограниченый набор проверенных функций ОС.
Я сам когда-то хотел подобную вещь сделать... Однако со временем передумал - слишком много задач решать придётся, а вероятность успешного результата близка к нулю. Если то, что получится будет достаточно полным и удобным, то оно не будет компактным, а безглючность - вообще не факт. Опять таки, безглючный код будет иметь значительно больший размер, чем глючный. :(
-- Vadim Godunko
Technoserv A/S
Rostov-on-Don, Russia
Hello teplouhov,
Tuesday, August 16, 2005, 5:14:15 PM, you wrote:
On Tue, 16 Aug 2005 09:10:33 +0400, Vadim Godunko
<godunko@...> wrote:
Vladyslav Kozlovskyy wrote:
А мне - идея использовать только голый холст и низкоуровненвые GDI функции для рисования своих контролов/виджетов - я сам подумывал(ю) об подобной реализации, но на базе openGL. Скорость - ВО! Компактность кода - ВО! Безглючность (можно достичь) - ВО! Одно плохо - вид уж очень "свой, особенный" на всех платформах один и тот-же получается, т.е. под разные платформы нужно свои скины присобачивать, чтоб юзер ниочем не догадаывался :( а так - идея достойная Ады - разработать нечто свое с упором на надоежнось, безопасность и т.д., опираясь только на ограниченый набор проверенных функций ОС.
Я сам когда-то хотел подобную вещь сделать... Однако со временем передумал - слишком много задач решать придётся, а вероятность успешного результата близка к нулю. Если то, что получится будет достаточно полным и удобным, то оно не будет компактным, а безглючность - вообще не факт. Опять таки, безглючный код будет иметь значительно больший размер, чем глючный. :(
А какие проблемы-то нынче?
Готовых либ и даже редакторов 3D(wings3d, кстати идет и на п1-75 без OpenGL ;) )
и под OpenGL нынче как грязи, 3х-мерная визуализация прикручивается в несколько строчек хоть куда...
Вот только чтобы простейшая менюшка просила карту с OpenGL мне например нафиг не надо, да я думаю и не только мне :)
Под OpenGL легко и 2D рисуется :) Быстро и кроссплатформенно :)
А нарисовать радиокнопку (две окружности) или checkbox - квадратик/две линии(крестик) - много ресурсов не надо :) EditBox (самая крутая весч (после tree и grid, конечно) занимает около 600 строк кода :) А кто-то говорил о тяжеловесности похожих библиотек :)
(кстати на голом канвасе написана львиная часть компонентов Delphi, кажись весь SWING, новая GUI Microsoft для .NET (Авалон, кажется), все HTML-ГУИПКИ. Так что эта идея еще не самая паршивая
А вот сделать это отдельно в виде чего-то вроде опционального
драйвера почему бы и нет? (ну и пускай делает кто-нить кому делать не фиг - опенсорсный проект и пускай развлекаются :) )
Если конечно его поддержка не будет требовать ничего от программиста при написании программы, иначе эти заморы идут лесом... (ну как
миниум в отдельный файл - пускай раскрашивают кому делать нефиг :) )
Не факт что подобный драйвер не будет иметь спроса. Особенно если он совместим по интерфейсам с нашем ГУ╡-билдером (да впрочем и с любым другим)
Тоесть если сделать описание меню в чем-то более высокоуровневом и платформонезависимом, то такие фокусы вполне возможны. Так-же как и более интересный(для меня :) ) вариант прикрутки вместо
этого графического барохла и текстового режима, и выносного пульта с несколькими кнопками и простейшим индикатором или совсем без него :)
И это надо
Vladimir
PS Кстати, может сделать эти всякие менюшки и гуи как надстройку над текстовыми коммандами?..
Мне эта идея Владимира близка, как никакая другая - всю жисть
проработав SQL-developerом режим
"ГУ╡ и чевото там" -> SQL-команда -> результат
считаю до сих пор самым прогрессивным! - гляньте: если делать все проги двухуровневыми, получаем такую штуку:
ГУИ/UI/TextUI/Дистанционный пульт/3dUIG/че душа пожелает
|
V
нажали "Ок" -> собрали (через &) символьную строку и имеем-с:
|
V
"команда" - просто текстовая строка
|
V
легкий парсер командной строки или чето слегка покруче (ежели надо) |
V
собсно - прога - исполнитель (сервер). Может быть хоть на Луне :О)
--
Best regards,
Vladyslav
On Tue, 16 Aug 2005 09:10:33 +0400, Vadim Godunko <godunko@...> wrote:
Vladyslav Kozlovskyy wrote:
А мне - идея использовать только голый холст и низкоуровненвые GDI
функции для рисования своих контролов/виджетов - я сам подумывал(ю) об
подобной реализации, но на базе openGL. Скорость - ВО! Компактность
кода - ВО! Безглючность (можно достичь) - ВО! Одно плохо - вид уж
очень "свой, особенный" на всех платформах один и тот-же получается,
т.е. под разные платформы нужно свои скины присобачивать, чтоб юзер
ниочем не догадаывался :( а так - идея достойная Ады - разработать нечто
свое с упором на надоежнось, безопасность и т.д., опираясь только на
ограниченый набор проверенных функций ОС.
Я сам когда-то хотел подобную вещь сделать... Однако со временем
передумал - слишком много задач решать придётся, а вероятность успешного
результата близка к нулю. Если то, что получится будет достаточно полным
и удобным, то оно не будет компактным, а безглючность - вообще не факт.
Опять таки, безглючный код будет иметь значительно больший размер, чем
глючный. :(
А какие проблемы-то нынче?
Готовых либ и даже редакторов 3D(wings3d, кстати идет и на п1-75 без OpenGL ;) )
и под OpenGL нынче как грязи, 3х-мерная визуализация прикручивается
в несколько строчек хоть куда...
Вот только чтобы простейшая менюшка просила карту с OpenGL мне например
нафиг не надо, да я думаю и не только мне :)
А вот сделать это отдельно в виде чего-то вроде опционального
драйвера почему бы и нет? (ну и пускай делает кто-нить кому делать
не фиг - опенсорсный проект и пускай развлекаются :) )
Если конечно его поддержка не будет требовать ничего от программиста
при написании программы, иначе эти заморы идут лесом... (ну как
миниум в отдельный файл - пускай раскрашивают кому делать нефиг :) )
Тоесть если сделать описание меню в чем-то более высокоуровневом
и платформонезависимом, то такие фокусы вполне возможны. Так-же
как и более интересный(для меня :) ) вариант прикрутки вместо
этого графического барохла и текстового режима, и выносного пульта
с несколькими кнопками и простейшим индикатором или совсем без него :)
Vladimir
PS Кстати, может сделать эти всякие менюшки и гуи как надстройку
над текстовыми коммандами?..
-- Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
Vladyslav Kozlovskyy wrote:
Под OpenGL легко и 2D рисуется :) Быстро и кроссплатформенно :)
А нарисовать радиокнопку (две окружности) или checkbox - квадратик/две линии(крестик) - много ресурсов не надо :) EditBox (самая крутая весч (после tree и grid, конечно) занимает около 600 строк кода :) А кто-то говорил о тяжеловесности похожих библиотек :)
Извольте не согласится. На мой взгляд здесь немного забыли:
1. О направлении отображения текста (привычный нам - слева на право, арабский - справа на лево, китайский - сверху вниз и все смешанные варианты)
2. Алгоритмах поддержки Unicode (десятки кодовых комбинаций могут описывать один едиентвенный символ).
3. Для всего этого возможность ввода всего множества символов с
клавиатуры в 115 кнопок.
4. Поддержке Cut-Paste, Drag and Drop.
--
Vadim Godunko
Hello Vadim,
Tuesday, August 16, 2005, 6:22:33 PM, you wrote:
Vladyslav Kozlovskyy wrote:
Под OpenGL легко и 2D рисуется :) Быстро и кроссплатформенно :)
А нарисовать радиокнопку (две окружности) или checkbox - квадратик/две линии(крестик) - много ресурсов не надо :) EditBox (самая крутая весч (после tree и grid, конечно) занимает около 600 строк кода :) А кто-то говорил о тяжеловесности похожих библиотек :)
Извольте не согласится. На мой взгляд здесь немного забыли:
1. О направлении отображения текста (привычный нам - слева на право, арабский - справа на лево, китайский - сверху вниз и все смешанные варианты)
китайский давно справа на лево пишется на PC :) Если же сделать
сверху-вниз, то ни о каком совмещении не может быть и речи (а значит все просто :)
А в остальном, не вижу проблем в совмещении. Сам реализовывал вывод кирилицы и еврита в одной строке. Ничего. Даже читабельно :)
2. Алгоритмах поддержки Unicode (десятки кодовых комбинаций могут описывать один едиентвенный символ).
С Unicode не знаком, каюсь. Десятки кодовых комбинаций это что? - одно начертание может иметь несколько кодов? Дык это легко лечится:
таблица_начертаний[Unicode]->конкретное начертание.
Или я что-то не то ляпнул? :)
3. Для всего этого возможность ввода всего множества символов с
клавиатуры в 115 кнопок.
Использовать API ОС для работы с клавиатурой никто не отменял :)
4. Поддержке Cut-Paste, Drag and Drop.
То о чем я писал поддерживает все, кроме Unicode. Да, еще менеджер фонтов использутся битмапный (еще 200 строк кода + bitmap-ресурс :)
--
Vadim Godunko
--
Best regards,
Vladyslav
Vladyslav Kozlovskyy wrote:
>2. Алгоритмах поддержки Unicode (десятки кодовых комбинаций могут >описывать один едиентвенный символ).
С Unicode не знаком, каюсь. Десятки кодовых комбинаций это что? - одно начертание может иметь несколько кодов? Дык это легко лечится:
таблица_начертаний[Unicode]->конкретное начертание.
Или я что-то не то ляпнул? :)
Unicode относится к разряду multibyte кодировок. В дополнение к этому, Unicode предполагает создание произвольных символов, например
кириллическая буква Ё может быть закодирована как одной кодовой позицией
- собственно буквой, так и комбинацией из двух кодовых позиций - буквы Е и двух точек над буквой.
Никаких ограничений, кроме фантазии писателя не накладывается.
>3. Для всего этого возможность ввода всего множества символов с
>клавиатуры в 115 кнопок.
Использовать API ОС для работы с клавиатурой никто не отменял :)
Редко какая ОС в полной мере это подерживает. :(
Плюс обычно предоставляется поддержка hot-spot, но за сам hot-spot отвечает по прежнему приложение.
--
Vadim Godunko
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти