°­ÁÂ

HOME > °­ÁÂ >
°­ÁÂ| ¸®´ª½º ¹× ¿ÀǼҽº¿¡ °ü·ÃµÈ °­Á¸¦ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
 
ÇÏÀ̺긮µå ¸ð¹ÙÀÏÀ» À§ÇÑ Native ¹æ½ÄÀÇ App °³¹ß<À¯¿£Áø Best Article>
Á¶È¸ : 13,572  
   http://www.uengine.org [2183]
   http://www.uengine.org:8088/wiki/index.php/%ED%95%98%EC%9D%B4%EB%B8%8C¡¦ [1818]


ÇÏÀ̺긮µå ¸ð¹ÙÀÏÀ» À§ÇÑ Native ¹æ½ÄÀÇ App °³¹ß

ÇÏÀ̺긮µå ¸ð¹ÙÀÏÀ» À§ÇÑ ÇÁ·Î±×·¥À» °³¹ßÇÏ´Â ¹æ¹ýÀº À¥ °³¹ß°ú ¾Û °³¹ß·Î ³ª´©¾î Áø´Ù. À¥ °³¹ßÀº ¸ðµç ¸ð¹ÙÀÏÀÌ Áö¿øÇÏ´Â ºê¶ó¿ìÀú¸¦ ÅëÇØ °á°ú¸¦ º¼ ¼ö ÀÖ´Â ´Ü¼øÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÌ°í ¾Û °³¹ßÀº ÇϳªÀÇ ÇÁ·Î±×·¥ÀÎ Application ÇüÅ·ÎÀÇ °³¹ßÀ» ¾ê±âÇÑ´Ù. ±×·±µ¥ Major MobileµéÀº °¢ ±â±âÀÇ Æ¯¼ºÀ̳ª ºê¶ó¿ìÀúÀÇ Æ¯¼º»ó ¼­·Î ´Ù¸¥ ¹æ½ÄÀÇ °³¹ßÀ» ÇØ ÁÖ¾î¾ß µ¿ÀÛÇÏ°Ô µÈ´Ù. µû¶ó¼­ ÀÌ ºÎºÐÀ» ±Øº¹Çϱâ À§ÇØ ÇѹøÀÇ °³¹ß·Î ÀÛ¾÷ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â Native ¹æ½ÄÀÇ App °³¹ßÀ» Á¦¾ÈÇÑ´Ù.


1. ¼­·Ð

ÇÏÀ̺긮µå ¸ð¹ÙÀÏÀº ±âÁ¸ ¸ð¹ÙÀÏÀÇ °¢ ÀåÁ¡À» ¸ð¾Æ ÇϳªÀÇ Æ¯È­µÈ °á°ú¹°ÀÇ ¸ð¹ÙÀÏÀ» ÀǹÌÇÑ´Ù. ¿¹¸¦ µé¾î ±×¸²1°ú °°ÀÌ ÅÍÄ¡ ÆùÀÇ ÅÍÄ¡±â¸¦ ÀÌ¿ëÇϸ鼭 ±â±â»óÀÇ ÀÚÆÇÀ» Á¦°øÇÏ¿© ÀÚÆÇ ÀÔ·Â ½Ã ¿À·ù¸¦ ÁÙ¿© ÁÖ´Â °Í°ú °°Àº °ÍÀÌ ÇÏÀ̺긮µåÀÎ °ÍÀÌ´Ù.

ÆÄÀÏ:H1_1.jpg

±×¸²1 ÇÏÀ̺긮µå ¸ð¹ÙÀÏ


¿©ÇÏÆ° ÀÌ·± ¸ð¹ÙÀϵéÀº OS³ª App ÀÛ¼º ¹æ¹ý ¹× ºôµå Çü½ÄÀÌ ¸ðµÎ »óÀÌÇÏ¿© ÇϳªÀÇ ÅëÀÏµÈ ÇüÅÂÀÇ ¼­ºñ½º¸¦ Á¦°øÇÏÁö ¸øÇϰí ÀÖ´Ù. ¿¹¸¦ µé¸é, iPhoneÀº Xcode »ó¿¡¼­ Object-C¸¦ ÀÌ¿ëÇØ °³¹ßÀ» ÇØ¾ß Çϰí, Android[1]´Â Darvic VM »ó¿¡¼­ Java·Î °³¹ßÇØ¾ß ÇÑ´Ù. ¹°·Ð ÀÌ ³»¿ëµéÀ» ÀüÇô ¸ð¸£°í´Â °³¹ßÀÌ ºÒ°¡´ÉÇÏÁö¸¸ ±âÃÊ ³»¿ë¸¸À¸·Î µ¿ÀÏÇÑ °á°ú¹°À» »ý»êÇÒ ¼ö ÀÖµµ·Ï µµ¿Í ÁÖ´Â ¹æ½Ä(Native ¹æ½Ä)ÀÌ Àִµ¥ ¹Ù·Î Rhomobile Framework[2]¿Í PhoneGap[3] ÀÌ´Ù. ÀÌ´Â WebÀ¸·Î °³¹ßµÇ´Â ³»¿ëÀ» AppÀ¸·Î º¯Çü½ÃÄÑ Native ¹æ½ÄÀ¸·Î ÇÁ·Î±×·¥À» Á¦°øÇÑ´Ù. ÀÌ Áß PhoneGap APIÀÇ °æ¿ì¿¡´Â JQuery[4] ±â¹ÝÀÇ JQTouch[5]¿Íµµ ȣȯ¼ºÀÌ ÁÁ¾Æ UI »óÀÇ Ç¥Çö·ÂÀ» ³ôÀÏ ¼ö ÀÖÀ» °ÍÀ¸·Î ±â´ëµÈ´Ù.

2. °ü·Ã¿¬±¸

ÇÏÀ̺긮µå ¸ð¹ÙÀÏ¿¡ À¥°ú °°Àº ¼­ºñ½º¸¦ °øÅëÀûÀÎ Æ÷¸ËÀ¸·Î Á¦°øÇϱâ À§Çؼ­´Â À¥ÀÌ °ø¿ëÇϰí ÀÖ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ±â¹ÝÀÇ API°¡ ÇÊ¿äÇÏ°í ³»ºÎÀûÀÎ ÀÛµ¿¿ø¸® º¸´Ù´Â Ŭ¶óÀÌ¾ðÆ® Ãø¸éÀÇ Á¶ÀÛÀ¸·Î µ¿ÀÛÇÏ´Â App ¹æ½ÄÀ» äÅÃÇØ¾ß ÇÑ´Ù. PhoneGap, QuickConnectiPhone[6], Rhomobile ±×¸®°í Appcelerator's Titanium Mobile[7]Àº ÀÌ·¯ÇÑ ¼­ºñ½º¸¦ Á¦°øÇϱâ À§ÇØ ¿ÀÇ ¼Ò½º·Î API¸¦ Á¦°øÇÑ´Ù. ÀÌ Áß QuickConnectiPhone Framework´Â ¿ÏÀüÇÑ ÇϳªÀÇ ÅÛÇø´ ÇüŸ¦ Á¦°øÇϰí Àֱ⠶§¹®¿¡ ´Ù¸¥ °³¹ß ¸ðµâµé°úÀÇ È£È¯¼ºÀÌ ¶Ù¾î³ª´Ù. ±×·¯³ª AppÀ¸·ÎÀÇ º¯È¯À» À§ÇØ ¹èÆ÷ÇÏ´Â ¹æ¹ýÀÌ Á¶±Ý º¹ÀâÇÏ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. Appcelerator's Titanium MobileÀº Desktop°ú Mobile¸¦ ¸ðµÎ ȣȯÇÏ´Â AppÀ» °³¹ßÇÒ ¼ö Àִ ȯ°æÀ» ¸¸µé¾î ÁÖ°í ÀÖ´Ù.

ÆÄÀÏ:H2_1.jpg

±×¸²2 Appcelerator's Titanium Mobile


ÇÑ °¡Áö Ãß°¡ µÇ¾î¾ß ÇÒ »çÇ×Àº ±×¸² 2¿¡¼­ º¸´Â °Íó·³ ÇöÀç ÀÌ Framework¸¦ ÅëÇØ¼­´Â iPhone°ú AndroidÀÇ App¸¸ °³¹ß °¡´ÉÇϱ⠶§¹®¿¡ ´Ù¸¥ Major Mobile¿¡ ´ëÇÑ Áö¿øÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀÌ´Ù. »ç½Ç PhoneGapÀÇ °æ¿ì¿¡µµ AppleÀÇ ¹ßǥó·³ OS4.0¿¡¼­´Â Ç¥ÁØÀ» µû¸£Áö ¾Ê´Â AppÀÇ °æ¿ì µî·ÏÀ» ½ÃÄÑ ÁÖÁö ¾Ê°Ú´Ù´Â »çÇ× ¶§¹®¿¡ ¹®Á¦ÀÇ ¼ÒÁö°¡ ÀÖ°í, Rhomobileµµ Ruby¸¦ ¾ËÁö ¸øÇÏ´Â °³¹ßÀڵ鿡°Ô Àͼ÷ÇÏÁö ¾ÊÀ» °ÍÀ̶ó´Â ´ÜÁ¡ÀÌ Á¸ÀçÇϱâ´Â ÇÏÁö¸¸ ÇöÀçÀÇ »óȲ¿¡¼­ PhoneGap°ú RhomobileÀÇ ±â¹Ý ±â¼úÀ» ºÐ¼®ÇÏ´Â °ÍÀÌ Á¶±Ý ´õ ½Ã°£ÀûÀ¸·Î È¿À²ÀûÀÎ ´ë¾ÈÀÌ µÉ ¼ö ÀÖÀ» °ÍÀÌ´Ù. µû¶ó¼­ À̹ø ¿¬±¸¿¡¼­´Â Rhomobile°ú PhoneGap ±×¸®°í JQTouchÀÇ API¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ÅëÇÏ¿© ±× ±â¹Ý Framework¸¦ »ý»êÇÏ´Â µ¥ ±â¿©Çϱâ À§ÇÑ ¹æ¾ÈÀ» ã¾Æº¸°íÀÚ ÇÑ´Ù.

3. Á¢±Ù¹æ¹ý

ÆÄÀÏ:H3_1.jpg

±×¸²3 Rhomobile Architecture

ÆÄÀÏ:H3_2.jpg

±×¸²4 Rhomobile Device Capabilities

RhomobileÀº Rhodes, RhoSync ±×¸®°í RhoHub API¸¦ Á¦°øÇϴµ¥ Rhodes´Â iPhone, Windows Mobile, RIM, Symbian, Android µîÀÇ OS¿¡ ÇϳªÀÇ Äڵ尡 µ¿½Ã¿¡ Àû¿ëµÉ ¼ö ÀÖµµ·Ï ¸¸µé¾î ÁÖ´Â ¿ÀÇ ¼Ò½º ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù. RhoSync´Â »ç¿ëÀÚÀÇ ¸ð¹ÙÀÏ¿¡¼­ »ç¿ë°¡´ÉÇÑ Enterprise Application Data¸¦ Áö¿øÇØ ÁÖ´Â µ¶¸³ ¼­¹öÀÌ´Ù. ÀÌ µ¥ÀÌÅÍ´Â »ç¿ëÀÚ µð¹ÙÀ̽º¿¡ ÀúÀåµÇ±â ¶§¹®¿¡ ¿¬°áÀÌ ²÷¾îÁø »óÅ¿¡¼­µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. RhoHub´Â ¸ð¹ÙÀÏ ApplicationsÀÇ HostµÈ °³¹ß ȯ°æÀ» Á¦°øÇÑ´Ù. ÀÌ´Â Native App¸¦ °³¹ßÇϱâ À§ÇØ HTML°ú Ruby[7]¸¦ »ç¿ëÇÑ´Ù. ±×¸² 4´Â RhomobileÀÇ °¢ ¹öÀüº° Nabive UI ¿ä¼Ò¸¦ Áö¿øÇÏ´Â ½ºÆåÀ» º¸¿©ÁØ´Ù. ¿©±â¼­ º¸´Â ¹Ù¿Í °°ÀÌ Rhomobile´Â ´ëºÎºÐÀÇ Major Device¿¡ ´ëÇÑ App º¯È¯À» Áö¿øÇÑ´Ù. Architecture¸¦ »ìÆìº¸¸é Device¿¡¼­ »ç¿ëÇÏ´Â HTML TemplatesµéÀº Ruby Interpreter³ª ORM ȤÀº RhoSync Client¸¦ ÅëÇØ RhoSync Server¿Í Åë½ÅÀ» ÇÏ°Ô µÇ°í RohSync Server´Â Source Adapter¸¦ ÅëÇØ Backend App¸¦ ½ÇÇàÇÏ°Ô µÈ´Ù. ±×¸² 5´Â ±×·¯ÇÑ Architecture¸¦ Ç¥ÇöÇÑ °ÍÀÌ´Ù.

ÆÄÀÏ:H3_3.jpg

±×¸²5 Rho Architecture


´ÙÀ½À¸·Î ÀÌ¿Í À¯»çÇÑ ÇüÅÂÀÇ Native App °³¹ßÀ» Áö¿øÇÏ´Â Framework·Î PhoneGapÀ̶ó´Â °ÍÀÌ ÀÖ´Ù. PhoneGapÀº iPhone OS4.0¿¡¼­ÀÇ App µî·ÏÀÌ ºÒÅõ¸íÇÏÁö¸¸ ÇöÀç·Î¼­´Â °¡Àå ¼Õ½±°Ô Major MobileÀ» À§ÇÑ Native AppÀ» °³¹ßÇÒ ¼ö ÀÖ´Â FrameworkÀÌ´Ù. »ç½Ç Framework¶ó±â º¸´Ù´Â API¶ó°í º¸´Â °ÍÀÌ ´õ ¹Ù¶÷Á÷ÇÏ´Ù. ±×¸² 6Àº ÇöÀç PhoneGapÀÌ Áö¿øÇÏ´Â Device º° Native UI ¿ä¼Ò µéÀÌ´Ù.

ÆÄÀÏ:H3_4.jpg

±×¸²6 Device º° Áö¿ø Native UI ¿ä¼Ò


ÇöÀç±îÁö Window Mobile¿¡ ´ëÇÑ Áö¿øÀº Sound¸¦ Á¦¿ÜÇϰí´Â °ÅÀÇ ¾ø´Ù. ±×·¯³ª ÇâÈÄ °èȹ»ó¿¡´Â Window Mobile¿¡ ´ëÇÑ °ÅÀÇ ¸ðµç Áö¿øÀ» ¿¹»óÇϰí ÀÖ´Ù. PhoneGapÀ» ÀÌ¿ëÇÏ¿© AppÀ» °³¹ßÇÏ´Â ¹æ¹ý°ú ¼ø¼­´Â ´ÙÀ½°ú °°´Ù.

A. Æù°¸ ÇÁ·¹ÀÓ¿öÅ© ´Ù¿î·Îµå ¹× ¾ÐÃàÇØÁ¦ 
B. ´ë½¬Äڵ忡¼­ UI ¿µ¿ª ÀÛ¼º 
C. Component¿¡¼­ ÇÊ¿ä À̺¥Æ® Çڵ鷯 ÀÛ¼º 
D. Æù°¸ÀÇ phonegap.js ÆÄÀÏ include 
E. ½Ã¹Ä·¹ÀÌÅÍ Å×½ºÆ® 
F. Æù°¸ ÇÁ·ÎÁ§Æ®ÀÇ www µð·ºÅ丮¿¡ ÇÊ¿ä ÆÄÀÏ º¹»ç ÈÄ ºôµå 
G. °¢ Deviceº° °³¹ß ȯ°æ¿¡ ÇÁ·ÎÁ§Æ® »ý¼º ÈÄ ´ë½¬ÄÚµå ÆÄÀÏ º¹»ç 
H. ¼Ò½ºÄÚµå ÄÄÆÄÀÏ 
I. ´ë½¬Äڵ忡¼­ »ç¿ëÇÏ´ø °æ·Î ¼öÁ¤ ÈÄ ¹èÆ÷ 

ÀÌ·¸°Ô AppÀ» °³¹ßÇÏ¸é Æ¯Á¤ Device¿¡ Á¾¼ÓµÇÁö ¾Ê°í °¢ ´ÜÀ§ÀÇ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ¿©±â¿¡ UIÀûÀÎ ºÎºÐÀ» JQuery ±â¹ÝÀÇ JQTouch¸¦ »ç¿ëÇÏ°Ô µÇ¸é Á» ´õ È¿À²ÀûÀÎ È­¸éÀÛ¾÷À» ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. JQTouch °ü·Ã API´Â ÇÊ¿äÇÑ UI ÆäÀÌÁö¿¡¼­ include Çϱ⸸ ÇÏ¸é »ç¿ëÀÌ °¡´ÉÇÏ´Ù. ±âº» ÃʱâÈ­ ÄÚµå´Â ´ÙÀ½°ú °°´Ù.

$.jQTouch( {      
icon: 'jqtouch.png',      
statusBar: 'black-translucent',      
preloadImages: 
['themes/jqt/img/chevron_white.png',       
'themes/jqt/img/bg_row_select.gif',        
'themes/jqt/img/back_button_clicked.png',        
'themes/jqt/img/button_clicked.png¡®] 
}); 


4. °á·Ð ¹× ÇâÈİèȹ

º» ¿¬±¸¿¡¼­´Â Write Once, Run Anywhere ¶ó´Â °üÁ¡¿¡¼­ Á¢±ÙÇÏ¿© ÇÑ ¹øÀÇ ÄÚµå ÀÛ¼ºÀ¸·Î ¸ðµç Device¿¡ °øÅëÀû ½ÇÇàÀ» ó¸®ÇÒ ¼ö ÀÖ´Â ¹æ¾È¿¡ ´ëÇØ °íÂûÇÑ´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀÇ Á¢±Ù¿¡¼­ ¸î °¡Áö API³ª Framework°¡ Á¦°øµÇ°í Àִµ¥ ¹®Á¦´Â Çö ½ÃÁ¡ÀÇ °¢ OS Á¦°ø ¾÷üÀÇ °üÁ¡ÀÌ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù. ƯÈ÷ OS4¸¦ Á¦°øÇÒ ¿¹Á¤ÀÎ iPhone¿¡¼­´Â PhoneGapÀ¸·Î ÀÛ¼ºµÈ AppÀÇ µî·Ï¿¡ ´ëÇØ¼­ ºÎÁ¤Àû °üÁ¡À» º¸À̰í ÀÖ´Â °ÍÀÌ ¹®Á¦ÀÌ´Ù. ÀÌ·¸°Ô µÇ¸é ÀÚµ¿À¸·Î °¢ Device¿¡ °øÅëÀ¸·Î ½ÇÇàµÉ AppÀÇ Generation API µéÀÌ ¹®Á¦°¡ µÉ ¼ö ÀÖÀ¸¸ç °³¹ßÀÚµéÀº ´Ù½Ã±Ý °¢ Device¸¦ Áö¿øÇϱâ À§ÇÑ AppÀ» ¸Å¹ø »õ·Î °³¹ßÇØ¾ß ÇÑ´Ù. µû¶ó¼­ À̸¦ ÇØ°áÇϱâ À§Çؼ­´Â ¸ÕÀú ¾î¶² OS Á¦°ø ¾÷üµµ ¹Ý¹ÚÇÒ ¼ö ¾ø´Â Ç¥ÁØÀ» µû¶ó Äڵ尡 ÀÛ¼ºµÇµµ·Ï ÇÏ´Â Framework¸¦ °³¹ßÇØ¾ß Çϰí, ±× Ç¥ÁØÀÌ ¹ü¿ëÀ¸·Î »ç¿ëµÉ ¼ö ÀÖµµ·Ï ÇØ¾ß ÇÑ´Ù. ÇâÈÄ ÀÌ ºÐ¾ß¿¡ ´ëÇÑ ¿¬±¸´Â °è¼Ó ÁøÇàµÉ °ÍÀ̸ç, ¾Æ¸¶ ÀÌÁ¦´Â APIÀÇ Á¦°øÀÌ ¾Æ´Ñ Ç¥ÁØ¿¡ ÀÔ°¢ÇÑ FrameworkÀÇ ÀÛ¼º¹ýÀÌ ÁÖ¸¦ ÀÌ·ç°Ô µÉ °ÍÀ̸ç, ±×¿¡ ´ëÇÑ ¿¬±¸°¡ ¿ä±¸µÉ °ÍÀÌ´Ù.



Âü°í¹®Çå

[1] Android.

http://www.android.com/

[2] Rhomobile - the open mobile framework. http://rhomobile.com/

[3] PhoneGap.

http://www.phonegap.com/

[4] jQuery - write less, do more.

http://jquery.com/

[5] jQTouch- jQuery plugin for mobile web development.

http://www.jqtouch.com/

[6] QuickConnectiPhone.

http://quickconnect.pbworks.com/QuickConnectiPhone/

[7] Appcelerator's Titanium Mobile.

http://www.appcelerator.com/


[¿ø±Û¸µÅ©] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1740


ÀÌ ±ÛÀ» Æ®À§ÅÍ·Î º¸³»±â ÀÌ ±ÛÀ» ÆäÀ̽ººÏÀ¸·Î º¸³»±â ÀÌ ±ÛÀ» ¹ÌÅõµ¥ÀÌ·Î º¸³»±â

 
À¯¿£Áø
www.uengine.org