í´ë¼ì´ì¸í¸ ì¬ì´ë JavaScript íë ììí¬
JavaScript íë ììí¬ë ìµì íë¡ í¸ìë ì¹ ê°ë°ì íì ë¶ë¶ì¼ë¡, ê°ë°ììê² íì¥ ê°ë¥í ëíí ì¹ ìì© íë¡ê·¸ë¨ì 구ì¶í기 ìí ê²ì¦ë ë구를 ì ê³µí©ëë¤. ë§ì íë 기ì ë¤ì íë ììí¬ë¥¼ ë구í(tooling)ì íì¤ ë¶ë¶ì¼ë¡ ì¬ì©í기ë문ì, íë¡ í¸ìë ê°ë°ìë ì´ì íë ììí¬ ê²½íì´ íìí©ëë¤.
íë¡ í¸ìë ê°ë°ì ì§ë§ìì¼ë¡ì íë ììí¬ë¥¼ ë°°ì¸ ë ììí´ì¼ í ë¶ë¶ì ìê¸°ê° ì´ë ¤ì¸ ì ììµëë¤. ì íí ì ìë íë ììí¬ê° ë무 ë§ê³ , ìë¡ì´ íë ììí¬ë íì ëíëê³ ,ëë¶ë¶ ì ì¬í ë°©ìì¼ë¡ ìëíì§ë§ ë¤ë¥¸ ì¼ì í©ëë¤. ë문ì íë ììí¬ë¥¼ ì¬ì©í ë 주ìí´ì¼ í ëª ê°ì§ ì¬íì´ ììµëë¤.
ì´ ê¸ììë íë ììí¬ë¥¼ ë°°ì°ëë° ëìì´ëë í¸ìí ì¶ë°ì ì ì ê³µíê³ ì í©ëë¤. ì°ë¦¬ë React/ReactDOM, Vue, ëë ê·¸ì¸ í¹ì íë ììí¬ì ëí´ ììì¼ í 모ë ê²ì ì² ì íê² ê°ë¥´ì¹ë ¤ëê²ì´ ìëëë¤. íë ììí¬ ìì²´ 문ìë¤ ë° ë¤ë¥¸ 리ìì¤ë¤ì´ ì´ë¯¸ ì² ì íê² ê°ë¥´ì³ì£¼ê³ ììµëë¤. ëì ì°ë¦¬ë ë¤ìê³¼ ê°ì, ë³´ë¤ ê·¼ë³¸ì ì¸ ì§ë¬¸ì ëµíê³ ì§ìíë ¤ê³ í©ëë¤.
- ì íë ììí¬ë¥¼ ì¬ì©í´ì¼ íëì? ê·¸ë¤ì´ ì´ë¤ 문ì 를 í´ê²°íëì?
- íë ììí¬ë¥¼ ì íí ë ì´ë¤ ì§ë¬¸ì í´ì¼ íëì? íë ììí¬ë¥¼ ì¬ì©í´ì¼ íëì?
- íë ììí¬ìë ì´ë¤ 기ë¥ì´ ìëì? ê·¸ê²ë¤ì ì¼ë°ì ì¼ë¡ ì´ë»ê² ìëíê³ , ì´ë¬í 기ë¥ì ëí íë ììí¬ì 구íì ì´ë»ê² ë¤ë¥¸ê°ì?
- "vanilla" JavaScript ëë HTMLê³¼ ì´ë¤ ê´ë ¨ì´ ìëì?
ê·¸ íì, ì°ë¦¬ë ëª ê°ì§ ë¤ë¥¸ íë ììí¬ ì íì íµì¬ì ë¤ë£¨ë íí 리ì¼ì ì ê³µí ê²ì ëë¤. ì´ë ë ì¬ëìê² íìµí기ì ì¶©ë¶í ë§¥ë½ê³¼ ì¹ìí¨ì ì ê³µí´ì¤ê²ëë¤. ì°ë¦¬ë ì¬ë¬ë¶ì´ ìì¼ë¡ ëìê° ì ê·¼ì±ê³¼ ê°ì ì¹ íë«í¼ì 근본ì ì¸ ëª¨ë² ì¬ë¡ë¥¼ ìì§ ìë ì¤ì©ì ì¸ ë°©ë²ì¼ë¡ íë ììí¬ì ëí´ ë°°ì°ê³ ë°ì ìí¤ê¸°ë¥¼ ë°ëëë¤.
"í´ë¼ì´ì¸í¸ ì¬ì´ë íë ììí¬ ìê°"문ìë¡ ì§ê¸ ììíì¸ì!
ì ì ì¡°ê±´
í´ë¼ì´ì¸í¸ ì¬ì´ë íë ììí¬ë¥¼ ë°°ì°ê¸° ì ì HTML, CSS, JavaScript ì ê°ì íµì¬ ì¹ ì¸ì´ì 기ì´ë¥¼ ìµíì¼ í©ëë¤.
ê²°ê³¼ì ì¼ë¡ ì½ëë ëì± íë¶í´ì§ê³ ì 문ì ì´ê² ë ê²ì´ë©°, íë ììí¬ê° 구ì¶íê³ ìë 근본ì ì¸ ì¹ íë«í¼ 기ë¥ì ì´í´íë¤ë©´ ë³´ë¤ íì¤íê² ë¬¸ì 를 í´ê²°í ì ìì ê²ëë¤.
íë¡ í¸ ê°ë°ìê° ëê³ ì¶ì¼ì ê°ì?목í를 ë¬ì±íëë° íìí 모ë íì ì ë³´ê° í¬í¨ ë ê³¼ì ì 구ì±íìµëë¤.ììí기
ì 문 ê°ì´ë
- 1. í´ë¼ì´ì¸í¸ ì¬ì´ë íë ììí¬ ìê°
-
ì°ë¦¬ë ì´ ììì ëí ì¼ë°ì ì¸ ê°ìë¡ íë ììí¬ë¥¼ ì´í´ ë³¼ê²ëë¤. JavaScriptì íë ììí¬ì ê°ëµí ìì¬, íë ììí¬ê° ì ì¡´ì¬íëì§ì ê·¸ë¤ì´ ì°ë¦¬ìê² ë¬´ìì ì ê³µíëì§, íìµì íë ììí¬ë¥¼ ì´ë»ê² ì íí ì§ ìê°íë ë°©ë², í´ë¼ì´ì¸í¸ ì¬ì´ë íë ììí¬ì ëí ì´ë¤ ëìì´ ìëì§ ë±ì´ í´ë¹í©ëë¤.
- 2. íë ììí¬ ì£¼ì 기ë¥
-
ê° ì£¼ì JavaScript íë ììí¬ë DOM ì ë°ì´í¸, ë¸ë¼ì°ì ì´ë²¤í¸ ì²ë¦¬, ì¦ê±°ì´ ê°ë° ê²½íì ëí´ ë¤ìí ì ê·¼ ë°©ìì ê°ê³ ììµëë¤. ì´ ê¸ììë "4ë" íë ììí¬ì 주ì 기ë¥ì ì´í´ë³´ê³ íë ììí¬ê° ëì ìì¤ìì ìëíë ë°©ìê³¼ íë ììí¬ì ì°¨ì´ì ì ì´í´ë´ ëë¤.
리ì¡í¸ íí 리ì¼
ì°¸ê³ : 참조: React/ReactDOM 16.13.1ê³¼ create-react-app 3.4.1. ì ì¬ì©íì¬ 2020ë 5ìì ë§ì§ë§ì¼ë¡ í ì¤í¸ë íí 리ì¼ì ëë¤.
ì°ë¦¬ì ë²ì ì ëí´ ì¬ë¬ë¶ì ì½ë를 íì¸í´ì¼ íë ê²½ì°, ì°ë¦¬ì todo-react repositoryìì ìí React app ì½ëì ìì±ë ë²ì ì ë³¼ ì ììµëë¤. ë¼ì´ë¸ ë²ì ì ì¤ííë ¤ë©´https://mdn.github.io/todo-react-build/ì 참조íì¸ì.
- 1. React ììí기
-
ì´ ê¸ì 리ì¡í¸ì ëí 첫걸ìì ëë¤. ì°ë¦¬ë 리ì¡í¸ì 배경과 ì¬ì© ì¬ë¡ì ëí ì½ê°ì ì¸ë¶ ì¬íì íìµí©ëë¤. ì°ë¦¬ ì»´í¨í° ë¡ì»¬ìì 기본ì ì¸ ë¦¬ì¡í¸ í´ì²´ì¸ì ì¤ì íê³ , ê°ë¨í ì¤íí° ì±ì ë§ë¤ì´ 리ì¡í¸ê° ì´ë»ê² ìëíëì§ ë°°ìëë¤.
- 2. React todo list ììí기
-
ì°ë¦¬ê° Reactìì ê°ë ì¦ëª (proof-of-concept)ì ìì±íë ì무를 ë§¡ìë¤ê³ ê°ì í´ ë´ ìë¤. ì¬ì©ìê° ìì íë ¤ë ê³¼ì (task)를 ì¶ê°, ìì , ìì í¹ì ê·¸ê²ë¤ì ìì íë ëì ìë£ë ê²ì¼ë¡ íìí ì ìë ì±ì ëë¤. ì´ ê¸ììë 기본 ì± ì»´í¬ëí¸ êµ¬ì¡°ì ì¤íì¼ì ë°°ì¹íë ê³¼ì , ê°ê°ì ì»´í¬ëí¸ë¥¼ ì ìíê³ ìí¸ìì©íë ë°©ë²ì ì¤ëª í©ëë¤.
- 3. React app ì»´í¬ëí¸ ì¸ë¶í
-
ì´ ìì ìì ì°ë¦¬ì ì±ì ë¨ì¼ì²´(monolith)ì ëë¤. ì°ë¦¬ë ì´ê²ì ê´ë¦¬ ê°ë¥íê³ ì¤ëª ì ì¸ ì»´í¬ëí¸ë¤ë¡ ë¶ë¦¬í´ì¼ í©ëë¤. Reactìë ì»´í¬ëí¸ì ì»´í¬ëí¸ê° ìëê²ì ëí ì격í ê·ì¹ì´ ììµëë¤. ê·¸ê²ì ì¬ì©ììê² ë¬ë ¤ììµëë¤. ì´ ê¸ììë ì±ì ì»´í¬ëí¸ë¡ ë¶í´íë í©ë¦¬ì ì¸ ë°©ë²ì ë³´ì¬ì¤ëë¤.
- 4. React ìí¸ìì©(interactivity): Events ì state
-
ì»´í¬ëí¸ êµ¬ì±ì´ ìì±ëë©´ ìì í ì ì UI ìì ì¤ì ë¡ ìí¸ìì©íê³ ë³íìí¬ ì ìë UIë¡ ì±ì ì ë°ì´í¸í ì°¨ë¡ì ëë¤. ì´ ê¸ììë ì´ë²¤í¸ì stateì ëí´ ìì¸í ììë´ ëë¤.
- 5. React ìí¸ìì©(interactivity): ìì , íí°ë§, ì¡°ê±´ë¶ ë ëë§
-
리ì¡í¸ ì¬ì ì´ ëë ë¬´ë µ(ì ì´ë íì¬ë¡ìë) Todo list ì±ì 주ì ê¸°ë¥ ììì ë§ë¬´ë¦¬ ìì ì ì¶ê°í©ëë¤. ì¬ê¸°ìë 기존 ê³¼ì (task)를 í¸ì§í ì ìëë¡ íê³ , ìë£ë ê³¼ì ì ìë£ëì§ ìì ê³¼ì 모ë íí°ë§ íë ìì ì´ í¬í¨ë©ëë¤. ëí ëì¤ì ì¡°ê±´ë¶ UI ë ëë§ë ì´í´ë³´ê² ìµëë¤.
- 6. React ì ê·¼ì±(Accessibility)
-
ì´ ê¸ììë Reactì í¬ì»¤ì¤ ê´ë¦¬ë¥¼ í¬í¨íì¬ ì ê·¼ì±ì ê´ì ì ë§ì¶ê²ì ëë¤. í¤ë³´ë ì ì© ë° ì¤í¬ë¦° 리ë기 ì¬ì©ì 모ëìê² ì ì©ì±ì ê°ì íê³ í¼ëì ì¤ì¼ ì ììµëë¤.
- 7. React 리ìì¤(resources)
-
ì°ë¦¬ì ë§ì§ë§ ê¸ì íìµì ê³ìí기 ìí´ ì¬ì©í ì ìë React 리ìì¤ ëª©ë¡ì ì ê³µí©ëë¤.
Ember tutorials
ì°¸ê³ : 참조: Ember/Ember CLI 3.18.0ì ì¬ì©íì¬ 2020ë 5ìì ë§ì§ë§ì¼ë¡ í ì¤í¸ë íí 리ì¼ì ëë¤.
ì°ë¦¬ì ë²ì ì ëí´ ì¬ë¬ë¶ì ì½ë를 íì¸í´ì¼ íë ê²½ì°, ì°ë¦¬ì ember-todomvc-tutorial repositoryìì ìí Ember app ì½ëì ìì±ë ë²ì ì ë³¼ ì ììµëë¤. ë¼ì´ë¸ ë²ì ì ì¤ííë ¤ë©´ https://nullvoxpopuli.github.io/ember-todomvc-tutorial/ ì 참조íì¸ì. (ì¬ê¸°ìë íí 리ì¼ìì ë¤ë£¨ì§ ìì ëª ê°ì§ 기ë¥ë í¬í¨ë©ëë¤.)
- 1. Ember ììí기
-
첫 ë²ì§¸ Ember ê¸ììë Ember ì ìëë°©ìê³¼ ì ì©í 기ë¥ì ëí´ ì´í´ë´ ëë¤. ë¡ì»¬ì Ember í´ì²´ì¸ì ì¤ì¹íê³ , ìí ì±ì ë§ë¤ì´ ê°ë° ì¤ë¹ë¥¼ ìí ì´ê¸° ì¤ì ì ìíí©ëë¤.
- 2. Ember app 구조ì ì»´í¬ëí¸í
-
ì´ ê¸ììë TodoMVC Ember appì 구조를 ì¤ê³íë ë°©ë²ì ëí´ ììë´ ëë¤. HTMLì ì¶ê°íê³ , HTML 구조를 ì»´í¬ëí¸ë¡ ëëëë¤.
- 3. Ember ìí¸ìì©(interactivity): Events, classes, state
-
ì´ì ì±ì ìí¸ìì©íë 기ë¥ì ì¶ê°íì¬ ìë¡ì´ í ì¼(todo) í목ì ì¶ê°íê³ íìí ì ììµëë¤. ê·¸ ê³¼ì ìì Ember ì´ë²¤í¸ë¥¼ ì¬ì©íë ë°©ë²ì ì´í´ë³´ê² ìµëë¤. ìí¸ìì©íë 기ë¥ì ì ì´í기 ìí´ JavaScript ì½ë를 í¬í¨íë ì»´í¬ëí¸ í´ëì¤ë¥¼ ë§ë¤ê³ , ì±ì ë°ì´í° ìí(state)를 ì¶ì íë ìë¹ì¤ë¥¼ ì¤ì í©ëë¤.
- 4. Ember ìí¸ìì©: í¸í° 기ë¥, ì¡°ê±´ë¶ ë ëë§
-
ì´ì ì±ìì í¸í° 기ë¥ì ììí ì°¨ë¡ì ëë¤. ìì§ ìë£íì§ ìì í ì¼(todo) í목ì ì를 ì¹´ì´í¸íê³ , ìë£ë í ì¼(ì²´í¬íìí ì²´í¬ë°ì¤)ì ì¤íì¼ì ì¬ë°ë¥´ê² ì ì©í©ëë¤. ëí "Clear completed" ë²í¼ì ì°ê²°í©ëë¤. ì´ ê³¼ì ìì í í릿ìì ì¡°ê±´ë¶ ë ëë§ì ì¬ì©íë ë°©ë²ì ë°°ìëë¤.
- 5. Ember ë¼ì°í
-
ì´ ê¸ììë ë¼ì°í ëë URLê¸°ë° íí°ë§ì ëí´ ì¤ëª í©ëë¤. ì´ë¥¼ ì¬ì©íì¬ todoì ì¸ ê°ì§ ë·°("All", "Active", "Completed")를 ê³ ì í URLë¡ ì ê³µí©ëë¤.
- 6. Ember 리ìì¤ì 문ì í´ê²°
-
ë§ì§ë§ Ember ê¸ì íìµì ì§ííëë° ì¬ì©í ì ìë 리ìì¤ ëª©ë¡, ì ì©í 문ì í´ê²°(troubleshooting)ì ê´í ë´ì©, ê·¸ì¸ ì 보를 ì ê³µí©ëë¤.
Vue tutorials
ì°¸ê³ : 참조: Vue 2.6.11ì ì¬ì©íì¬ 2020ë 5ìì ë§ì§ë§ì¼ë¡ í ì¤í¸í íí 리ì¼ì ëë¤.
ì°ë¦¬ì ë²ì ì ëí´ ì¬ë¬ë¶ì ì½ë를 íì¸í´ì¼ íë ê²½ì°, ì°ë¦¬ì todo-vue repositoryìì ìí Vue app ì½ëì ìì±ë ë²ì ì ë³¼ ì ììµëë¤. ë¼ì´ë¸ ë²ì ì ì¤ííë ¤ë©´ https://mdn.github.io/todo-vue/dist/ 를 참조íì¸ì.
- 1. Vue ììí기
-
ì´ì ì¸ ë²ì§¸ íë ììí¬ ë·°ë¥¼ ìê°í©ëë¤. ì´ ê¸ììë Vueì ë°°ê²½ì ì½ê° ì´í´ë³´ê³ , ì¤ì¹ ë°©ë²ê³¼ ì íë¡ì í¸ë¥¼ ë§ëë ë°©ë²ì ëí´ ììë´ ëë¤. ì ì²´ íë¡ì í¸ì HLS(high-level structure) ì ê°ê°ì ì»´í¬ëí¸ë¥¼ ê³µë¶í©ëë¤. ëí, íë¡ì í¸ë¥¼ ë¡ì»¬ìì ì¤ííë ë°©ë²ê³¼ ìì ìì±ì ììí ì¤ë¹ë¥¼ í©ëë¤.
- 2. 첫 ë²ì§¸ Vue ì»´í¬ëí¸ ë§ë¤ê¸°
-
ì´ì Vueì ëí´ ìì¸í ì´í´ë³´ê³ ì°ë¦¬ë§ì 커ì¤í ì»´í¬ëí¸ë¥¼ ë§ë¤ê² ìµëë¤. Todo listì ê° í목ì ëíë´ë ì»´í¬ëí¸ë¥¼ ë§ëë ê²ì¼ë¡ ììí©ëë¤. ê·¸ ê³¼ì ìì, ë¤ë¥¸ ì»´í¬ëí¸ ë´ìì ì»´í¬ëí¸ë¥¼ í¸ì¶íê³ , props(properties)를 íµí´ ë°ì´í°ë¥¼ ì ë¬íê³ ë°ì´í° ìí를 ì ì¥íë ë± ì¤ìí ê°ë ì íìµí©ëë¤.
- 3. Vue ì»´í¬ëí¸ ë¦¬ì¤í¸ ë ëë§
-
ì´ ìì ìì ì°ë¦¬ë ì¶©ë¶í ì ìëíë ì»´í¬ëí¸ë¥¼ ì»ììµëë¤. ì´ì ì±ì ì¬ë¬
ToDoItemì»´í¬ëí¸ë¥¼ ì¶ê°í ì¤ë¹ê° ëììµëë¤. ì´ ê¸ììëApp.vueì»´í¬ëí¸ì todo í목 ë°ì´í° ì ì ì¶ê°íë ë°©ë²ì ì´í´ë³´ê³ ,v-forì§ì문(directive)ì ì¬ì©íì¬ToDoItemì»´í¬ëí¸ë¥¼ ë°ë³µíì¬ ì¶ë ¥í©ëë¤. - 4. ìë¡ì´ todo formì¶ê°: Vue events, methods, models
-
ì´ì ìí ë°ì´í°ì ê° ë¹í¸ì ë°ì´í°ë¥¼ ê°ì ¸ìì ì±ì
ToDoItemë´ì ë ëë§íë 루íê° ì¤ë¹ëììµëë¤. ë¤ìì¼ë¡ íìí ê²ì ì¬ì©ìê° todo í목ì ì±ì ì ë ¥í ì ìê² íë 기ë¥ì ëë¤. ì´ë¥¼ ìí´ text<input>, ë°ì´í°ê° ì ì¶ë ë ë°ìíë ì´ë²¤í¸, ë°ì´í° ì ì¶ ì ë°ì´í°ë¥¼ ì¶ê°íê³ ëª©ë¡ì ë¤ì ë ëë§í기 ìí ë°©ë², ë°ì´í°ë¥¼ ì ì´íë 모ë¸ì´ íìí©ëë¤. ì´ê²ì´ ì´ ê¸ìì ë¤ë£° ë´ì©ì ëë¤. - 5. Styling Vue components with CSS
-
ë§ì¹¨ë´ ì°ë¦¬ ì±ì´ ì¢ ë ë©ì§ê² ë³´ì ëë¤. ì´ ê¸ììë CSS를 ì¬ì©íì¬ Vue ì»´í¬ëí¸ë¥¼ ì¤íì¼ë§íë ë¤ìí ë°©ë²ì ì´í´ë´ ëë¤.
- 6. Vue computed properties ì¬ì©í기
-
ì´ ê¸ììë computed properties ë¼ê³ ë¶ë¦¬ë Vue 기ë¥ì ì¬ì©íì¬ ìë£ë todo í목 ì를 íìíë ì¹´ì´í°ë¥¼ ì¶ê°í©ëë¤. ì´ë¤ì ë©ìëì ì ì¬íê² ìëíì§ë§ ì¢ ìì± ì¤ íëê° ë³ê²½ë ëë§ ë¤ì ì¤íë©ëë¤.
- 7. Vue ì¡°ê±´ë¶ ë ëë§: ì´ë¯¸ ì¡´ì¬íë todo í목 í¸ì§
-
ì´ì ì°ë¦¬ê° ìì§ ëì¹ê³ ìë 주ì ê¸°ë¥ ì¤ í 기ë¥ì 주ìí ë¶ë¶ ì¤ íë를 ì¶ê° í ì°¨ë¡ì ëë¤. ì´ë¥¼ ìí´ Vueì ì¡°ê±´ë¶ ë ëë§ ê¸°ë¥
v-ifìv-else를 íì©íì¬, ì´ë¯¸ ì¡´ì¬íë todo í목 view ì todo í목 ë ì´ë¸ì ì ë°ì´í¸ í ì ìë í¸ì§ view ê°ì ì íí ì ììµëë¤. ëí todo í목ë¤ì ìì íë 기ë¥ì ì¶ê°íë ë°©ë²ë ì´í´ë´ ëë¤. - 8. Vue refs를 íµí í¬ì»¤ì¤ ê´ë¦¬
-
ì´ì ê±°ì ë¤ ë§ë¤ììµëë¤. ë§ì§ë§ì¼ë¡ ì´í´ë³¼ 기ë¥ì í¬ì»¤ì¤ ê´ë¦¬ì ì±ì í¤ë³´ë ì ê·¼ì±ì í¥ììí¤ë ë°©ë²ì ëë¤. Vue refs를 ì¬ì©íì¬ ì´ë¥¼ ì²ë¦¬íë ë°©ë²ì ì´í´ë³´ê² ìµëë¤. refë ê°ì DOM ìëì 기본 DOM ë ¸ëì ì§ì ì ê·¼íê±°ë í ì»´í¬ëí¸ìì íì ì»´í¬ëí¸ì ë´ë¶ DOM êµ¬ì¡°ë¡ ì§ì ì ê·¼í ì ìë ê³ ê¸ ê¸°ë¥ì ëë¤.
- 9. Vue resources
-
ì´ì Vueì ëí íìµì ë§ë¬´ë¦¬ í ê²ì ëë¤. íìµì ì§ííëë° ì¬ì©í ì ìë 리ìì¤ ëª©ë¡ê³¼ ì ì©í íì´ ììµëë¤.
Svelte tutorials
ì°¸ê³ : 참조: Svelte 3.24.1 ì ì¬ì©íì¬ 2020ë 8ìì ë§ì§ë§ì¼ë¡ í ì¤í¸ë íí 리ì¼ì ëë¤.
ì½ë를 ì°ë¦¬ ë²ì ê³¼ ë¹êµíì¬ íì¸í´ì¼ íë ê²½ì°, mdn-svelte-tutorial repoìì ê°ê°ì 문ì ë¤ì ìì´ì¼ íë ìí Svelte ì± ì½ëì ìì±ë ë²ì ì ë³¼ ì ììµëë¤. ë¼ì´ë¸ ë²ì ì ì¤ííë ¤ë©´ Svelte REPL ì 참조íì¸ì https://svelte.dev/repl/378dd79e0dfe4486a8f10823f3813190?version=3.23.2.
- 1. Svelte ììí기
-
ì´ ë¬¸ìììë Svelte frameworkì ëí ê°ëµí ìê°ë¥¼ ì ê³µí©ëë¤. Svelteì ìë ë°©ìê³¼ ì§ê¸ê¹ì§ ì´í´ë³¸ ëë¨¸ì§ íë ììí¬ ë° ë구ì ì°¨ë³íëë ì ì ì´í´ë³´ê² ìµëë¤. ê·¸ ë¤ì ê°ë° íê²½ 구ì±í기, ìí ì± ë§ë¤ê¸°, íë¡ì í¸ êµ¬ì¡° ì´í´í기, ë¡ì»¬ìì ì¤íí기ì íë¡ëì ì©ì¼ë¡ ë¹ëíë ë°©ë²ì ììë³´ê² ìµëë¤.
- 2. Svelte Todo list app ììí기
-
ì´ì Svelteê° ìëíë ë°©ìì ëí 기본ì ì¸ ì´í´ë¥¼ ë§ì³¤ì¼ë¯ë¡, ìì ì±(todo list) ë¹ë를 ììíê² ìµëë¤. ì´ ë¬¸ìììë 먼ì ì±ìì 구íí´ì¼í 기ë¥ì ì´í´ë³´ê³ , ê·¸ ë¤ì
Todos.svelteì»´í¬ëí¸ë¥¼ ë§ë¤ì´ ì ì ë§í¬ì ê³¼ ì¤íì¼ì ë°°ì¹í©ëë¤. ê·¸ë¦¬ê³ To-Do list ì± ê¸°ë¥ ê°ë°ì ììí ì¤ë¹ë¥¼ í©ëë¤. ì´ ë´ì©ì ë¤ì 문ììì ê³ì ì¤ëª íê² ìµëë¤. - 3. Svelteì ëì ëì: ë³ìì props ìì
-
ì´ì ë§í¬ì ê³¼ ì¤íì¼ì´ ì¤ë¹ëìì¼ë¯ë¡ Svelte To-Do list ì±ì íìí ê¸°ë¥ ê°ë°ì ììí ì ììµëë¤. ì´ ë¬¸ìììë ë³ìì props를 ì¬ì©íì¬ ì±ì ëì ì¼ë¡ ë§ëëë¤. í ì¼(todo)ì ì¶ê°íê±°ë ìì íê³ , ìë£ë¡ íìíê³ , ìíë³ë¡ íí°ë§ í ì ììµëë¤.
- 4. Svelte app ì»´í¬ëí¸í
-
ì´ ë¬¸ìì íµì¬ 목íë ì±ì ê´ë¦¬ ê°ë¥í ì»´í¬ëí¸ë¡ ëëê³ , ì´ë¤ê°ì ì 보를 ê³µì íë ë°©ë²ì ì´í´ ë³´ë ê²ì ëë¤. ì±ì ì»´í¬ëí¸í íê³ ê¸°ë¥ì ì¶ê°íì¬ ê¸°ì¡´ ì»´í¬ëí¸ë¥¼ ì ë°ì´í¸ í ì ìëë¡ í©ëë¤.
- 5. í¥ìë Svelte: ë°ìì±, ìëª ì£¼ê¸°, ì ê·¼ì±
-
ì´ ë¬¸ìììë ì±ì ìµì¢ 기ë¥ì ì¶ê°íê³ ì±ì ëì± ì»´í¬ëí¸í í©ëë¤. ê°ì²´ì ë°°ì´ì ì ë°ì´í¸ì ê´ë ¨ë ë°ìì±(reactivity) ì´ì를 ì²ë¦¬íë ë°©ë²ì ë°°ìëë¤. ì¼ë°ì ì¸ í¨ì ì í¼í기 ìí´ ì°ë¦¬ë Svelteì ë°ìì± ìì¤í ì ì¢ ë ê¹ì´ ê³µë¶í´ì¼ í©ëë¤. ëí ì ê·¼ì±(accessibility ) ê´ë ¨ ì´ì를 ë¹ë¡¯í´ ì¢ ë ë§ì ë´ì©ì í´ê²°íë ë°©ë²ë ì´í´ë³´ê² ìµëë¤.
- 6. Svelte stores ì¬ì©í기
-
ì´ ë¬¸ìììë Svelteìì ìí ê´ë¦¬ë¥¼ ì²ë¦¬íë ë ë¤ë¥¸ ë°©ë²ì ë³´ì¬ì¤ëë¤. ì¤í ì´(Stores). ì¤í ì´ë ê°ì ê°ê³ ìë ê¸ë¡ë² ë°ì´í° ì ì¥ìì ëë¤. ì»´í¬ëí¸ë ì¤í ì´ë¥¼ 구ë íê³ ê°ì´ ë³ê²½ëë©´ ì림ì ë°ì ì ììµëë¤.
- 7. Svelteì íì ì¤í¬ë¦½í¸ ì§ì
-
ì´ì Svelte ì í리ì¼ì´ì ìì íì ì¤í¬ë¦½í¸ë¥¼ ì¬ì©íë ë°©ë²ì ë°°ìëë¤. 먼ì íì ì¤í¬ë¦½í¸ê° 무ìì´ë©° ì´ë¤ ì´ì ì´ ìëì§ ììë´ ëë¤. ê·¸ ë¤ì íì ì¤í¬ë¦½í¸ íì¼ê³¼ í¨ê» ìëíëë¡ íë¡ì í¸ë¥¼ 구ì±íë ë°©ë²ì ì´í´ë´ ëë¤. ë§ì§ë§ì¼ë¡ ì±ì ê²í íì¬ íì ì¤í¬ë¦½í¸ 기ë¥ì ìµëí íì©í기 ìí´ ì´ë¤ ìì ì í´ì¼ íëì§ ì´í´ë³´ê² ìµëë¤.
- 8. ë°°í¬(Deployment)ì ë¤ìë¨ê³
-
ì´ ë§ì§ë§ 문ìììë ì í리ì¼ì´ì ì ë°°í¬íê³ ì¨ë¼ì¸ì¼ë¡ ê°ì ¸ì¤ë ë°©ë²ì ì´í´ë´ ëë¤. ëí Svelte íìµ ì¬ì ì ê³ìí기 ìí´ ììì¼ í ëª ê°ì§ 리ìì¤ë¥¼ ê³µì í©ëë¤.
Which frameworks did we choose?
ì°ë¦¬ë React/ReactDOM, Ember, Vueì ì¸ ê°ì§ 주ì íë ììí¬ì ì´ì ì ë§ì¶ ê°ì´ëì ììíë ê¸ ëª¨ìì í¨ê» ê²ìíê³ ììµëë¤. ì¬ê¸°ìë ì¬ë¬ê°ì§ ì´ì ê° ììµëë¤.
- ì´ê²ë¤ì ì ìëì ì¸ê¸°ê° ììµëë¤. ë¤ë¥¸ ìíí¸ì¨ì´ í´ê³¼ ë§ì°¬ê°ì§ë¡ ë¤ì주ìë ì¤ë¨ëì§ ìê³ ì ê·¹ì ì¼ë¡ ê°ë° ëë ë구를 ì ííê³ ì ì§íëê²ì´ ì¢ìµëë¤. ëí ì´ê²ì 구ì¸í ëìë ë°ëì§íê² ìì©í ê²ëë¤.
- ì´ë¤ì ê°ë ¥í 커뮤ëí°ì ì¢ì 문ì를 ê°ê³ ììµëë¤. ë³µì¡í 주ì 를 ë°°ì°ë ë° ëìì ì»ì ì ìë¤ë ê²ì´ í¹í ì¤ìíê³ , ì²ìììíë ê²½ì°ë¼ë©´ ëì± ê·¸ë ìµëë¤.
- ì°ë¦¬ë 모ë ìµì íë ì ìí¬ë¥¼ ë¤ë£° ì ìë 리ìì¤ê° ììµëë¤. ìë¡ì´ 목ë¡ì´ íì íìëë¯ë¡ ì´ ëª©ë¡ì ìµì ìíë¡ ì ì§íê¸°ê° ë§¤ì° ì´ë ¤ì¸ ì ììµëë¤.
- ì´ì¬ìë¡ì ë§¤ì° ë§ì ì íì§ ì¤ ì§ì¤í ê²ì ì ííë ê²ì ë§¤ì° íì¤ì ì¸ ë¬¸ì ì ëë¤. ë°ë¼ì 목ë¡ì ì§§ê² ì ì§íëê²ì´ ì¢ìµëë¤.
ì°ë¦¬ë ì´ê²ì 미리 ë§íê³ ì¶ìµëë¤. ì íë ììí¬ë¤ì´ ìµê³ ë¼ê³ ìê°íê±°ë ì´ë¤ ìì¼ë¡ë ë³´ì¦ë기 ë문ì ì ííì§ ìììµëë¤. ì°ë¦¬ë ë¨ì§ ì´ íë ììí¬ë¤ì´ ìì 기ì¤ìì ëì ì ì를 ì»ìë¤ê³ ìê°í©ëë¤.
ì´ ê¸ì ì²ì ê²ìí ë ë ë§ì íë ììí¬ê° í¬í¨ë기를 ìíì§ë§, ë ì¤ë ì§ì°ìí¤ì§ ìê³ ë´ì©ì ë¦´ë¦¬ì¦ í ë¤ìì ëì¤ì íë ììí¬ ê°ì´ë를 ë ì¶ê°íê¸°ë¡ ê²°ì íìµëë¤. ì´ ì»¨í ì¸ ì ì¢ìíë íë ììí¬ê° íìëì§ ììê³ , ì´ë¥¼ ë³ê²½íê³ ì¶ë¤ë©´ ì¸ì ë ì§ ì í¬ì ë ¼ìíì기 ë°ëëë¤. Matrixë Discourse를 íµí´ ì°ë½íê±°ë mdn-admins listë¡ ë©ì¼ì ë³´ë´ì ë ë©ëë¤.