|
[May. 26th, 2007|09:18 am] |
Мысли: Язык разметки для описания графического интерфейса.
В Java до сих пор графический интерфейс создается императивным методом - т.е. виртуальной машине даются команды типа "создать фрейм", "создать кнопку", "создать разметку". То же самое в Win32, где программист для создания графического интерфейса обращается к операционной системе с командами "Создать окно", "Создать кнопку ОК", и т.п. В то же время для описания графического интерфейса, всевозможных форм, элементов управления на них и пр. как нельзя лучше подходят языки разметки типа HTML или XML. Очень наглядно экранная форма описывается в HTML:
<form id="form1">
<button action="submit" value="OK">
</form>
Непонятно, почему до сих пор не образовался общий для индустрии язык разметки, использующийся для описания форм графического интерфейса. Вроде бы и идея очевидная, и написать компилятор с такого языка в язык общего назначения с соответствующей графической библиотекой - задача (насколько я представляю) не запредельно сложная, и для визуальных RAD-сред читать язык разметки и наглядно отображать формочку, описанную на нем, по идее проще, чем, скажем, парсить java-класс JFrame, и определять, какие инструкции в общей массе кода отвечают за размеры формы, ее цвет, разметку и т.п. Тем не менее, в основных языках (C++ и java) такого общепринятого инструмента вроде бы нету, (как описываются формы на C# - не помню). Что-то похожее было в Delphi, где графические формы описывались на своем языке (в принципе, это был язык разметки), и описания хранились в .dfm-файлах, отдельно от основной массы кода.
upd. Стал копать, и нашел проект User Interface Markup Language (http://uiml.org) - они хотят стандартизировать именно такой язык разметки, основанный на XML. Вроде есть даже его реализация для Java/Swing - jUIML. Интересно, много людей про него слышали/пользуются?.. |
|
|