ํ์คํ ํด์ฆ์ฑ ๋ง๋ค๊ธฐ!
ํ๋ฌํฐ(Flutter)์ ์ฅ๊ณ (Django Rest Framework)๋ก
๋น ๋ฅด๊ฒ ํ์คํ ๊ฐ๋ฐ์ ๋ฐฐ์๋ณด์์.
๊ฐ์ฅ ๋น ๋ฅด๊ฒ ์ฑ ๊ฐ๋ฐ์
์์ํ๋ ๋ฐฉ๋ฒ, Flutter
Flutter๋ ๊ตฌ๊ธ์ด ๊ฐ๋ฐํ ์ฑ/์น/๋ฐ์คํฌํ์ฑ ๊ฐ๋ฐ ํ๋ ์์ํฌ์
๋๋ค.
์ด์ฐฝ๊ธฐ์๋ Dart๋ผ๋ ์์ํ ์ธ์ด๋ก ์ธํ ์ด๋ ค์์ด ์์์ง๋ง, React Native๋ฅผ ๊ฐ๋ฟํ ๋ฐ์ด๋๋ ์ฑ ์ฑ๋ฅ๊ณผ ๊ฐ๋ฐ ์๋๋ฅผ ์๋ํ๋ฉฐ ํฐ ์ธ๊ธฐ๋ฅผ ๋๊ณ ์์ต๋๋ค.
Flutter๋ฅผ ์ ํด๋ณธ ๋ง์ ๊ฐ๋ฐ์๋ค์ ๋ค์ดํฐ๋ธ ์ฑ ๊ฐ๋ฐ์ Flutter๊ฐ ์ถฉ๋ถํ ๋์ฒดํ ์ ์์ ๊ฑฐ๋ผ๊ณ ํ๋จํ์์ต๋๋ค.
๋ฐฑ์๋ ์
๋ฌธ์์๊ฒ
๊ฐ์ฅ ์น์ ํ ํ๋ ์์ํฌ,
Django Rest Framework
Django Rest Framework๋ Django ๊ธฐ๋ฐ์ REST API ํ๋ ์์ํฌ์
๋๋ค.
์
๋ฌธ์์๊ฒ ๊ฐ์ฅ ์น์ ํ ํ์ด์ฌ๊ณผ ์ฅ๊ณ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ ํ๋ ์์ํฌ๋ผ ์์ฃผ ๊ฐ๋จํ๊ฒ ๋ฐฑ์๋ API๋ฅผ ๊ฐ๋ฐํด๋ณผ ์ ์์ต๋๋ค!
๐ก ๊ฐ์ ํน์ง
์ ์ฒด ๊ฐ์ FULL ์๋ง! ๋น ๋ฅธ ์ฝ๋ ์งํ!
"๋ฌด์์ ํ์คํ" ๊ฐ์๋ ๊ฐ ์ฝ๋์ ๋ํ ์ค๋ช
์ ์ต์ํํ์ฌ ์ผ๋จ ์ฝ๋๋ฅผ ๋ฐ๋ผํด๋ณด๊ณ , ๊ฐ์ ๊ณ ๋ฏผํ๋ฉฐ ๊ณต๋ถํ๋ ํํ์ ๊ฐ์์
๋๋ค.
๊ฐ์์ ์ค๋ช
์ด ๋ถ์กฑํ ์ ์์ด, ์ถํ์ ๋ณธ ๊ฐ์์ ๋์ค๋ ์์ ฏ์ด๋ ๋ก์ง์ ๋ํ ๊ฐ์๋ฅผ ๋ฐ๋ก ์
๋ก๋ํ ์์ ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋
์ ๋ํ ์ดํด๊ฐ ๋จผ์ ํ์ํ์ ๋ถ๋ค์๊ฒ ์ ๋ง์ง ์์ ์ ์์ต๋๋ค.
๋์ค์ "๋ฝ๋ฝ๋ ํ์คํ" ๊ฐ์์์ ๋ ์์ธํ๊ณ , ์น์ ํ ์ค๋ช
์ ์งํ๋๋ฆด๊ฒ์!
๋ํ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๊ด์ฌ์ด ์์ผ์ ๋ถ๋ค์ ์ํด ํ
์คํธ API ์ฃผ์๋ฅผ ์ฒจ๋ถํด๋์์ต๋๋ค:)
โ๏ธ ์ด ๊ฐ์์์ ๋ฐฐ์ฐ๋ ๊ฒ๋ค
๊ฐ์์์๋ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ฐฐ์ฐ์ค ์ ์์ต๋๋ค!
โ๏ธ Flutter๋ก ๋ฐ์ํ UI๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ
โ๏ธ Flutter ์ค๋ฌด ๊ฐ๋ฐ ๊ฒฝํ์์ Flutter ๊ฐ๋ฐ ๊ฟํ
โ๏ธ Flutter์ API๋ฅผ ์ฐ๋ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ๋ฒ
โ๏ธ Django Rest Framework๋ก API ์๋ฒ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ
โ๏ธ Django ํ๋ก์ ํธ๋ฅผ Heroku์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ
๐ ์ด ๊ฐ์๊ฐ ๋๋๋ฉด ์์ฑ๋ ํด์ฆ์ฑ
๊ฐ์๊ฐ ๋๋๋ฉด, ์๋์ ํด์ฆ์ฑ์ ์์ฑํ์ค ์ ์์ต๋๋ค:)

๐ ์ด ๊ฐ์๊ฐ ๋๋๋ฉด ์์ฑ๋ ๋ฐฑ์๋ API
๊ฐ์๊ฐ ๋๋๋ฉด, ์๋์ API ์๋ฒ๋ฅผ ์์ฑํ์ค ์ ์์ต๋๋ค :)
๐ ํ์ํ ๊ฐ๋ฐ ํ๊ฒฝ - Flutter
Flutter๋ก ๊ฐ๋ฐํ ์ ์๋ ํ๊ฒฝ์ด๋ฉด ๋ฌด์์ด๋ ๊ด์ฐฎ์ต๋๋ค!
๋ฐ๋ก ์ค๋ช
๊ฐ์๊ฐ ์์ผ๋, ๋ฏธ๋ฆฌ ์ค๋น ๋ถํ๋๋ฆฝ๋๋ค:)
ํ๋ฌํฐ ๊ฐ๋ฐํ๊ฒฝ ์ธํ
ํ๊ธฐ
์ ๊ฐ๋ฐํ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
OS: Mac OS Mojave / iOS Simulator
SDK: Flutter SDK 1.12.13+hotfix.8
Editor: VS code
VS code extensions: Dart / Flutter / Rainbow Brackets
๐ ํ์ํ ๊ฐ๋ฐ ํ๊ฒฝ - Django Rest Framework
Django ๊ฐ๋ฐ์ ํ์ด์ฌ๋ง ์์ผ๋ฉด ๋ฐ๋ก ์์ํ ์ ์์ต๋๋ค!
๋ฒ์ ๋ง ๋๋ฌด ์ค๋๋์ง ์์ ๊ฒ์ผ๋ก ์ธํ
ํ๋ฉด ๋ฉ๋๋ค. (์ต์ 3.5 ์ด์)
ํ์ด์ฌ ์ค์นํ๊ธฐ
์ ๊ฐ๋ฐํ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Python 3.6.3
๐ ๊ฐ์ ์๋ฃ์ค
๋ฐฑ์๋ API ์ฃผ์: https://drf-quiz-test.herokuapp.com/quiz/3/
ํ๋ฌํฐ(ํ๋ก ํธ์๋) ์ฝ๋ ๋ ํฌ: https://github.com/TaeBbong/quiz_app_lecture
์ฅ๊ณ (๋ฐฑ์๋) ์ฝ๋ ๋ ํฌ: https://github.com/TaeBbong/quiz_drf_lecture
(์ ํ๋ธ๋ก๋ ๋ณผ ์ ์์ด์!) ๋ฌด๋ฃ ๊ฐ์ ์ ํ๋ธ ๋งํฌ: https://www.youtube.com
๐๐ปโโ๏ธ ์์๋๋ ์ง๋ฌธ QnA
Q. ๊ผญ ๊ฐ์์์ ๋์ค๋ ๋๋ก ๋ง๋ค์ด์ผ ํ๋์?
A. ๊ฐ์์๋ ๊ฐ๋ฐ์ ์ ํ๋ ์ฌ๋์ด ์๋๋ผ, ์ข์ง ์์ ์ฝ๋๊ฐ ์์ฑ๋์ด ์์ ์ ์์ต๋๋ค. ๋ํ Flutter ๊ฒฝ๋ ฅ์ด ๊ธธ์ง ์์ ๋๋๋ก ํ์ ์๋ ์ฝ๋ ๋ฑ์ด ์์ ์ ์์ต๋๋คใ
ใ
๋ ๊ณต๋ถํด์ ์์ผ๋ก ๋ฐ์ ๋ ์ฝ๋์ ๊ฐ์๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค:)
Q. ํ๋ฌํฐ์ ์ฅ๊ณ API๋ง ์ฐ๋ํ ์ ์๋์?
A. ์ด๋ค API์ด๋ ์๊ด ์์ต๋๋ค! ์ฅ๊ณ ๋ฟ๋ง ์๋๋ผ ์คํ๋ง, ๋
ธ๋์ ์ด์์ค ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ๋ฐํ์ฌ ํ๋ฌํฐ์ ์ฐ๋ํ ์ ์์ต๋๋ค. ๊ฐ์์์๋ ์ฅ๊ณ ๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ๊ฐ๋ฅด์ณ๋๋ฆฝ๋๋ค.
๐ก ๊ฐ์๊ฐ ๋ง์์ ๋์
จ๋ค๋ฉด..!
๋ณธ ๊ฐ์๋ ๋ฌด๋ฃ๋ก ์งํ๋๋ ๊ฐ์์ธ ๋งํผ ๊ฐ์ ์ ์์๋ ์ฌ๋ฌ๋ถ๋ค์ ์์๊ณผ ๊ฒฉ๋ ค ๋๋ถ์ ์ด์ฌํ ์ผํ ์ ์์ต๋๋ค!
๊ฐ์๊ฐ ๋ง์์ ๋์
จ๋ค๋ฉด ์ปคํผ ํ ์โ ๋ถํ๋๋ฆฝ๋๋ค:)