|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Contents
- 1 GWT¿¡ ´ëÇØ¼
- 2 ¿Ö Java±â¼úÀ» ÀÌ¿ëÇϴ°¡
- 3 GWTÀÌ¿ëÇϱâ
- 4 GWTÀÀ¿ëÀÇ °³¹ß
- 5 GWT Architecture
- 6 ¾òÀ» ¼ö ÀÖ´Â °Íµé
|
ÀÌ ¹®¼ÀÇ ¿ø¹®Àº http://code.google.com/webtoolkit/overview.html ¿¡¼ È®ÀÎÇÒ ¼ö ÀÖ´Ù.
1 GWT¿¡ ´ëÇØ¼
Google Web Toolkit(ÀÌÇÏ GWT)´Â ±¸±Û¿¡¼ °³¹ßÀÚ¸¦ À§ÇØ Á¦°øÇÏ´Â Ajax°³¹ßÀ» À§ÇÑ ÇÁ·¹ÀÓ¿öÅ©´Ù. ƯÀÌÇϰԵµ ÀÚ¹Ù½ºÅ©¸³Æ®°¡ ¾Æ´Ñ, Java¸¦ ÀÌ¿ëÇÑ ÇÁ·¹ÀÓ¿öÅ©¸¦ Á¦°øÇϴµ¥, ´öºÐ¿¡ ÀÚ¹ÙÀÇ ¿©·¯°¡Áö ±â¼úµéÀ» ÀÌ¿ëÇØ¼ Á»´õ Æí¾ÈÇÑ È¯°æ¿¡¼ °³¹ßÀÌ °¡´ÉÇÏ´Ù. Javascript¸¦ Á÷Á¢ ÀÌ¿ëÇØ¼ AjaxÀÀ¿ëÀ» °³¹ßÇØº» °³¹ßÀÚ¶ó¸é, µð¹ö±ë°ú °³¹ßÀÌ ¾ó¸¶³ª ¾î·Á¿îÁö Àß ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. Áï GWT¸¦ ÀÌ¿ëÇϸé eclipse¿Í °°Àº ÈǸ¢ÇÑ È¯°æ¿¡¼ °³¹ßÀ» ÇÒ ¼ö ÀÖ´Ù. eclipse¸¦ ÅëÇØ¼ °³¹ß°ú µð¹ö±ëÀ» ³¡³»¸é, GWTÄÄÆÄÀÏ·¯°¡ ¸¸µé¾îÁø ÀÚ¹Ù¾ÖÇø®ÄÉÀ̼ÇÀ» JavaScript¿Í HTML·Î µÈ ÄÚµå·Î º¯°æ½ÃÄÑ ÁØ´Ù.
´ÙÀ½Àº GWT¸¦ ÀÌ¿ëÇÑ °³¹ß¹æ½ÄÀÌ´Ù.
- eclipse¿Í °°Àº °³¹ßÅø°ú GWT¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇØ¼ Äڵ带 »ý¼ºÇÏ°í µð¹ö±ëÇÑ´Ù.
- GWTÀÇ Java to JavaScript ÄÄÆÄÀÏ·¯¸¦ ÀÌ¿ëÇØ¼ Javascript¿Í HTML·Î µÈ ÄÚµå·Î º¯È¯ÇÑ´Ù.
- ÀÌÁ¦ À¥ ºê¶ó¿ìÀú¸¦ ÀÌ¿ëÇØ¼ ¸¸µé¾îÁø À¥¾ÖÇø®ÄÉÀ̼ÇÀÌ Á¦´ë·Î ÀÛµ¿ÇÏ´ÂÁö È®ÀÎÇÑ´Ù.
2 ¿Ö Java±â¼úÀ» ÀÌ¿ëÇϴ°¡
Java´Â °³¹ßÇ÷¿ÆûÀ» Á¦°øÇÑ´Ù. GWT°¡ Java Ç÷¿ÆûÀ» ÀÌ¿ëÇÒ °æ¿ì ´ÙÀ½°ú °°Àº À̵æÀ» ¾òÀ» ¼ö ÀÖ´Ù.
- Eclipse, Intellij, JProfiler, JUnit¿Í °°Àº ÀÚ¹Ù°³¹ßÅøÀ» ÀÌ¿ëÇØ¼ AjaxÀÀ¿ëÀ» °³¹ßÇÒ ¼ö ÀÖ´Ù.
- Static type checkingµîÀÌ Áö¿øµÇ´Â °ß°íÇÑ ÀÚ¹Ù¾ð¾î¸¦ »ç¿ëÇÔÀ¸·Î½á, ¿¡·¯¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù.
- ÀÚ¹Ù½ºÅ©¸³Æ®¾ð¾î¿¡¼ ¹ß»ýÇÏ´Â ¿¡·¯µéÀ» ½ÇÇà½Ã°£ÀÌ ¾Æ´Ñ ÄÄÆÄÀϽ𣿡 È®ÀÎÇÒ ¼ö ÀÖ´Ù.
- ÀÌÇØÇÏ°í °øÀ¯Çϱ⠽¬¿î °´Ã¼ÁöÇâÀûÀÎ Äڵ带 ¸¸µé¾î³½´Ù. ¹®¼È¿¡µµ À¯¸®ÇÏ´Ù.
- ÀÚ¹ÙÀÇ refactoringÀ» Ȱ¿ëÇÒ ¼ö ÀÖ´Ù.
3 GWTÀÌ¿ëÇϱâ
GWT´Â Widget¶ó°í ºÎ¸£´Â UIÄÄÆ÷³ÍÆ®µéÀ» Á¦°øÇÑ´Ù. ÀÌ Widget¿¡´Â AjaxÀÀ¿ë¿¡¼ »ç¿ëµÇ´Â ¿©·¯°¡Áö ÇüÅÂÀÇ UI¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù. ¿©±â¿¡´Â ÆÇ³Ú, ·¹À̾ƿô°ú °°Àº ¾ÖÇø®ÄÉÀÌ¼Ç UI¿ä¼ÒµéÀÌ Æ÷ÇԵȴÙ. ´ÙÀ½Àº Ŭ¸¯ ÇÚµéÀÌ °¡´ÉÇÑ ¹öưÀ» °¡Áø GWTÀÀ¿ëÀÇ ¿¹ÀÌ´Ù.
public class Hello implements EntryPoint {
public void onModuleLoad() {
Button b = new Button("Click me", new ClickListener() {
public void onClick(Widget sender) {
Window.alert("Hello, AJAX");
}
});
RootPanel.get().add(b);
}
}
À̿ܿ¡µµ hierachical tree, ÅǹÙ, ¸Þ´º¹Ù, ´ÙÀ̾ó·Î±× »óÀÚ¿Í °°Àº Widgetµµ Á¦°øÇÑ´Ù. ¶ÇÇÑ RPC±îÁöµµ Áö¿øÇÑ´Ù.
4 GWTÀÀ¿ëÀÇ °³¹ß
GWT ÀÀ¿ëÀº ´ÙÀ½ µÎ°¡ÁöÀÇ ¸ðµå¸¦ °¡Áø´Ù.
- È£½ºÆ®¸ðµå : È£½ºÆ® ¸ðµå¿¡¼ ÀÀ¿ëÀº ÀÚ¹Ù°¡»ó¸Ó½Å¿¡¼ Java bytecodeÇüÅ·Π½ÇÇàµÈ´Ù. ¾Æ¸¶µµ ´ç½ÅÀº °³¹ßÀÇ °ÅÀÇ ´ëºÎºÐÀÇ ½Ã°£À» ÀÌ ¸ðµå¿¡¼ º¸³»°Ô µÉ °ÍÀÌ´Ù. ÀÚ¹Ù°¡»ó¸Ó½ÅÀ» »ç¿ëÇÑ´Ù´Â °ÍÀº ÀÌŬ¸³½º°°Àº Åø°ú ÀÚ¹ÙÀÇ µð¹ö±ëȯ°æÀ» »ç¿ëÇÒ ¼ö ÀÖÀ½À» ÀǹÌÇÏ´Â °ÍÀ̱⠶§¹®ÀÌ´Ù.
- À¥¸ðµå : GWTÀÇ Java-to-JavaScript ÄÄÆÄÀÏ·¯¸¦ ÀÌ¿ëÇØ¼ ÇØ¼®µÈ Javascript¿Í HTML·ÎµÈ Äڵ带 ½ÇÇàÇÑ´Ù. À̰ÍÀº °³¹ßÇÑ GWTÀÀ¿ëÀ» À¥¼¹ö¿¡ ¿Ã·Á¼ ºê¶ó¿ìÀú¸¦ ÅëÇØ¼ È®ÀÎÇÏ´Â ´Ü°è·Î, ¼ºñ½º Å×½ºÆ®¸¦ ÇÒ ¼ö ÀÖ´Ù.
ÀÀ¿ë°³¹ßÀ» È£½ºÆ®¸ðµå¿¡¼ ÇÒ °æ¿ì ¸¹Àº À̵æÀÌ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ¶ÇÇÑ JVM¿¡¼ ÀÛµ¿Çϴ Ưº°ÇÑ À¥ºê¶ó¿ìÀú¸¦ Á¦°øÇϴµ¥, ÀÌ°É ÀÌ¿ëÇϸé, ±»ÀÌ À¥¸ðµå »óŰ¡ ¾Æ´Ï´õ¶óµµ, ´ëºÎºÐÀÇ Å×½ºÆ®°¡ °¡´ÉÇÏ´Ù.
5 GWT Architecture
GWT´Â Java-to-JavaScript compiler, hosted web browser ±×¸®°í µÎ°³ÀÇ Àڹ٠Ŭ·¡½º ¶óÀ̺귯¸®¸¦ °¡Áø 4°³ÀÇ ÄÄÆ÷³ÍÆ®·Î ÀÌ·ç¾îÁø´Ù.
- Java-to-JavaScript ÄÄÆÄÀÏ·¯
GWT Java-to-JavaScript ÄÄÆÄÀÏ·¯´Â ÀÚ¹Ù¾ð¾î·ÎµÈ ÇÁ·Î±×·¥ Äڵ带 JavaScript ÇÁ·Î±×·¥ ¾ð¾î·Î º¯È¯ÇÑ´Ù. ÀÌ·¸°Ô ÄÄÆÄÀÏµÈ ÄÚµå´Â À¥¸ðµå¿¡¼ Å×½ºÆ®ÇÒ ¼ö ÀÖ´Ù.
- Hosted Web Broswer
Hosted Web ºê¶ó¿ìÀú´Â ¸¸µé¾îÁø GWTÀÀ¿ëÀ» È£½ºÆ®¸ðµå¿¡¼ Å×½ºÆ®ÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ÀÌ·¯ÇÑ °úÁ¤Àº JVM¿¡¼ ÀϾ°Ô µÇ¹Ç·Î JavaScript·ÎÀÇ ÄÄÆÄÀÏ ¾øÀÌ Å×½ºÆ®ÇÒ ¼ö ÀÖ´Ù. À̸¦ À§Çؼ JVM¿¡¼ ÀÛµ¿ÇÏ´Â º°µµÀÇ À¥ºê¶ó¿ìÀú¸¦ Á¦°øÇÑ´Ù.
- JRE emulation ¶óÀ̺귯¸®
ÀÚÁÖ »ç¿ëµÇ´Â JavaScript ±¸ÇöÀ» Æ÷ÇÔÇÑ Àڹ٠Ŭ·¡½º ¶óÀ̺귯¸®·Î, java.lang ÆÐŰÁö¿Í java.utilÆÐŰÁö¸¦ Æ÷ÇÔÇÑ´Ù.
- GWT Web UI class ¶óÀ̺귯¸®
À¥ºê¶ó¿ìÀú¸¦ ÅëÇØ¼ À¯Àú¿¡°Ô º¸¿©ÁÙ UI¸¦ À§ÇÑ wigetsÀ» Æ÷ÇÔÇϰí ÀÖ´Ù. ¿©±â¿¡´Â button, text box, images, text µî°ú °ü·ÃµÈ À§Á¬ÀÌ Æ÷ÇԵȴÙ.
6 ¾òÀ» ¼ö ÀÖ´Â °Íµé
- ¼º´É : GWTÀÀ¿ëÀº ¼ÕÀ¸·Î Á÷Á¢ ÀÛ¼ºÇÑ HTML, JavaScript ÄÚµå¿Í °ÅÀÇ µ¿µîÇÑ ¼öÁØÀÇ ¼Óµµ¸¦ º¸¿©ÁØ´Ù.
- °³¹ß ½Ã°£ : ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â À¥ºê·¯¿ìÀú¸¦ ÀÌ¿ëÇØ¼ °³¹ß°ú µð¹ö±ëÀ» Çϴµ¥¿¡´Â ¸¹Àº ½Ã°£ÀÌ ¼Ò¸ðµÈ´Ù. GWT¸¦ ÀÌ¿ëÇÏ¸é °³¹ß°ú µð¹ö±ë ½Ã°£À» ±ØÀûÀ¸·Î ´ÜÃà½Ãų ¼ö ÀÖ´Ù.
- JavaScript Å©±â : ¿ÏÀüÇÑ ±â´ÉÀ» °¡Áø GWTÀÀ¿ëÀ» ¸¸µé¸é ´ë·« 100k Á¤µµÀÇ Ä³½¬°¡´ÉÇÑ Javascript¸¦ ´Ù¿î·Îµå ¹Þ´Â´Ù. ¼ÕÀ¸·Î AjaxÀÀ¿ëÀ» Á÷Á¢ ¸¸µé¾îµµ ºñ½ÁÇÑ Å©±âÀÇ Javascript°¡ »ý¼ºµÉ °ÍÀÌ´Ù.
|
|