XУЛ

С Википедије, слободне енциклопедије

XУЛ (/ˈзуːл/, скраћено од XML Усер Интерфаце Lангуаге, је језик за обележавање за корисничким интерфејсом направљен од стране Мозилла-е. XУЛ је имплементиран као XМЛ диалекат; он дозвољава да графички кориснички интерфејс буде написан на сличан начин као веб странице.

XУЛ може да се користи за писање апликација за више платформи као што је Мозилла Фирефоx, где је интерпретиран од стране лаyоут енгине-а познатијег као Гецко који преводи Фирефоx-ов кориснички интерфејс и приказ веб страница.[1]

Дизајн[уреди | уреди извор]

XУЛ се ослања на многе постојеће веб стандарде и технологије, укључујући ЦСС, ЈаваСцрипт, и ДОМ, та чињеница чини XУЛ релативно лаким за учење људима са познавањем основа веб програмирања и веб дизајна.

XУЛ нема формалну спецификацију и не интерагује се не-Гецко имплементацијама. Ипак, користи опен соурце имплементацију Гецко-а, која је лиценцирана под ГНУ ГПЛ-ом, ГНУ ЛГПЛ-ом, и МПЛ-ом [2] док Гецко није прешао на ГПЛ-компатибилни, МПЛ 2.0.

Мозилла пруза експериментални XУЛРуннер буилд-ер који омогућава програмерима да напишу своје апликације на основама Мозилла апплицатион фрамеwорк-а и XУЛ-а посебно.

XУЛ пружа портабле дефиницију за уобичајне wидгет-е, омогућавајући им да се лако пребаце на било коју платформу на којој се Мозиллине апликације извршавају.[3]

XУЛ документација[уреди | уреди извор]

Програмери обично дефинишу XУЛ интерфејс као три дискретна скупа компоненти:

  1. цонтент: XУЛ документа, чији елементи дефинишу распоред корисничког интерфејса
  2. скин: ЦСС фајлови и слике, који дефинишу изгледа апликације
  3. лоцале: фајлови који садрже видљиве стрингове за лакшу локализацију софтвера

XУЛ елементи[уреди | уреди извор]

XУЛ дефинише велики број елемената, који грубо могу да се поделе на следеће типове:

Елементи високог нивоа
wиндоw, паге, диалог, wизард, етц.
Wидгет-и
лабел, буттон, теxт боx, лист боx, цомбо боx, радио буттон, цхецк боx, трее, мену, тоолбар, гроуп боx, таб боx, цолорпицкер, спацер, сплиттер, етц.
Боx модели
боx, грид, стацк, децк, етц.
Догађаји и скриптови
сцрипт, цомманд, кеy, броадцастер, обсервер, етц.
Извори података
темплате, руле, етц.
Остали
оверлаy (аналогно са ССИ-ом, али на клијентској страни и моћнији, са бољим перформансама), ифраме, броwсер, едитор, етц.

Програмер може да користи елементе из других XМЛ апликација у XУЛ документима, као нпр. XХТМЛ, СВГ и МатхМЛ.

Мозилла је додала неке основне wидгет-е — <scale/> (некада назван и "слидер"), <textbox type="number"/> (спинбоx), одабираче датума и времена — за време развијања Гецко верзије 1.9.[4]

XУЛ апликације[уреди | уреди извор]

Док се XУЛ користи примарно за развијање Мозилла апликација и њихових екстензија он може да се користи и у веб апликацијама трансферован преко ХТТП-а. Мозилла Амазон Броwсер, бивша XУЛ апликација овог типа, пружала је богат интерфејс за претраживање књига на Амазон.цом-у.[5] Ипак, многа моћна својства Мозилла-е (као нпр. XПЦОМ објекти) остају недоступни за непривилегована XУЛ документа осим ако скрипт има дигитални потпис, и осим ако корисник добије право приступа одређеним привилегијам у апликацији. Таква документа такође пате од различитих ограничења веб прегледача, укључујући немогућност да се учитају даљински XУЛ, ДТД, и РДФ документи.

Како Гецко једини пружа пуну имплементацију XУЛ-а, такве апликације остају неприступачне корисницима веб прегледача који нису засновани на Мозили. Мозилла-програмери понекад кажу да се XУЛ апликације извршавају локално као цхроме.[6]

Друге апликације које користе XУЛ:

  • Ампле СДК опен-соурце ГУИ оквир омогућује имплементацију XУЛ-а у ЈаваСцрипт-у на више веб прегледача.
  • АцтивеСтате Комодо ИДЕ користи XУЛ као и Опен Комодо пројекат представљен 2007.
  • Сонгбирд музички плејер и Миро видео плејер обоје користе уграђени XУЛ.
  • Елиxон WЦМС/XУЛ Цонтент манагемент сyстем користи искључиво даљински XУЛ, и тако превазилази неке од већ поменутих ограничења даљински непривилегованих XУЛ докумената.
  • Програмери апликације Целтx медија користили су у пред продукцији XУЛ.
  • Флицкр Уплоадер је развијен помоћу XУЛ-а, изворни код је доступан под ГПЛв2 лиценцом.[7]
  • Киwиx, оффлине Wикипедиа прегледач

Са појавом Фирефоx верзије 4, подршка за удаљена XУЛ документа је подразумевано онемогућена из сигурносних разлога. Учитавање XУЛ странице преко ХТТП-а не би пријавило грешку осим ако је домен додат на сакривену белу листу.[8]

Назив[уреди | уреди извор]

Назив "XУЛ" је референца из филма Гхостбустерс (1984), у ком античко Сумерско биће звано Зуул обузима Дану Барретт и изјављује, "Нема Дане, само Зуул". Будући да XУЛ, као и МXМЛ, користи XМЛ да дефинише интерфејс а не документ, његов развојни тим осмислио је слоган: "Не постоје подаци, постоји само XУЛ". Одатле XМЛ намеспаце УРИ на почетку сваког XУЛ документа:

http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul

Документ из линка приказује линк великим словима на средини екрана.

"Кеyмастер" и "гатекеепер" су такодје референце из филма Гхостбустерс. (Друге референце на Гхостбустерс такодје се појављују у Мозиллиним пројектима: нпр., компонента ЈаваСцрипт дебуггер-а се зове Венкман, по једном од главних ликова у филму.)

Пример[уреди | уреди извор]

Овај пример приказује три дугмета наслагана једно на друго у вертицал боx контејнеру:[9]

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="vbox example" title="Example 3...."
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <vbox>
    <button id="yes1" label="Yes"/>
    <button id="no1" label="No"/>
    <button id="maybe1" label="Maybe"/>
  </vbox>
</window>

Слични језици[уреди | уреди извор]

Заснован на ХТМЛ-у, ДХТМЛ-у и ЈаваСцрипт-у, Мицрософт-ов ХТМЛ Апплицатион подсећа на XУЛ и представља засебну апликацију са могућношћу да покреће апликације на Wиндоwс-у, ван прегледача веба.

Мицрософт Wиндоwс Пресентатион Фоундатион (WПФ) дефинише XАМЛ, још један декларативни језик са корисничким интерфејсом сличан XУЛ-у — он је на врху .НЕТ Фрамеwорк хијерархије.

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. ^ „Гецко ФАQ”. Мозилла Девелопер Центер. Мозилла Фоундатион. 15. 3. 2008. Архивирано из оригинала 13. 09. 2008. г. Приступљено 26. 3. 2009. 
  2. ^ Мозилла Фоундатион. „Мозилла Цоде Лиценсинг”. Приступљено 17. 9. 2007. 
  3. ^ „Тхе Јоy оф XУЛ”. Мозилла Фоундатион. 9. 9. 2007. Архивирано из оригинала 17. 11. 2008. г. Приступљено 26. 3. 2009. 
  4. ^ Фирефоx 3 фор девелоперс
  5. ^ „Ремоте Апплицатион Девелопмент wитх Мозилла, Парт 2: А Цасе Студy оф тхе Мозилла Амазон Броwсер (МАБ)”. Ореиллyнет. 5. 2. 2003. 
  6. ^ Фелдт, Кеннетх C. (2007). Программинг Фирефоx: Буилдинг Рицх Интернет Апплицатионс wитх XУЛ. О'Реиллy Медиа. стр. 76—77. ИСБН 978-0-596-10243-2. Приступљено 4. 3. 2008. 
  7. ^ Геттинг yоур стуфф онто Флицкр
  8. ^ „Фирефоx 4 фор девелоперс”. 
  9. ^ Тхе Боx Модел - XУЛ | МДН Архивирано на сајту Wayback Machine (24. фебруар 2012). Developer.mozilla.org (2012-12-16). Retrieved on 2014-03-28.

Spoljašnje veze[уреди | уреди извор]