Ç÷¯ÅÍ ÇÁ·ÎÁ§Æ® - 11°¡Áö ¾ÛÀ» ¸¸µé¸ç ¹è¿ì´Â Å©·Î½º Ç÷§Æû ¾Û°³¹ß
ÀÌ Ã¥À» ÀÐÀ» ¶§´Â Á÷Á¢ Äڵ带 ÀÔ·ÂÇÏ¸é¼ ½ÇÇàÇغ¸±â¸¦ ±ÇÀåÇÕ´Ï´Ù. ÇÁ·ÎÁ§Æ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ¹æ¹ýÀÌ ÀÖÀ»Áöµµ ½º½º·Î¿¡°Ô ¹°¾îº¸¸é ¾ÆÁÖ ÁÁ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é °³³äÀ» ÈξÀ ´õ ¸íÈ®ÇÏ°í ½±°Ô ¸¸µé ¼ö ÀÖ¾î¼ ¿©·¯ºÐÀÇ ÇâÈÄ ÇÁ·ÎÁ§Æ®¿¡ Àç»ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °¢ ÇÁ·ÎÁ§Æ®°¡ ³¡³¯ ¶§¸¶´Ù Áú¹®¿¡ ´äÇϸé, °¢ Àå¿¡¼ ¸¸µç ¾Û¿¡ ´ëÇØ ´Ù¸¥ °üÁ¡À» ¹ß°ßÇÒ ¼ö ÀÖ½À´Ï´Ù.
1Àå. ¾È³ç Ç÷¯ÅÍ!
°¡»ó ¿©Çà»çÀÇ ÇÁ·¹Á¨Å×ÀÌ¼Ç È¸éÀ» º¸¿©ÁÖ´Â ¾ÛÀÎ ¡°Hello Flutter¡±¸¦ ¸¸µì´Ï´Ù. À̹ø ÇÁ·ÎÁ§Æ®´Â ´ÙÆ®, Ç÷¯Å͸¦ ÀÌ¿ëÇؼ ¾ÆÁÖ ±âº»ÀûÀÎ ¾ÛÀ» ¸¸µå´Â ¹æ¹ý¿¡ ÃÊÁ¡À» ¸ÂÃß°í ÀÖÀ¸¸ç, Ã¥ÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼ ¾ÛÀ» ¸¸µå´Âµ¥ ÇÊ¿äÇÑ ±âÃÊÀûÀÎ ³»¿ëÀ» Á¦°øÇÕ´Ï´Ù.
2Àå. ¸¶ÀÏ ¶Ç´Â ų·Î¹ÌÅÍ? - Stateful À§Á¬ ÀÌ¿ëÇϱâ
ÃøÁ¤°ª º¯È¯ ¾ÛÀ» ¾î¶»°Ô ¸¸µå´ÂÁö º¸¿©ÁÝ´Ï´Ù. ÀÌ ÀåÀÇ ÁÖ¿ä ¸ñÇ¥´Â Ç÷¯ÅÍ ¾Û¿¡ State¸¦ µµÀÔÇÏ¿© »óÈ£ÀÛ¿ëÇϵµ·Ï ¸¸µå´Â °ÍÀÔ´Ï´Ù. ÀÌ ÇÁ·ÎÁ§Æ®¿¡¼´Â TextField, DropDownButton ¹× setState( ) ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© Stateful À§Á¬ÀÇ »óŸ¦ °»½ÅÇÕ´Ï´Ù.
3Àå. ³ªÀÇ ½Ã°£ - µ¥ÀÌÅÍÀÇ ½ºÆ®¸² µè±â
´õ ¹ßÀüµÈ »óÅ ó¸® ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. Áï, µ¥ÀÌÅÍ ½ºÆ®¸²À» µè´Â °ÍÀÔ´Ï´Ù. ÀÌ ÇÁ·ÎÁ§Æ®¿¡¼´Â ½ºÆ®¸²À» ±â¹ÝÀ¸·Î ÇÏ´Â ¾Ö´Ï¸ÞÀ̼ÇÀ» »ç¿ëÇÏ¿© »ý»ê¼º ŸÀ̸Ӹ¦ »ý¼ºÇÏ°Ô µË´Ï´Ù. ÀÌ Àå¿¡¼´Â Ç÷¯ÅÍÀÇ ºñµ¿±â ÇÁ·Î±×·¡¹Ö°ú Ž»ö, ¶óÀ̺귯¸® »ç¿ë, µ¥ÀÌÅÍ ÀúÀå°ú °°Àº ¸î °¡Áö ÇÙ½É °³³äÀ» ¼Ò°³ÇÕ´Ï´Ù.
4Àå. Æþ °ÔÀÓ - 2D ¾Ö´Ï¸ÞÀ̼ǰú Á¦½ºÃ³
°£´ÜÇÑ 2Â÷¿ø ¾Ö´Ï¸ÞÀÌ¼Ç °ÔÀÓÀ» ¸¸µì´Ï´Ù. °øÀÌ È¸éÀ» °¡·ÎÁú·¯ À̵¿ÇÏ°í Ç÷¹À̾î´Â °øÀÌ È¸é¿¡¼ ¶³¾îÁö´Â °ÍÀ» ¹æÁöÇØ¾ß ÇÏ´Â ¾Ö´Ï¸ÞÀÌ¼Ç °ÔÀÓÀÔ´Ï´Ù. ÀÌ ÀåÀÇ ÁÖ¿ä ÁÖÁ¦´Â ¾Ö´Ï¸ÞÀÌ¼Ç »ç¿ëÇϱâ, Gesture Detector¸¦ ÀÌ¿ëÇÑ Á¦½ºÃ³ ŽÁöÇϱâ, ³¼ö »ý¼ºÀÔ´Ï´Ù.
5Àå. ¿µÈ º¸·¯ °¡ÀÚ - À¥¿¡¼ µ¥ÀÌÅÍ °¡Á®¿À±â
À¥ ¼ºñ½º¿¡¼ °¡Á®¿Â ¿µÈ ¸ñ·ÏÀ» Ç¥½ÃÇÏ´Â ¾Û »ý¼ºÀ» ´Ù·ì´Ï´Ù. ÁÖ¿ä ÁÖÁ¦¿¡´Â ListView »ç¿ë, JSON µ¥ÀÌÅÍ ÆĽÌ, HTTP ÇÁ·ÎÅäÄÝÀ» ÅëÇØ ¿ø°Ý ¼ºñ½º¿¡ ¿¬°áÇϱâ, API¿¡¼ °Ë»öÀ» ¼öÇàÇϱâ À§ÇÑ GET ¿äû ºôµå°¡ Æ÷ÇԵ˴ϴÙ. DartÀÇ ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀº Àå Àüü¿¡¼ »ç¿ëµË´Ï´Ù
6Àå. µ¥ÀÌÅÍ ÀúÀå - Sq(F)Lite¸¦ »ç¿ëÇÏ¿© ·ÎÄà µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ
ÀÌ ÇÁ·ÎÁ§Æ®¿¡¼´Â ¼îÇÎ ¸®½ºÆ®¸¦ ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇØ º¸¿©ÁÝ´Ï´Ù. ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ ÁÖ¿ä °³³äÀº Ç÷¯ÅÍ¿¡¼ SQLite¸¦ »ç¿ëÇÏ´Â °Í, ¸ðµ¨ Ŭ·¡½º ¸¸µé±â, CRUD(Create, Read, Update ¹× Delete) ÀÛ¾÷ ¼öÇàÇϱâ, ½Ì±ÛÅæ ¸ðµ¨ »ç¿ëÀÔ´Ï´Ù.
7Àå. ¾Û¿¡ ºÒ ºÙÀ̱â - Ç÷¯ÅÍ ¾Û¿¡ ÆÄÀ̾À̽º ÅëÇÕÇϱâ
ÆÄÀ̾À̽º¸¦ È°¿ëÇÏ¿© ±â·ÏÀûÀÎ ½Ã°£ ³»¿¡ ÇÁ·ÐÆ®¿£µå UI¿Í ¹é¿£µå¸¦ ¸ðµÎ ¼³°èÇÏ´Â Ç®½ºÅà ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.
8Àå. º¸¹° Áöµµ - Áöµµ¸¦ ÅëÇÕÇÏ°í, ±â±âÀÇ Ä«¸Þ¶ó¸¦ »ç¿ëÇϱâ
»ç¿ëÀÚ°¡ Áöµµ À§¿¡ Àå¼Ò¸¦ Ç¥½ÃÇÏ°í ±×°÷¿¡ µ¥ÀÌÅÍ¿Í »çÁøÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Â ¾ÛÀ» ºôµåÇÕ´Ï´Ù. »çÁøÀº Ä«¸Þ¶ó¸¦ »ç¿ëÇÏ¿© »ý¼ºµË´Ï´Ù. ÀÌ ÇÁ·ÎÁ§Æ®´Â ¸ð¹ÙÀÏ ÇÁ·Î±×·¡¹ÖÀÇ µÎ °¡Áö Áß¿äÇÑ ±â´ÉÀÎ Áö¸®Àû À§Ä¡¿Í ÀåÄ¡ÀÇ Ä«¸Þ¶ó »ç¿ëÀ» ´Ù·ì´Ï´Ù.
9Àå. ÁÖ»çÀ§·Î ³îÀÚ: ³ì¾Æ¿ô - Rive·Î ¾Ö´Ï¸ÞÀ̼ÇÀ» »ý¼ºÇϱâ
¾Æ¸§´Ù¿î ¾Ö´Ï¸ÞÀ̼ÇÀ» ½±°Ô ¸¸µé°í Ç÷¯ÅÍ¿¡ Á÷Á¢ Æ÷ÇÔ½Ãų ¼ö ÀÖ´Â ¿Â¶óÀÎ µµ±¸ÀÎ Rive¸¦ »ç¿ëÇÏ¿© Ç÷¯ÅÍ¿¡¼ ÁÖ»çÀ§ °ÔÀÓÀ» ¸¸µå´Â ÇÁ·ÎÁ§Æ®¿¡ ÁßÁ¡À» µÓ´Ï´Ù.
10Àå. ÇÒ ÀÏ °ü¸® ¾Û - BLoC ÆÐÅÏ ¹× Sembast È°¿ëÇϱâ
BLoC(Business Logic Component) ÆÐÅÏÀ» È°¿ëÇÏ¿© ¾Û »óŸ¦ °ü¸®ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. ¶ÇÇÑ Simple Embedded Application Store µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ¿© ÀåÄ¡¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ¹æ¹ýµµ ¾Ë¾Æº¾´Ï´Ù.
11Àå. Ç÷¯ÅÍ À¥ ¾Û ±¸ÃàÇϱâ
ºê¶ó¿ìÀú¿¡¼ ½ÇÇàµÇ´Â Ç÷¯ÅÍ ¾ÛÀ» ºôµåÇÏ´Â ¹æ¹ý°ú ¹ÝÀÀÇü »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µå´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.