Skip to content

Latest commit

ย 

History

History
32 lines (24 loc) ยท 1.94 KB

File metadata and controls

32 lines (24 loc) ยท 1.94 KB

Flutter BLOC Pattern Example

  • ํ•œ๊ตญ์˜ํ™”์ง„ํฅ์œ„์›ํšŒ OpenAPI๋ฅผ ์ด์šฉํ•ด ๋ฐ•์Šค์˜คํ”ผ์Šค ์ˆœ์œ„(1์œ„~10์œ„)๋ฅผ ๋ฐ›์•„์™€์„œ '์ฆ๊ฒจ์ฐพ๊ธฐ' ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌDB์— ์ €์žฅํ•˜๋Š” ์˜ˆ์ œ
  • ํ•ด๋‹น ๊ธฐ๋Šฅ์„ Flutter์—์„œ ๊ถŒ์žฅ๋˜๋Š” BLOC ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด ์ง„ํ–‰

Flutter

  • ํ”Œ๋Ÿฌํ„ฐ(Flutter)๋Š” ๊ตฌ๊ธ€์ด ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ

ํ”Œ๋Ÿฌํ„ฐ SDK ๋ฒ„์ „ ์ •๋ณด
ํ”Œ๋Ÿฌํ„ฐ ํŒจํ‚ค์ง€ ์ •๋ณด

BLoC Pattern

  • BLoC Pattern ์ด๋ž€ Bussiness Logic Component์˜ ์ค„์ž„๋ง์ด๋‹ค.
  • BLoC Pattern์€ Flutter ์˜ ์ƒํƒœ(State) ๊ด€๋ฆฌ๋ฅผ ์ œ์–ดํ•˜๊ธฐ์œ„ํ•ด์„œ Google ๊ฐœ๋ฐœ์ž์— ์˜ํ•ด์„œ ๋””์ž์ธ๋˜์—ˆ๋‹ค.
  • Flutter ์—์„œ๋Š” ์ƒํƒœ์— ๋”ฐ๋ผ์„œ ๋ Œ๋”๋ง์ด ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์—, ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.
  • BLoC ์€ UI ์™€ Bussiness Logic ์„ ๋ถ„๋ฆฌํ•˜์—ฌ, ๊ฐ๊ฐ ์ฝ”๋“œ์˜ ์˜์กด์„ฑ์„ ๋‚ฎ์ถ”๊ฒŒํ•œ๋‹ค.

BLoC_Pattern_Image

  • BLoC์€ MVVM์˜ ViewModel๊ณผ ๊ฐ™์€ ๊ณ„์ธต์ด๋‹ค.
  • ViewModel๊ณผ ๊ฐ™์ด BLoC์€ View ๊ณ„์ธต์— ๋Œ€ํ•œ ์˜์กด์„ฑ์ด ์—†๋‹ค.
  • MVVM์—์„œ๋Š” ViewModel์ด View๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด Observer์™€ DataBinding์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ BLoC์€ Stream์„ ์‚ฌ์šฉํ•œ๋‹ค.

Requirements

  • ๋ฐ•์Šค์˜คํ”ผ์Šค ์ผ๊ฐ„์ˆœ์œ„ ์ •๋ณด (dio, retrofit, rxdart)
  • ์ผ๊ฐ„์ˆœ์œ„ ์ •๋ณด ๋กœ์ปฌ ์ €์žฅ, ์‚ญ์ œ (sqlite, path)

References

etc