[Áöµð³ÝÄÚ¸®¾Æ]ÀÎÅÍ³Ý È¨ÆäÀÌÁö´Â ÅØ½ºÆ®¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â HTML, CSS, ÀÚ¹Ù½ºÅ©¸³Æ® ¼Ò½º µîÀ¸·Î ±¸¼ºµÅÀÖ´Ù. ´Ü¼øÇÏ°í °£°áÇϸ鼵µ ÀÌÇØÇϱ⠽¬¿î À¥ ¹®¼ÀÇ ±¸Á¶´Â ¸¹Àº »ç¶÷µéÀÌ Á¢±ÙÇØ °øºÎÇϱ⠽¬¿ö ÀÎÅͳݰú À¥ÆäÀÌÁö È®»êÀÇ ¿øµ¿·ÂÀÌ µÅ ¿Ô´Ù.
±×·¯³ª ÀÏ¹Ý ÀÀ¿ë ÇÁ·Î±×·¥Àº ¾î¶°ÇѰ¡? ¿ì¸®°¡ ÈçÈ÷ »ç¿ëÇÏ´Â ³ëÆ®ÆÐµå, °è»ê±â °°Àº ÇÁ·Î±×·¥À» ¸¸µå·Á ÇÑ´Ù¸é ´Ü¼øÈ÷ À¥ÆäÀÌÁö¸¦ ¸¸µå´Â ¼öÁØÀÇ Áö½ÄÀ¸·Î´Â ¾î·Á¿ò¿¡ ºÎµúÈ÷°Ô µÈ´Ù. À©µµ¿ì¿ë ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ßÇÏ·Á¸é ºñÁÖ¾ó º£ÀÌÁ÷, ºñÁÖ¾ó C++, µ¨ÆÄÀÌ, º¼·£µå C++°ú °°Àº °³¹ß µµ±¸¸¦ »ç¿ëÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù.
ÀÏ¹Ý ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß¿¡ ´ëÇÑ ÁøÀÔ À庮À» ¿ÏÈ Çϰí, HTMLó·³ µ¥ÀÌÅÍ µ¶¸³¼ºÀ» º¸ÀåÇØ ÁÙ ¼ö ÀÖ´Â ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß ȯ°æÀ» ¸¸µé·Á´Â °æÇâÀÌ ÃÖ±Ù »õ·Ó°Ô »ý°Ü³ª°í ÀÖ´Ù. ¹Ù·Î XMLÀ» ÀÌ¿ëÇÑ GUI °³¹ß°ú ½ºÅ©¸³Æ® ¾ð¾î¸¦ ÀÌ¿ëÇÑ µ¿ÀÛ ±¸ÇöÀÌ ±×°ÍÀÌ´Ù. ÀÌÁ¦ º¹ÀâÇÏ°í ¾î·Á¿î °³¹ß µµ±¸·Î ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µå´Â ½Ã´ë´Â Àú¹°°í ÀÖ´Â °ÍÀÌ´Ù.
»õ·Î¿î °³¹ß ¹æ¹ý·Ð, ½ÃÀÛÀº ¸ðÁú¶ó°¡
ÀÌ ¹æ¹ý·ÐÀ» ¸ÕÀú ½ÃÀÛÇÑ °÷Àº ¹Ù·Î ¸ðÁú¶ó(Mozilla) ´Ù. ¸ðÁú¶ó´Â ÀÌÀü±îÁö¸¸ ÇØµµ À¥ºê¶ó¿ìÀúÀÇ ´ëÇ¥Àû À̸§À̾ú´ø ³Ý½ºÄÉÀÌÇÁ Ä¿¹Â´ÏÄÉÀÌÅͰ¡ 1998³â ¿ÀǼҽº·Î ÀüȯÇÑ ÀÌÈÄ, Àü ¼¼°è °³¹ßÀÚµéÀ» ÅëÇØ¼ ¹ßÀüÇØ ¿Â À¥ºê¶ó¿ìÀú´Ù. ÀÌ ºê¶ó¿ìÀú´Â ¸ðÁú¶ó 1.0ÀÌ Ãâ½Ã µÇ±â Àü±îÁö, °ÔÄÚ(Gecko)¶ó´Â ÀÚü ºê¶ó¿ì¡ ¿£Áø°ú ÇÔ²² XUL(XML-based User interface Language)°ú XBL(XML-based Binding Language)·Î ¼ÒÇÁÆ®¿þ¾î Ç÷§ÆûÀ» ±¸¼ºÇÏ´Â ÆÄ°ÝÀûÀÎ ¹æ¹ýÀ» ¼±ÅÃÇß´Ù.
'ÁÙ'À̶ó°í ¹ßÀ½ÇÏ´Â XULÀº
API ±â¹ÝÀÇ
GUI µµ±¸·Î¼ ±¸Á¶ ¹× UI ¿ä¼Ò (content), ½ºÅ² ȤÀº Å׸¶¿Í °°Àº ¿Ü¾ç(appearance), ´Ù±¹¾î Áö¿ø(locale) µîÀ¸·Î Å©°Ô ³ª´²Áö¸ç °¢°¢ XUL, CSS/Image,
DTD µîÀÇ ÆÄÀϵé·Î ±¸¼ºµÅ ÀÖ´Ù.
½ÇÁ¦·Î ¸ðÁú¶ó ºê¶ó¿ìÀú¿¡
Jar·Î ¹¿© ÀÖ´Â ÆÄÀϵéÀ» Ç®¾îº¸¸é ÀÌµé ÆÄÀϵé·Î ±¸¼ºµÇ¾î ÇÁ·Î±×·¥ÀÌ µ¿À۵ǰí ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ¸¸µé¾îÁø UI¿¡¼ÀÇ ÇÁ·Î±×·¥ ÀÛµ¿Àº ÀÚ¹Ù ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÑ´Ù.
 |
| XUL°ú ÀÚ¹Ù½ºÆ®¸³Æ®·Î ¸¸µç ¸ðÁú¶ó¿ë ´ÙÀ½ Åø¹Ù |
¸ðÁú¶óÀÇ È®Àå ±â´É(Extensions)ÀÌ ¹Ù·Î ÀÌ·± ¹æ½ÄÀ¸·Î ¸¸µé¾îÁö°í ÀÖÀ¸¸ç ±¸±Û¹Ù, ÅǺê¶ó¿ì¡, ȯ°æ ¼³Á¤ ¸¶¹ý»ç µî ¼ö¹é°³ÀÇ È®Àå ±â´É(
update.mozilla.org)ÀÌ ¸¸µé¾î Áö°í ÀÖ´Ù. Áï µ¥½ºÅ©Å¾ ÄÄÇ»ÅÍ¿¡ ¸ðÁú¶ó¸¸ ±ò·Á ÀÖÀ¸¸é ¸ðÁú¶óÀÇ ¿£ÁøÀ» ÀÌ¿ëÇØ ´Ù¾çÇÑ À¥ ÀÀ¿ë ÇÁ·Î±×·¥À» °£´ÜÇÏ°Ô ¸¸µé ¼ö ÀÖ´Â °ÍÀÌ´Ù.
XULÀÇ ÀåÁ¡Àº ¿ì¸®°¡ °¡Áö°í ÀÖ´Â HTML, CSS, ÀÚ¹Ù½ºÅ©¸³Æ®¿Í °£´ÜÇÑ
XML Áö½Ä¸¸À¸·Îµµ À¥ ÀÀ¿ë ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ´Ù¸¥ °æÀï ¹æ½Ä¿¡ ºñÇØ ´õ Àͼ÷ÇÑ ¹æ½ÄÀ» »ç¿ëÇϸç À©µµ¿ì, ¸®´ª½º, ¸Æ µî ´Ù¾çÇÑ OS¿¡ µ¶¸³ÀûÀÎ ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖ´Ù´Â Á¡µµ ¸Å·ÂÀÌ´Ù. ¸ðÁú¶ó´Â OS µ¶¸³ÀûÀÎ XPCOM, XBL °°Àº Ç÷§Æû ¶óÀ̺귯¸®¸¦ ÀÌ¹Ì °®Ãß°í Àֱ⠶§¹®¿¡ ¹èÆ÷¸¸ Àß µÈ´Ù¸é ´å³Ý ¶óÀ̺귯¸® ȤÀº ·ÕÈ¥°úµµ ÃæºÐÈ÷ °æÀïÀÌ °¡´ÉÇÒ °ÍÀÌ´Ù.
·ÕÈ¥, ¸ðÁú¶óÀÇ µÚ¸¦ µû¸£´Ù
ÀÌ·¯ÇÑ Æ¯Â¡ÀûÀÎ ÀÀ¿ë ÇÁ·Î±×·¥ ¹æ¹ý·ÐÀº Â÷¼¼´ë À©µµ¿ìÀÎ ·ÕÈ¥¿¡µµ ¿µÇâÀ» ³¢ÃÆ´Ù. ¾ÕÀ¸·Î ·ÕÈ¥ÀÌ ±¸µ¿µÇ´Â °¢ ÄÄÇ»ÅÍ¿¡¼´Â °³¹ß ¿£ÁøÀ» ÅëÇØ ÇÁ·Î±×·¡¹Ö¿¡¼ µ¿ÀûÀÎ º¯È ¹æ¹ýÀ» ±¸ÇöÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
ºñÁÖ¾ó ½ºÆ©µð¿À¿Í ´å³Ý ·±Å¸ÀÓ ¶óÀ̺귯¸®¿¡¼ ÀÌ·¯ÇÑ º¯È¸¦ º¼ ¼ö ÀÖ´Ù. ·ÕÈ¥¿¡ ¡®Àڹɡ¯À̶ó°í ¹ßÀ½ÇÏ´Â XAML(Extensible Application Markup Language)±â¼úÀÌ Æ÷ÇÔµÈ °ÍÀÌ´Ù.
¿¹¸¦ µé¾î XAMLÀº XUL°ú °°ÀÌ ´Ü¼øÇÑ UI¿ë XML Äڵ带 ÅëÇØ ´ëÈ »óÀÚÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ÀÌ ±â´ÉÀÇ ÀåÁ¡Àº ÇÁ·Î±×·¥À» ÀçÄÄÆÄÀÏÇÒ ÇÊ¿ä ¾øÀÌ Æ÷ÀÎÆ® Å©±â¿Í »ö»óÀ» º¯°æÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ±× Á¤º¸´Â À©µµ¿ì ·¹Áö½ºÆ®¸®°¡ ¾Æ´Ñ ÅØ½ºÆ® ÆíÁý±â¿¡¼ ÆíÁýÀÌ °¡´ÉÇÑ XAML ÆÄÀÏ¿¡ Á¸ÀçÇÑ´Ù.
·ÕÈ¥ÀÇ XAML ÇÁ·Î±×·¡¹Ö ¹æ½ÄÀº ¼¹ö¿Í µ¥½ºÅ©Åé ¸ðµÎ¿¡¼ÀÇ ÀÀ¿ë ÇÁ·Î±×·¥ »ý»ê¼ºÀ» ȹ±âÀûÀ¸·Î ¹ßÀü½ÃÄÑÁÙ °ÍÀ¸·Î º¸ÀδÙ. ¿¹¸¦ µé¾î À¥»çÀÌÆ®ÀÇ »ç¿ëÀÚ ·Î±×¿Â º¸¾È¿¡ ±ÇÇÑÀ» Ãß°¡ÇÏ´Â ±â´ÉÀ» XAML·Î ±¸ÇöÇϴµ¥ 12ÁÙ Á¤µµÀÇ Äڵ常À¸·Î °¡´ÉÇß´Ù. ÀÌ¿¡ ¹ÝÇØ ÇöÀçÀÇ °³¹ß µµ±¸·Î ÀÌ¿Í °°Àº ÀÛ¾÷À» ÇÏ·Á¸é ¸¹Àº ½Ã°£°ú Äڵ尡 ÇÊ¿äÇÏ´Ù.
 |
 |
| °£´ÜÇÑ XUL ÄÚµå·Î ¸¸µç °è»ê±â ÀÎÅÍÆäÀ̽º¿Í ¼Ò½ºÄÚµå |
¸¸¾à ·ÕÈ¥ÀÌ ¼º°øÇÑ´Ù¸é XAMLÀ» Áö¿øÇÏ´Â ½º¸¶Æ® Ŭ¶óÀÌ¾ðÆ®µéÀº ±Ã±ØÀûÀ¸·Î ÇöÀç ±â¾÷ÀÇ ÄÄÇ»ÆÃ ¼¼°è¸¦ Áö¹èÇϰí ÀÖ´Â HTML À¥ ¾ÖÇø®ÄÉÀ̼ǵéÀ» ´ëüÇÒ °ÍÀ¸·Î º¸ÀδÙ. ¼öµ¿ÀûÀ¸·Î µ¥ÀÌÅ͸¦ ¹Þ¾Æ ó¸®ÇÏ´Â À¥ºê¶ó¿ì¡À̶ó´Â ¹æ½Äº¸´Ù µ¥½ºÅ©Åé PCÀÇ ÄÄÇ»ÆÃ ÀÚ¿øÀ» ÃæºÐÈ÷ Ȱ¿ëÇÒ ¼ö ÀÖ´Â, ÀÎÅͳݿ¡ ¹Î°¨ÇÑ Å¬¶óÀÌ¾ðÆ® ¾ÖÇø®ÄÉÀ̼ǵéÀÌ ³ª¿À°Ô µÇ´Â °ÍÀÌ´Ù.
MS°¡ ¹ßÇ¥ÇÑ ±â¼ú ½ºÆå¿¡ µû¸£¸é ÀÎÅÍ³Ý »ç¿ëÀÚµéÀº Ŭ¸¯¿ø½º(ClickOnce)¶õ ½Å±â¼úÀ» ÅëÇØ µ¥½ºÅ©Åé¿¡ ¡®½º¸¶Æ® Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥¡¯À» ´Ù¿î¹Þ¾Æ ¼³Ä¡ÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌÈÄ ±× ÇÁ·Î±×·¥µéÀº ÇÊ¿äÇÒ ¶§¸¶´Ù ÀÚµ¿À¸·Î ¾÷µ¥ÀÌÆ®µÈ´Ù.
»õ·Î¿î ÀüÀïÀÌ ½ÃÀ۵ȴÙ
ÀÌ·¯ÇÑ ±â¼ú ¹æÇâÀº ±×³É ´Ü¼øÈ÷ XML·Î UI¸¦ ÁöÁ¤ÇØ ÇÁ·Î±×·¥ »ý»ê¼ºÀ» ³ôÀ̴µ¥ ÃÊÁ¡ÀÌ ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ÀÎÅÍ³Ý È¯°æ¿¡¼ ÀÌÁ¦ ÀÀ¿ë ÇÁ·Î±×·¥À» ¸¶Ä¡ ºê¶ó¿ìÀú¿¡¼ HTMLÀ» ´Ù¿î·Îµå ¹Þ¾Æ º¸¿©ÁÖµíÀÌ ½ÇÇàÇÒ ¼ö ÀÖ°Ô µÈ´Ù´Â °ÍÀ» ÀǹÌÇϸç XML°ú ÄÄÆ÷³ÍÆ® ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ´Â °ÍÀ¸·Î ºê¶ó¿ìÀú ȯ°æÀ» ¹þ¾î³ UI¸¦ Á¦°øÇÏ°Ô µÇ´Â »óȲÀÌ Àü°³µÈ´Ù´Â °ÍÀ» ¶æÇÑ´Ù.
¹Ù·Î ÀÌ·± Á¡Àº À¥ºê¶ó¿ìÀú¸¦ ¹þ¾î³ª·Á ÇÏ´Â ÀÎÅͳݰú Á¢¸ñµÈ ¹Ì·¡ÀÇ µ¥½ºÅ©Åé ÄÄÇ»ÆÃÀÌ ¾î¶»°Ô ÆîÃÄÁú °ÍÀΰ¡ ¿¹°íÇØ ÁÖ´Â ´ë¸ñÀ̱⵵ ÇÏ´Ù. º»ÀÎÀÇ °³ÀÎÀûÀÎ »ý°¢À¸·Î´Â ¾ÆÁ÷µµ Ãë¾÷À» À§ÇØ Çпø¿¡¼ ºñÁÖ¾ó º£ÀÌÁ÷À̳ª ºñÁÖ¾ó C++À» ¹è¿ì±âº¸´Ù´Â »õ·Î¿î Æ®·»µå¸¦ µû¶ó°¡¶ó°í Ãæ°íÇØ ÁÖ°í ½ÍÀ» Á¤µµ´Ù.
¼Ò½ºÆ÷ÁöÀÇ XUL ÇÁ·ÎÁ§Æ®¿¡¼´Â ÀÌ·± Á¤º¸µéÀ» ½±°Ô ¾òÀ» ¼ö ÀÖÀ¸¸ç, °¢Á¾ XUL¿¡¼ °£´ÜÇÑ »ùÇÃÀ» ±¸ÇöÇÏ´Â ´ëȸ(
xul.sourceforge.net/challenge.html)¸¦ »ìÆìº¸´Â °Íµµ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
µ¥½ºÅ©Åé¿¡ ¾î¶² Ç÷§ÆûÀÌ ±ò¸®°Ô µÇ´À³Ä´Â »õ·Î¿î ÀüÀïÀº ¹Ù·Î ¹Ì·¡¸¦ º¸´Â Àã´ë´Ù. ³×Æ®¿öÅ·µÈ µ¥½ºÅ©Åé ÄÄÇ»ÅÍ »Ó ¾Æ´Ï¶ó µðÁöÅÐ TV, ¼ÂÅé, ÅÚ·¹¸Åƽ½º, ÀÓº£µðµå µð¹ÙÀ̽ºµéÀÌ ¹ü¶÷ÇÒ ¹Ì·¡¿¡´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ »ý»ê°ú À¯ÅëÀ» Ã¥ÀÓÁú Ç÷§ÆûÀ» ´©°¡ Àå¾ÇÇÒ °ÍÀΰ¡°¡ ÁÖ¿ä À̽´¶ó´Â °ÍÀÌ´Ù.
´©°¡ ¾Æ´Â°¡? °Ë»ö ºÐ¾ß¸¦ ÈÛ¾µ°í ÀÖ´Â ±¸±ÛÀÌ ¸ðÁú¶ó Ç÷§ÆûÀ» ÀÌ¿ëÇØ ·ÕÈ¥À» ÀáÀç¿ï´ÂÁö. @