์ด๊ฒ์ ํ์ฌ ์ด ์๊ฒฌ์์ ๋
ผ์๋ ์ด์ ๋ก Flutter์ ๋ก๋๋งต์ ์์ต๋๋ค.
https://github.com/flutter/flutter/issues/14330#issuecomment -485565194
์ด ์๊ฒฌ์ ๋ํ ์ฌ๋ฌ๋ถ์ด ์๊ฐํ ์ ์๋ ๋ค์ํ ์ข
๋ฅ์ "ํซ ์
๋ฐ์ดํธ" ๊ธฐ๋ฅ์ ๋ํ ๊ฐ๋ตํ ๊ฐ์๋ฅผ ์ ๊ณตํ๊ณ ์ด ์ฃผ์ ์ ๋ํด ๋ช
ํํ๊ฒ ์ ๋ฌํ๋ ค๋ ๊ฒฝ์ฐ ๋์์ด ๋ ์ ์๋ ํด๋น ์ฉ์ด๋ฅผ ์ ๊ณตํฉ๋๋ค.
https://github.com/flutter/flutter/issues/14330#issuecomment -442274897
์ฌ๋๋ค์ ์ข ์ข Flutter๊ฐ "์ฝ๋ ํธ์" ๋๋ "ํซ ์ ๋ฐ์ดํธ" ๋๋ ์ฑ์ ๋ํ ์คํ ์ด ์ธ๋ถ ์ ๋ฐ์ดํธ๋ฅผ ํธ์ํ๊ธฐ ์ํ ๊ธฐํ ์ ์ฌํ ์ด๋ฆ์ ์ง์ํ๋์ง ๋ฌป์ต๋๋ค.
ํ์ฌ ์ฐ๋ฆฌ๋ ๊ทธ๋ฌํ ์๋ฃจ์ ์ ์ฆ์ ์ ๊ณตํ์ง ์์ง๋ง ์ฃผ์ ์ฐจ๋จ ์์๋ ๊ธฐ์ ์ด ์๋๋๋ค. Flutter๋ Android ๋ฐ iOS ๊ธฐ๊ธฐ ๋ชจ๋์์ JIT(Just In Time) ๋๋ ์ธํฐํ๋ฆฌํฐ ๊ธฐ๋ฐ ์คํ์ ์ง์ํฉ๋๋ค. ํ์ฌ ์ฐ๋ฆฌ๋ --release ๋น๋ ์ค์ ์ด๋ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ฑฐํ์ง๋ง ์ฝ๊ฒ ํฌํจํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ๋ํ ์ฃผ์ ์ฐจ๋จ๊ธฐ๋ ์ด๋ฌํ ์ข ๋ฅ์ ๋ฌด์ ์ ๋ฐ์ดํธ ๊ธฐ๋ฅ์ ์ํด ์ฑ์ด JavaScript๋ฅผ ์ฌ์ฉํด์ผ ํ ์ ์๋ iOS ์ํ๊ณ์ ํ์ฌ ๋จ์ ์ ํด๊ฒฐํฉ๋๋ค. ๊ณ ๋ง๊ฒ๋ Dart๋ JavaScript๋ก์ ์ปดํ์ผ์ ์ง์ํ๋ฏ๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๋ฅผ Dart ๋์ JavaScript๋ก ์ปดํ์ผํ์ฌ ๋ฐฐํฌ๋ ๋ฐ์ด๋๋ฆฌ์ ํด๋น ๋ถ๋ถ์ ๋์ฒดํ๊ฑฐ๋ ํ์ฅํ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ํ ์ ์์ต๋๋ค.
์ด ๋ฒ๊ทธ๋ ์ด์ ๊ฐ์ด ์ง์๋๋ ์๋ฃจ์ ์ ์ถ๊ฐํ๋ ๊ณผ์ ์ ์ถ์ ํฉ๋๋ค. ๋๋ ๋ค๋ฅธ ๋ชจ๋ ๋ณด๊ณ ์๋ฅผ ์ฌ๊ธฐ์์ ์์ผ ๊ฒ์ ๋๋ค.
cc @floitschG
๋ํ ์ฐธ์กฐ
https://groups.google.com/forum/#!msg/flutter -dev/YwzItp1pxJo/7bFGDLvxBAAJ
๋๋ ์ด๊ฒ์ ๋ํด ๋งค์ฐ ํฅ๋ถํ ๊ฒ์
๋๋ค.
์ด๊ฒ์ด ๋ฆฌ์กํธ ๋ค์ดํฐ๋ธ์ ์ ์ผํ๊ณ ์ง์ ์ผ๋ก ๋ ํนํ ๊ธฐ๋ฅ ์ค ํ๋์ผ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์๋นํ ์ค์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ถํํ๋ ์ผ๋ถ ํ์ฌ์์๋ ์ด๊ฒ์ ๋ ๋ธ๋ ์ด์ปค๋ก ๊ฐ์ฃผํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก
Flutter ๋ React Native๋ผ๋ ์ฅ๋ํ ์ ํฌ์์ ์ฝ๋ ํธ์๋ ์ง์ฅ ๊ฐ์ ๋๊ตฌ์
๋๋ค(:
RN ๊ฐ๋ฐ์๋ก์ ์ด ๊ธฐ๋ฅ์ ์ค์์ฑ์ ์๋ฌด๋ฆฌ ๊ฐ์กฐํด๋ ์ง๋์น์ง ์์ต๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ํซ ํธ์๊ฐ ์๋ค๋ ์ด์ ๋ก Flutter๋ฅผ ํต๊ณผํ ๊ฒ์
๋๋ค. ๋ฒ๊ทธ๋ฅผ ๋น ๋ฅด๊ฒ ์์ ํ๊ณ ์๋ก์ด ๊ธฐ๋ฅ์ ํธ์ํ๋ ๋ฐ ์ต์ํด์ง๋ฉด ๋๋๋ฆด ์ ์์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ๊ฒฝ๋ก๋ก ์ปดํ์ผํ๋ฉด ๋คํธ์ ์ฅ์ ์ด ์ค์ด๋ค๊ฒ ์ฃ ?
Rollout.io๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ๋ค์ ๋ก๋ํ ์ ์์๋ ์ผ๋ถ ๊ธฐ๋ณธ ์ฑ์ ์ฐพ์์ง๋ง Apple์์ ์ฐจ๋จํ์ต๋๋ค: https://news.ycombinator.com/item?id=13817557
์ด ํจํด์ ๋ณด๋ฉด, ์ฐ๋ฆฌ๊ฐ ๋ฐ์ ๋ค์ดํฐ๋ธ์์ ๋ณด๋ ๊ฒ๊ณผ ๊ฐ์ ๋งค๋๋ฌ์ด ์ฝ๋ ํธ์ ๊ธฐ๋ฅ์ด flutter์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
ํต์ฌ ๊ด๋ฆฌ์(:
์๋ฐ์คํฌ๋ฆฝํธ ๊ฒฝ๋ก๋ก ์ปดํ์ผํ๋ฉด ๋คํธ์ ์ฅ์ ์ด ์ค์ด๋ค๊ฒ ์ฃ ?
์ด๋ค ์ฅ์ ์ ๋ง์ํ์๋ ๊ฑด๊ฐ์?
Codepush๋ ๋งค์ฐ ํ์ํฉ๋๋ค. Flutter์์ ๋ฌด์ ์ ๊ทธ๋ ์ด๋ ๋ฆด๋ฆฌ์ค ๊ฐ๋ฅ์ฑ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ฝ๊ฐ ๊ทน๋จ์ ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง(๋ชจ๋ ํ ์คํธ ๊ณ์ ์ด ๊ฐ์ง๊ณ ์์ง ์์ ์ฌ์ฉ ์ฌ๋ก์์ ์์น ๊ถํ์ ๊ฑฐ๋ถํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋จ) ์ค์ ๋ก๋ ๊ทธ๋ ์ง ์์ ๊ธฐ๋ฅ์ ๋ํด ๋ง์ ๋์ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ํ๋ก๋์ ์ฑ์ ์ค์ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์์ต๋๋ค. NS.
codepush ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฆ์ ์ค์ํ ์์ ์ฌํญ์ ํธ์ํ ์ ์์ต๋๋ค. ์ด๋ค ์ด์ ๋ก ์ฌ์ฉ์๊ฐ ๋๋๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ๋๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค :(
ํซ ์ฝ๋ ํธ์ ์ง์์ NO GO์ ๋๋ค :-(
ํด์๋ ์ฝ๋์ JavascriptCore๊ฐ ๋ ์ด์ ํ์ํ์ง ์์ ์ ์์ต๋๋ค. https://www.theregister.co.uk/2017/06/07/apple_relaxes_developer_rules/?page=2
IOS ์ํ๊ณ๊ฐ ๊ฑธ๋ฆผ๋์ด๋ผ๋ฉด ์ง๊ธ์ ์๋๋ก์ด๋์์๋ง ๊ตฌํํ์ง ์๊ฒ ์ต๋๊น? ์๋ ๊ฒ๋ณด๋ค ๋์ ๊ฒ ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์์์ ์ ๋๋ค.
ํ์ด ์ด ๊ธฐ๋ฅ์ ์ต๋ํ ๋นจ๋ฆฌ ๊ตฌํํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ฌ๊ธฐ์์ ๋ช ๊ฐ์ง ๊ธฐ๋ณธ ํ๋กํ ํ์ ์ ๊ตฌ์ถํ์ง๋ง ํ์ฌ๋ก์๋ ๊ณต์ ํ ๋ด์ฉ์ด ์์ต๋๋ค. ์ด๊ฒ์ ์ ๋๋ก ํ๋ ค๋ฉด Dart์ ์ปดํ์ผ๋ฌ ํด์ฒด์ธ์์ ์ฝ๊ฐ์ ์์ ์ด ํ์ํฉ๋๋ค. ์ฌ๊ธฐ์์ ๋ง์ ๊ฒ์ ๊ณต์ ํ ์ ์๊ธฐ๊น์ง ๋ช ๋ฌ์ด ๊ฑธ๋ฆด ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ํ์ ํ์ฌ 1.0์ ์์ ํ์ ์ง์คํ๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋น์ ์ ๋ง์ ๋ฃ์ต๋๋ค. :) ์ด๊ฒ์ ๋ถ๋ช ํ ๋ง์ ์ฌ๋๋ค์ด ๊ฐ์น ์๊ฒ ์ฌ๊ธฐ๋ ๊ธฐ๋ฅ์ด๋ฉฐ ์ฐ๋ฆฌ๋ ๊ฒฐ๊ตญ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๋ค.
Flutter์ ๋ํ "์ฝ๋ ํธ์" ์ง์์ React Native์ ๊ด๋ จ๋ ๊ด์ ๋ง์ง๋ง ๋ชป์ด ๋ ์ ์์ต๋๋ค.
RN๊ณผ RN ์ปค๋ฎค๋ํฐ์ ๋ํ ์ ์ ๋ชจ๋ ์ฌ๋์ผ๋ก ๊ฒ์ ์ฒด์ธ์ ์ธ Flutter๋ ์๋๊ฐ ๋์ง ์์ต๋๋ค.
Flutter๋ ๋ชจ๋ ์ธก๋ฉด(๋๊ตฌ, ์ฑ๋ฅ, ์ธ์ด...)์์ ์ด๋ฅผ ์ ๋ณด์ฌ์ค๋๋ค.
1.0 ํํธ ํ ์ปค๋ฎค๋ํฐ๊ฐ ์กฐ๊ธ ๋ ์ฑ์ฅํฉ๋๋ค. + ์ฝ๋ ํธ์ ์ง์ = Flutter๊ฐ ์๋ ๋ค๋ฅธ ๊ฒ์ผ๋ก ์๋ก์ด ๋ชจ๋ฐ์ผ ํ๋ก์ ํธ๋ฅผ ์์ํ ์ด์ ๊ฐ ์์ต๋๋ค.
"์ฝ๋ ํธ์"์ ๋ํ ์งํ ์ํฉ ??
์ ์ฒด .so๋ฅผ ๋์ ์ผ๋ก ๋์ฒดํ๋ ๊ฒ์ด ์ผ๋ง๋ ์คํ ๊ฐ๋ฅํฉ๋๊น? ์ ์ฒด ์ปดํ์ผ๋ฌ ๋๊ตฌ ์ฒด์ธ, ์ฝ๋ ์์ดํฌ ๋ฑ์ ํญ์ ์ฐ์ ์์ ๋ชฉ๋ก์ ๋งจ ์์ ํฐ์ผ์ด ์๋ค๋ ์ ์ ๊ฐ์ํ ๋ ์ฌ๋๋ค์ด ํํ์ ๋ฐ์ ์๋ ์๊ณ ๊ทธ๋ ์ง ์์ ์๋ ์๋ ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ๋ก ์กฐ์ ๋์ด์๋ ์๋ฉ๋๋ค.
์ ์ฒด .so ํ์ผ์ "์ฌ์ด๋๋ก๋ฉ"ํ ์ ์๋ ๊ณต๊ฐ์ด ์์ด์ผ ํ๋ฏ๋ก dart์์ ๊ธฐ๊ณ ์ฝ๋๋ก์ ๋น๋๊ฐ ์ฌ์ ํ ์ ํํ ๋์ผํ ์ ์์ต๋๋ค. ์์ง๋ง ์์ ํ ๋ ๋ฆฝ์ ์ธ ๊ตฌ์ฑ ์์์๋ ๋ค์๊ณผ ๊ฐ์ "์ต์ ์คํ ๊ฐ๋ฅํ ๊ธฐ๋ฅ"์ด ํ ๋น๋ ์ ์์ต๋๋ค. .so๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์๋ ์ ๊ณต๋ ๊ตฌ์ฑ ์์๋ก ๊ต์ฒดํ๊ณ ๊ธฐ๋ณธ ์คํ ์๋๋ก ์ฑ์ ๋ค์ ์์ํฉ๋๋ค.
์ถ๊ฐ ์ฑ ์: ์์ฐ ๋ค์ด๋ก๋, ์๋ช ํ์ธ ๋ฑ. ํ๋ฌํฐ/๋คํธ/์คํค์ ์์ง ์ ๋ฐ์ดํธ ๋ฐ ์ ๋ฐ์ดํธ ๋ถ๊ฐ.
๊ทธ๊ฒ์ iOS ์ง์นจ์ ์๋ฐํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฌ์ง๋ง ์ด์จ๋ ๋๋ ์ด์จ๋ ํด์๋๋ ์ด๋ค ๊ฒ ๋๋ ์ผ๋ฐ์ ์ผ๋ก iOS์ ํฌ์ด ์๋๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋๋ก์ด๋๊ฐ ๋ฉ์ง๊ธฐ ๋๋ฌธ์ ์์ ์๋ ๊ฒ๋ณด๋ค ์๋๋ก์ด๋์ ์๋ ๊ฒ์ด ๋ ๋ซ์ต๋๋ค.
์ต์ํ ๋ค์ด๋ก๋ ๋ถ๋ถ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํ์ฉ๋๋ ์ผ๋ถ ๊ฒฉ๋ฆฌ ์์ ์ด ์์ผ๋ฏ๋ก ์ด์ ์ํํ ์ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์๋ณธ .so๋ฅผ ๋ค์ด๋ก๋ํ ํ์ผ๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ ๋ณด๋ ๊ฒ์ ํฅ๋ฏธ๋ก์ธ ๊ฒ์ ๋๋ค. ์๋ง๋ ์ถ๊ฐ .so ๋๋ Java ์ฝ๋๊ฐ ๊ทธ ๋ถ๋ถ์ ์ํํ ์ ์์ง๋ง ์ฝ๋ ํด๋์ ์์ ๊ฒ์ ๋๋ค. ์ฑ ์์ฒด๊ฐ ์์ ํ ์ ์๋์ง ํ์คํ์ง ์์ผ๋ฏ๋ก ํ๋ฌํฐ ์์ง์ด ๋ด๋ถ์์ ๋ชจ๋ ์ฑ์ .so๋ฅผ ๋ก๋ํ๋๋ก ์ฝ๊ฐ์ ์กฐ์ ์ด ํ์ํ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ?
Flutter๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ์ฑ์ ๊ฐ์ ํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์์ง ๋ฒ ํ ๋ฒ์ ์ด๊ณ ์๋ก์ด UI์ ๊ธฐ๋ฅ์ ๋น ๋ฅด๊ฒ ํ ์คํธํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํซ ์ ๋ฐ์ดํธ ๊ธฐ๋ฅ์ด ์์ด์ผ ํ๋ค๋ ์ฃผ์ ์๊ตฌ ์ฌํญ์ด ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ด ์์ผ๋ฉด ์ด ๊ฒ์ ๋๋ค.
์
๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
(์ด ๊ธฐ๋ฅ์ ์ด๋ฏธ ์๋ฃ๋์์ผ๋ฉฐ 1.0์ด ๋์ค๋ฉด ๊น์ง ๋๋ ๊ฒ์
๋๋ค.)
๐
์ฐฌ์ฑ ํฌํ
Flutter๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ด์ ๋ ๋จ ํ๋์ ๋๋ค. ์ฝ๋ ํธ์
์ฝ๋ ํธ์๋ฅผ ์ง์ํ ์ ์๋ค๋ฉด ์ผ๋ถ ์ฌ์ (json, xml...)์์ Flutter Widget์ผ๋ก ์์ฑํ Parser๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ์ด๊ฒ์ ๋ถ๊ฐ๋ฅํ๊ฑฐ๋ ์ข์ ์๊ฐ์ ๋๊น?
์ด๊ฒ์ ์ฝ๊ฐ ์ ๋งํ๊ฒ ๋ค๋ฆฝ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ์์ ฏ์ ๋ํ Firebase ์๊ฒฉ ๊ตฌ์ฑ.
๊ธฐ์
์ด ์ํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง ํ์
ํ๋ ๊ฒ๋ ๋์์ด ๋ฉ๋๋ค. :)
2018๋
10์ 12์ผ ๊ธ์์ผ, ์ค์ 3:45 Hฦฐng Lฦฐฦกng ฤแป Minh [email protected]
์ผ๋ค:
์ฝ๋ ํธ์๋ฅผ ์ง์ํ ์ ์๋ค๋ฉด ํ์๋ฅผ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์ผ๋ถ ์ฌ์ (json, xml...)์์ Flutter Widget์ผ๋ก ์์ฑํ์๊ฒ ์ต๋๊น? ~์ด๋ค
์ด๊ฒ์ ๋ถ๊ฐ๋ฅํ๊ฑฐ๋ ์ข์ ์๊ฐ์ ๋๊น?โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/flutter/flutter/issues/14330#issuecomment-429251785 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AC4TYe9qDMi4bt2U5qyyAnJisN3ys_Z5ks5ukFavgaJpZM4RxUZi
.
์ ์ด๋ Dart๋ก ์์ฑ๋ UI/View๋ ์๋ฒ์์ ๋คํธ์ํฌ๋ฅผ ํตํด ๋ค์ด๋ก๋ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๊ฐ์ ์ป์ผ๋ ค๋ฉด Qt Quick ํ๋ ์์ํฌ๊ฐ ์ด๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ฐธ์กฐํ์ญ์์ค.
QtDD12 - ๋คํธ์ํฌ๋ฅผ ํตํด QML ์์ฉ ํ๋ก๊ทธ๋จ ์ ๊ณต - Jeremy Laine:
๋ค๊ฐ์ค๋ 1.0 ๋ฆด๋ฆฌ์ค์ ํฌํจ๋ ์ ์์ต๋๋ค!
๋ง์ ๊ณ ๊ฐ์ด Google ์คํ ์ด์ ์ฑ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ ์ฐจ๋จํ๋ ์๊ฒฉํ ๋ฐฉํ๋ฒฝ ๋ค์ ์๋ ํค์ค์คํฌ ๊ธฐ๊ธฐ์์ Flutter ์ฑ์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๊ณ ๊ฐ์ Play ์คํ ์ด๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ถ๊ทน์ ์ผ๋ก Flutter ์ฑ๊ณผ ํจ๊ป 100๊ฐ์ ํ๋์จ์ด ์ฅ์น๋ฅผ ๊ฐ๊ฒ ๋ ๊ฒ์ด๋ฉฐ, ๊ณ ๊ฐ ๋ฐฉํ๋ฒฝ ์ ํ์ ์ค์ํ๋ฉด์ ์ฑ์ ์ ๋ฐ์ดํธ๋ฅผ ํธ์ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ์ ๋๋ผ์ด ์ผ์ด ๋ ๊ฒ์ ๋๋ค!
@eseidelGoogle - ์ฌ๋ฌ๋ถ์ด ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ ์ง
์์ง๋ ์ด ์ผ์ ํ๊ณ ๊ณ์๋์? ์ผ์ด ์ด๋ป๊ฒ ๋์ด๊ฐ๊ณ ์๋์?
์งํ์ด ๊ณ์๋ฉ๋๋ค. ํ์ฌ ๊ณต์ ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ค๋ ์ผ์ฐ ์ฌ๋๋ค์ด ์ด ๋ฒ๊ทธ์ ๋ํด ์ธ๊ธํ ์ธ ๊ฐ์ง ๋ช ํํ ์ฉ์ด๋ฅผ ์๊ฐํด ๋์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ถ์ ํ ์ ์๋ ์ธ ๊ฐ์ง ๋ฒ๊ทธ๋ก ๋ถํ ํด์ผ ํฉ๋๋ค.
์ด๊ฒ์ด iOS์์ ์ ๋ง ๊ฐ๋ฅํ๊ฐ์? Apple์ด rollout.io ์์
Apple์ด ํ์ฌ(๋๋ ๋ฏธ๋์) ํ์ฉํ๊ฑฐ๋ ํ์ฉํ์ง ์๋ ๊ฒ์ ๊ธฐ์ ๊ตฌํ๊ณผ ์์ ํ ๋ณ๊ฐ์ ๋๋ค. Flutter๋ iOS ์ด์ธ์ ๋ง์ ๊ณณ์์ ์คํ๋ฉ๋๋ค. ๋ถ๋ช ํ ์ฐ๋ฆฌ๋ iOS์์ ์๋ํ ์ ์๋ ๊ธฐ์ ์ ํญ์ ์ค๊ณํ๊ณ ์ถ์ง๋ง(๋ง์ ๊ฐ๋ฅํ "์ฝ๋ ํธ์" ์๋ฃจ์ ์ด ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ๋ฏ๋ก) iOS๊ฐ ์ ์ผํ ๊ณ ๋ ค ์ฌํญ์ ์๋๋๋ค. ๋์์ด ๋์ จ๋์?
Code Push๊ฐ 1.0์์ ๋ฆด๋ฆฌ์ค๋ ๊ฒ์ ๋ณด์ง ๋ชปํด์ ์ ๋ง ์ฌํ๋๋ค. ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ์ด ๋ด๊ฐ ์ฑ ์คํ ์ด๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ํจ์นํ๋ ๊ธฐ๋ฅ์ด ํ์ํ ํ๋ก์ ํธ์์ ์ฌ์ฉํ ์ ์๋ ์ฃผ๋ ์ด์ ์
๋๋ค.
๋๋ ๊ฑฐ๊ธฐ๊น์ง ๊ฐ๋ ๊ฒ์ด ํ๋ ์ผ์์ ๊ฐ์ฌํ๊ฒ ์๊ฐํฉ๋๋ค. ํ์ด์ ๋น๋๋ค.
Flutter๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ด์ ๋ ๋จ ํ๋์ ๋๋ค. ์ฝ๋ ํธ์
์ด ์ฃผ์ ์ ๋ํ ๊ด์ฌ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ํผ๋๋ฐฑ์ ๋จ๊ธฐ๊ณ ์ถ์ต๋๋ค.
์ฐ๋ฆฌ ํ์ฌ๋ ์ ์ง ๊ด๋ฆฌ ํ์ ๊ด๋ฆฌํ๊ธฐ ์ํด Android ์ ์ฉ ๋ค์ค ๊ณ ๊ฐ ์ฑ์ ๊ฐ๋ฐํฉ๋๋ค. 2018๋
์ ์ฐ๋ฆฌ๋ ์ฝ 100๊ฐ์ ์
๋ฐ์ดํธ๋ฅผ ์ถ์ํ์ผ๋ฉฐ, ๊ทธ ์ค ๋๋ถ๋ถ์ ์ฌ์ ์ ์์ธกํ ์ ์๋ ๊ฐ ๊ณ ๊ฐ์ด ํ์๋ก ํ๋ ์ฝ๊ฐ์ ์กฐ์ ๋ฐ ์ฌ์ฉ์ ์ง์ ์ด๊ธฐ ๋๋ฌธ์ Google Play๋ฅผ ํตํด ์ ๋ฒ์ ์ ์์ฒญํ ์
๋ฐ์ดํธ๋ ํ๋๋ ์์ต๋๋ค.
Flutter์์ ์ด ์ฑ์ ๋ค์ ์์ฑํ๋ ๊ฒ์ ๊ฟ์ด๊ฒ ์ง๋ง, ๋ค์ ์์ฑํ๋ ๋น์ฉ์ ์ ์ธํ๊ณ ์์ ์ฌํญ์ด๋ ์ฌ์ฉ์ ์ ์๊ฐ GPlay๋ฅผ ํตํด ๊ฒ์๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๋ฐ ๋์ ๋ญ๋นํ๋ ๊ฒ์ ์
๋ชฝ์ด ๋ ๊ฒ์
๋๋ค.
๊ฐ๋ฅํ ๋นจ๋ฆฌ ๋ฌ์ฑํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค
๋ ๋ค๋ฅธ ํฌ์ธํธ: Flutter ํ์ด ๊ณต์์ ์ผ๋ก ํซํฝ์ค ์๋ฃจ์ ์ ์ ๊ณตํ๋ค๋ฉด, ํซํฝ์ค๊ฐ AppStore ๋ฆฌ๋ทฐ ๊ฐ์ด๋๋ผ์ธ์ ํ์คํ ์๋ฐํ๊ธฐ ๋๋ฌธ์ Apple์ด ์ธ์ ๊ฐ Flutter์์ ๋น๋ํ ๋ชจ๋ ์ฑ์ ๊ฑฐ๋ถํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ฐ๋ฐ์๋ AppStore ๋ฆฌ๋ทฐ๋ฅผ ์ฐํํ๊ณ ์ฑ์ ์์ ํ ์ ์์ต๋๋ค ์ฑ์ ์ฌ์ฉ์์๊ฒ ์์ ํ์ง ์์ต๋๋ค.
ํ์ฌ Apple์ ์ค๊ตญ์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํซํฝ์ค ์๋ฃจ์ ์ธ JsPatch๊ฐ ํฌํจ๋ ๋ชจ๋ ์ฑ์ ๊ฑฐ๋ถํฉ๋๋ค. JsPatch๋ JsCore ๋ฐ OC ๋ฐํ์์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค.
์์ผ๋ก Apple์์ ์ฑ์ ๊ฑฐ๋ถํ ์ ์๊ธฐ๋ณด๋ค๋ ํซํฝ์ค ๊ธฐ๋ฅ์ด ์๋ Flutter ์ฑ์ ๋ง๋ค๊ณ ์ถ์ต๋๋ค.
@MaxZeng JsPatch ์ ๋ํด ์๊ฒ
์ด ์์ ๊ฐ์ด iOS/Android๋ง ์ง์ํ๋ ๊ฒฝ์ฐ:
MyFlutterApplication์ด ๊ถํ์ ์์ฒญํ๊ฑฐ๋ ์ฑ ์
๋ฐ์ดํธ๋ฅผ ์ํฉ๋๋ค.
๋ณ๊ฒฝ ๋ก๊ทธ: ๊ณ ์์ด ๋ฐ ๊ฐ ์ถ๊ฐ(v1.0)
ํ์ฉ | ํ์ฉํ์ง ์์
์ ๋น์ฌ์์ ๋ํ ์ง์นจ์ ๊ฒํ ํ ํ.
@MaxZeng JsPatch ์ ๋ํด ์๊ฒ
์, ReactNative๋ ํ์ฌ ์ฝ๋ ํธ์์ ์์ธ์ด์ง๋ง Apple์ด ๊ณต์์ ์ผ๋ก ์ง์ํ๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ์ต๊ทผ ์ ํฌ ํ์ฌ ์ฑ์ RN๊ฐ์ ํ๋ ์์ํฌ๋ก ์ธํด AppStore์์ 3๋ฒ ์ด์ ๊ฑฐ์ ์ ๋นํ๊ณ ์ด ๊ธฐ๋ฅ๋ค์ OC/H5์์ ๋ค์ ์์ฑํด์ผ ํ๋ฏ๋ก ๊ฐ๋ฐ์๋ค์๊ฒ๋ ์ ๋ชฝ์ ๋๋ค.
React Native๋ ๋ง์ง๋ง์ผ๋ก UIKit ์์ ๋ ๋๋ง๋๊ธฐ ๋๋ฌธ์ ์ฌ์ ํ Apple์ SAFE ํ๋ ์์ํฌ์ด์ง๋ง Flutter๋ ์์ ํ ๋ค๋ฆ
๋๋ค.
1, ์ฒซ์งธ, Apple์ ๊ฐ๋ฐ์ ์ํ๊ณ๋ฅผ ๊นจ๊ณ UIKit ํ๋ ์์ํฌ๋ฅผ ์ฐํํ๋ฉฐ Apple์ ํต์ ๋ฅผ ๋ฒ์ด๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด AppStore์ ์ ์ ๋ ๋ง์ MD ์คํ์ผ ์ฑ์ด ์์ ๊ฒ์ด๋ฉฐ ์ด๋ Apple์ ํด๋จผ ์ธํฐํ์ด์ค ๊ฐ์ด๋๋ผ์ธ์ ์๋ฐฐ๋ ์ ์์ต๋๋ค. Apple์ ํ๋ฅญํ ๋์์ธ์ผ๋ก ์ธํด ์ ๋ช
ํ ํ์ฌ์
๋๋ค.
2ใ๋์งธ, Flutter์์ ํซ ๋ฆฌ๋ก๋๋ฅผ ๊ณต์์ ์ผ๋ก ์ง์ํ๋ ๊ฒฝ์ฐ Apple์ ์ด ์ด์ ๋ฅผ ์ฌ์ฉํ์ฌ Flutter ์ฑ์ ์ง์ ๊ฑฐ๋ถํ ์ ์์ต๋๋ค.
๋ด ๊ด์ ์์ Flutter๋ AppStore Review Guideline์ ์๋ฐํ๋ ๋์ ์ค์ํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ ํฌ๋ก์ค ํ๋ซํผ ๋ชจ๋ฐ์ผ ํ๋ ์์ํฌ์ ์ค์ํฉ๋๋ค. Apple์ ์ํ๊ณ๋ฅผ ๊นจ๋ฉด ์ ๋ฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. Apple์ด Flutter๋ฅผ ๊ฑฐ๋ถํ๋ค๋ฉด Flutter์ ์ฃผ์ ์ด์ ์ ์ฌ๋ผ์ง ๊ฒ์ ๋๋ค.
CodePush๋ ์ด๋ ต๊ฑฐ๋ ์ ๋นํ ๊ธฐ์ ์ด ์๋๋๋ค. Apple์ ์ด๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค(ํนํ OC ๊ธฐ๋ฐ). Apple์ด ์ด๋ฅผ ํ์ฉํ์ง ์๋ ์ ์ผํ ์ด์ ๋ ์ต์ข ์ฌ์ฉ์์๊ฒ ์์ ํ์ง ์๊ณ ์ด๋ AppStore/Google Play๋ฅผ ์์ ํ ์์์ํค๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ง์ ์ฑ์ด ์ธ์ ์ด๋์๋ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ ์ ์๋ค๋ฉด ์ฌ์์ด๋ฉฐ, ์ฑ ๊ฒ์๊ฐ ํ์ฉ๋ ํ์๋ ์ด๋ฌํ ์ ํดํ ํ์๋ฅผ ์ถ์ ํ๊ณ ์ ํํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
CodePush๋ ๋จ์ํ ๊ธฐ์ ์ด ์๋๋ผ ๋ชจ๋ฐ์ผ ์ํ๊ณ์ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. Flutter ํ์์ ์ด๋ฌํ ๊ธฐ์ ์ ๊ณต์์ ์ผ๋ก ์ ๊ณตํด์๋ ์ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ผ๋ถ ๊ฐ๋ฐ์๊ฐ ๋น๊ณต๊ฐ๋ก ๊ตฌํํ๋๋ผ๋ ๋๋ฆฌ ์ฌ์ฉ๋์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๊ด์ฐฎ์ต๋๋ค.
@MaxZeng JsPatch ์ ๋ํด ์๊ฒ
์, ReactNative๋ ํ์ฌ ์ฝ๋ ํธ์์ ์์ธ์ด์ง๋ง Apple์ด ๊ณต์์ ์ผ๋ก ์ง์ํ๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ์ต๊ทผ ์ ํฌ ํ์ฌ ์ฑ์ RN๊ฐ์ ํ๋ ์์ํฌ๋ก ์ธํด AppStore์์ 3๋ฒ ์ด์ ๊ฑฐ์ ์ ๋นํ๊ณ ์ด ๊ธฐ๋ฅ๋ค์ OC/H5์์ ๋ค์ ์์ฑํด์ผ ํ๋ฏ๋ก ๊ฐ๋ฐ์๋ค์๊ฒ๋ ์ ๋ชฝ์ ๋๋ค.
React Native๋ ์ต์ข ์ ์ผ๋ก UIKit ์์ ๋ ๋๋ง๋๊ธฐ ๋๋ฌธ์ ์ฌ์ ํ Apple์ _SAFE_ ํ๋ ์์ํฌ์ด์ง๋ง Flutter๋ ์์ ํ ๋ค๋ฆ ๋๋ค.
1, ์ฒซ์งธ, Apple์ ๊ฐ๋ฐ์ ์ํ๊ณ๋ฅผ ๊นจ๊ณ UIKit ํ๋ ์์ํฌ๋ฅผ ์ฐํํ๋ฉฐ Apple์ ํต์ ๋ฅผ ๋ฒ์ด๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด AppStore์ ์ ์ ๋ ๋ง์ MD ์คํ์ผ ์ฑ์ด ์์ ๊ฒ์ด๋ฉฐ ์ด๋ Apple์ ํด๋จผ ์ธํฐํ์ด์ค ๊ฐ์ด๋๋ผ์ธ์ ์๋ฐฐ๋ ์ ์์ต๋๋ค. Apple์ ํ๋ฅญํ ๋์์ธ์ผ๋ก ์ธํด ์ ๋ช ํ ํ์ฌ์ ๋๋ค.
2ใ๋์งธ, Flutter์์ ํซ ๋ฆฌ๋ก๋๋ฅผ ๊ณต์์ ์ผ๋ก ์ง์ํ๋ ๊ฒฝ์ฐ Apple์ ์ด ์ด์ ๋ฅผ ์ฌ์ฉํ์ฌ Flutter ์ฑ์ ์ง์ ๊ฑฐ๋ถํ ์ ์์ต๋๋ค.๋ด ๊ด์ ์์ Flutter๋ AppStore Review Guideline์ ์๋ฐํ๋ ๋์ ์ค์ํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ ํฌ๋ก์ค ํ๋ซํผ ๋ชจ๋ฐ์ผ ํ๋ ์์ํฌ์ ์ค์ํฉ๋๋ค. Apple์ ์ํ๊ณ๋ฅผ ๊นจ๋ฉด ์ ๋ฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. Apple์ด Flutter๋ฅผ ๊ฑฐ๋ถํ๋ค๋ฉด Flutter์ ์ฃผ์ ์ด์ ์ ์ฌ๋ผ์ง ๊ฒ์ ๋๋ค.
CodePush๋ ์ด๋ ต๊ฑฐ๋ ์ ๋นํ ๊ธฐ์ ์ด ์๋๋๋ค. Apple์ ์ด๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค(ํนํ OC ๊ธฐ๋ฐ). Apple์ด ์ด๋ฅผ ํ์ฉํ์ง ์๋ ์ ์ผํ ์ด์ ๋ ์ต์ข ์ฌ์ฉ์์๊ฒ ์์ ํ์ง ์๊ณ ์ด๋ AppStore/Google Play๋ฅผ ์์ ํ ์์์ํค๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ง์ ์ฑ์ด ์ธ์ ์ด๋์๋ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ ์ ์๋ค๋ฉด ์ฌ์์ด๋ฉฐ, ์ฑ ๊ฒ์๊ฐ ํ์ฉ๋ ํ์๋ ์ด๋ฌํ ์ ํดํ ํ์๋ฅผ ์ถ์ ํ๊ณ ์ ํํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
CodePush๋ ๋จ์ํ ๊ธฐ์ ์ด ์๋๋ผ ๋ชจ๋ฐ์ผ ์ํ๊ณ์ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. Flutter ํ์์ ์ด๋ฌํ ๊ธฐ์ ์ ๊ณต์์ ์ผ๋ก ์ ๊ณตํด์๋ ์ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ผ๋ถ ๊ฐ๋ฐ์๊ฐ ๋น๊ณต๊ฐ๋ก ๊ตฌํํ๋๋ผ๋ ๋๋ฆฌ ์ฌ์ฉ๋์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๊ด์ฐฎ์ต๋๋ค.
๋งค์ฐ ํฅ๋ฏธ๋กญ๊ณ ์ด๋ค ๋ฉด์์๋ ํฉ๋ฆฌ์ ์ผ๋ก ๋ค๋ฆฌ์ง๋ง ๋ช ๊ฐ์ง ์ค์๋ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด Flutter(dart)๋ฅผ ๊ฑฐ๋ถํ๊ณ JS๋ฅผ ํฌ๊ธฐํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
JS๋ ์๋๋ฐ์ค์์ ์คํ๋๋ฏ๋ก ์์ ํฉ๋๋ค. (Safari์ ๋ก๋๋ ๋ชจ๋ ์น ํ์ด์ง์ฒ๋ผ)
Dart๋ ์ด์ง ์ฝ๋๋ก ์ปดํ์ผ๋๋ฉฐ ์ด๋ฌํ ์๋๋ฐ์ค์ ์ ์ฝ์ ๋ฐ์ง ์์ต๋๋ค.
์ ๋ ์๋
๊ฐ ์๋๋ก์ด๋ ๊ฐ๋ฐ์์
๋๋ค. ์ฝ๋ ํธ์๋ ๊ทธ๋ ๊ฒ ์ค์ํ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฝ๋ํธ์๊ฐ ์์ผ๋ฉด ๊ฐ๋ฐ์ด ์๋๋์? ๊ทธ๋ ๋ค๋ฉด ๊ทธ๊ฒ์ ๋๋ฌด ์ด๋ฆฌ์์ ๊ฒ์
๋๋ค.
Flutter๋ ๋ชจ๋ฐ์ผ์ฉ ํ๋ ์์ํฌ์ด๋ฏ๋ก ๋จผ์ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ ์ง์์ ๋ ๋ง์ด ๋ฐฐ์์ผ ํฉ๋๋ค.
์ฝ๋ ํธ์ ์์ด ์ ์ฒด ์
๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ด๊ณ ์ ๋์จ ๋๋ก: ๋ค๋ฆฌ๊ฐ ๋ํ๋๋ฉด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋์ญ์์ค.
๊ฐ๋ฐ์๋ก์ ๋์ผํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ค์ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
Flutter๋ React Native๊ฐ ์๋๋ฏ๋ก React Native(๋๋ ๋ค๋ฅธ ํ๋ ์์ํฌ)์ ๊ฒฝํ์ ์ฌ์ฉํ์ฌ Flutter๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๋ค๋ฅธ ๊ฒ์ ๋๋ค.
@MaxZeng ์๋ง๋ flutter๋ Android ์ ์ฉ ํซ ์ ๋ฐ์ดํธ๋ฅผ ํ์ฑํํ ์ ์์ต๋๋ค.
RN๊ณผ ๊ฐ์ ์ต์ ์ ๋ฐ์ดํธ๊ฐ ์์ผ๋ฉด Flutter๋ก ์ด๋ํ ์ ์์ต๋๋ค! ํ๋ ์์ํฌ๋ ๊ฐ๋ฐ์์ ์ถ์ ๋ ์ฝ๊ฒ ๋ง๋ค์ด์ฃผ์ด์ผ ํฉ๋๋ค!!
๊ธฐ๋ค๋ฆฌ๋ ๊ฝ์ด ๋ค ๋จ์ด์ก์ด์.
@MaxZeng ์๋ง๋ flutter๋ Android ์ ์ฉ ํซ ์ ๋ฐ์ดํธ๋ฅผ ํ์ฑํํ ์ ์์ต๋๋ค.
1ใ์ค์ ๋ก Google Play ์คํ ์ด์ ์ํ๊ณ๋ ์์์ํฌ ๊ฒ์ด๋ฉฐ, Android ํ์ด ์ฑ ๋์์ ์ ์ดํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค ๊ฒ์
๋๋ค.
2ใCodePush๋ ๋๋ถ๋ถ์ ์ฑ์ ํ์ํ์ง ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ์ผ๋ถ ๊ฐ๋ฐ์๊ฐ ์
์์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
3ใ๊ฐ๋ฐ์๊ฐ ํจ์น๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ํธํํ์ง ์์ผ๋ฉด ๋๊ท๋ชจ "์ค๊ฐ์ ๊ณต๊ฒฉ"์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์
์์ ์ธ ํด์ปค๋ ํธ์๋ ์ฝ๋๋ฅผ ์์ ํ์ฌ Flutter ์ฑ์ ํ์ด์ฌํนํ ์ ์์ต๋๋ค.
ํซํฝ์ค๋ ๋๋ถ๋ถ์ ์ค๊ตญ ํ์ฌ์์ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ์ ๋๋ค. 70% ์ด์์ ์ค๊ตญ Android ๊ธฐ๊ธฐ๋ Google Play๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
@act64 ํ์ธ https://github.com/flutter/flutter/wiki/Roadmap
@act64 ํ์ธ https://github.com/flutter/flutter/wiki/Roadmap
๋ก๋๋งต์๋ Android์ ๋ํ ํซํฝ์ค๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. iOS๊ฐ ๊ณง ์ง์๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@taibaiyinxing Flutter๋ Apples App-store์์ ํ์ฉํ์ง ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
@taibaiyinxing Flutter๋ Apples App-store์์ ํ์ฉํ์ง ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
@zoechi ์ฐ๋ฆฌ๋ ์ํฐํ๋ผ์ด์ฆ ์ฑ์ ์ฌ์ฉํ๋ฉฐ ์ฑ ์คํ ์ด์ ์ ๋ก๋ํ ํ์๊ฐ ์์ต๋๋ค.
Android์ ๋์ ํจ์น๋ฅผ ํตํด ์๋ฒ์์ ์ง์ Android์์ ์คํ๋๋ Flutter ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ๋ ์ฝ๋ ์ ๋ฐ์ดํธ๋ฅผ ํ์ฉํฉ๋๋ค.
๐
์ฌํด IOS ์์ CODE PUSH๋ฅผ ์ง์ํ ๊ณํ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
"์ฌ๊ธฐ์ ์๋ ๋ชฉ๋ก์ด ์์ ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๊ฑฐ๋ ์ฐ๋ฆฌ๊ฐ ์ด ๋ชจ๋ ์์ ์ ์๋ฃํ ๊ฒ์ด๋ผ๋ ์ฝ์์ผ๋ก ๋ณด์์๋ ์ ๋ฉ๋๋ค." :)
์ฝ๋ ํธ์ ์์ ์ ์์ง ํ ์คํธ ์ด๊ธฐ ๋จ๊ณ์ ๋๋ค. 2019๋ ์ ์ด๋ค ํ๋ซํผ์ ๋ฐฐํฌํ ์ง/๋ฐฐํฌํ์ง ์์์ง๋ ์์ง ๊ฒฐ์ ๋์ง ์์์ต๋๋ค. ์ด์ ๊ฒจ์ฐ 2์์ ๋๋ค. 10๊ฐ์์ ๊ธด ์๊ฐ์ ๋๋ค!
ํ์ฌ ์์ง๋์ด๋ค์ https://github.com/flutter/flutter/issues/14330#issuecomment -442274897์ ์ค๋ช
๋ @Hixie ์ 3๊ฐ์ง ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ง์ํ๊ธฐ ์ํด ํต์ฌ ๊ธฐ์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ง์คํ๊ณ ์์ต๋๋ค.
์์ผ๋ก ๋ช ๋ฌ ์์ ์ด๋ฌํ ์ฌ์ฉ ์ฌ๋ก ์ค ํ๋ ์ด์์ ๋ํด ์ ํ๋ ํ
์คํธ๋ฅผ ์์ํ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค.
์ ํฌ ํ๋ฌํฐ ๊ฐ๋ฐ ๊ธฐ์ ์ด ์์ง ๋ฏธ์ํ๊ธฐ ๋๋ฌธ์ ์ฑ์ ์์ฃผ ์ ๋ฐ์ดํธ๋๊ณ ๊ธด๊ธํ ์ ๋ฐ์ดํธ๊ฐ ๋ง์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ ์ฑ์ ์ฑ ์คํ ์ด๋ฅผ ์ ๋ก๋ํ ๊ณํ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด ๊ธฐ๋ฅ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด๊ฒ์ APP์ ๋ฐ๋ณต ์๋๋ฅผ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด APP ์กฐ๊ฐํ๋ก ์ธํด API๊ฐ ์ง์ฐ๋ฉ๋๋ค.
์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋์ํ ์ ์๋ค๊ณ ์๊ฐํ์ง๋ง, ์ด ๋ฌธ์ ์ ๋์ธ์ Google๊ณผ Apple(์คํ ์ด)์ด ๊ด๋ฆฌํ๋ ๋ฒฝ์ผ๋ก ๋๋ฌ์ธ์ธ ์ ์์ ํตํด ์ต์ข ์ฌ์ฉ์์๊ฒ ๋ชจ๋ฐ์ผ ์ฑ์ ์ ๊ณตํ๋ ๊ฒ์ด ์ฑ ๊ฐ๋ฐ์์๊ฒ ํฐ ๋ถํธ์ ๋ผ์น๋ค๋ ๊ฒ์ ๋๋ค. ์ข์/ํ์ ์ ์ธ ์ฑ์ ์ต์ข ์ฌ์ฉ์์ ๋ํ ์ด์ ํ ์๋น์ค), Apple์ด ๊ฐ์ฅ ๋ถํธํฉ๋๋ค(Google์ ๊ฒฝ์ฐ ๋ช ์๊ฐ์ด ์๋ Apple์ ๊ฒฝ์ฐ ๋ฉฐ์น ).
๋ถ์์ ์ผ๋ก ๊ฐ๋ฅํ ์๋ฃจ์ ์ ์์ ์ด '์ ๋ขฐํ ์ ์๋' ๊ฐ๋ฐ์(์: ํจ์คํธ ํธ๋ ์๋น์ค)๋ฅผ ์ํ ์ฆ๊ฐ์ ์ธ ์ ๋ฐ์ดํธ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ๋ ๊ฒฝ์ฐ์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ Google๊ณผ Apple์ ์ฑ์ ๋ํ ์ค์๊ฐ ๊ฐ์ฌ(์๋ํ, ... AI์ฒ๋ผ??... ํ์์ ๋ฐ๋ผ ์ฌํ ์๋ ๋กค๋ฐฑ ์ฌ์ฉ)๋ฅผ ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ์ ์ ์ธ ์ด์ ์ ๊ธฐํ ์ด์ ๋ก ๊ฐ๋ฅ์ฑ์ด ํฌ๋ฐํด ๋ณด์ ๋๋ค. ๋ฌผ๋ก ๋ ๋งค์ฅ ๋ชจ๋ ๋ฒ ํ ํ ์คํฐ์ ๋ํ ๋น ๋ฅธ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋ฐ๋ผ์... ์ด๋ฒ ํธ์ ๊ธฐ๋ฅ์ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ๋ชจ๋ฐ์ผ ์ฑ์ ์ต์ข ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ถํธ์ ์ํํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ฅผ ์๋ํํ๋ ๊ฒ์ ๋๋ค.
Flutter์ ๋ํด ์ด๋ฌํ ์ข
๋ฅ์ ์๋ํ๋ฅผ ์ํํ๋ ๋๊ตฌ์ ์๋ ๋ค์์ ์ฐธ์กฐํ์ธ์.
https://github.com/mmcc007/fledge
๊ธฐ๋ก์ ์ํด ์ฌ๊ธฐ์๋ ์ฝ๊ฒ ์๋ํํ ์ ์๋ ๋ง์ ์ผํ์ฑ ์ค์ ๋จ๊ณ์ ๋ํ ๋ฌธ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
https://mmcc007.github.io/fledge/
@charliezzo ์ด ๋๊ตฌ ๋๋ ์ด์ ์ ์ฌํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด Flutter ์ฑ(๋ฐ ์ ๋ฐ์ดํธ ๋ฑ)์ Android ๋ฐ ios ๋ฒ ํ ํ ์คํฐ์๊ฒ ๋ช ๋ถ ์์ ์ ๋ฌํ ์ ์์ต๋๋ค.
๋ํ ๋งค์ฅ์ ํตํด ์ต์ข ์ฌ์ฉ์์๊ฒ ์๋์ผ๋ก ๋ฐฐ์กํ๋ ์ํฌํ๋ก๊ฐ ์์ต๋๋ค(Google์ ๊ฒฝ์ฐ ์๊ฐ ์ด์, Apple์ ๊ฒฝ์ฐ ๋ฉฐ์น ์ด์ ๐๐).
@mmcc007
์ค ๊ฐ์ฌํฉ๋๋ค. ํ์ง๋ง ๋ด ์ฑ์ Google Play ๋ฐ ์ฑ ์คํ ์ด์ ํธ์ํ๊ณ ์ถ์ง ์๋ค๊ณ ๋งํฉ๋๋ค.
๋ด ์ฑ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํ๋งคํด์ผ ํฉ๋๋ค.
๋ด ์ฑ์ ์
๋ฐ์ดํธํ๊ธฐ ์ํด Google Play์ ์ฑ ์คํ ์ด๊ฐ ํ์ํ์ง ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ ์ฑ์ ์ค์นํ๊ณ ์์ํ ๋๋ง ๋ด ์ฑ์ ์
๋ฐ์ดํธํ๊ณ ์ถ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ , flutter๋ 60FPS ์ด์์ ํ๋ ์์ํฌ์ด๋ฉฐ ์จ๋ผ์ธ ๊ฒ์์ ๋ง๋ค ์ ์์ต๋๋ค. Google Play ๋ฐ ์ฑ ์คํ ์ด์์ ์ฝ๊ฐ์ ํจ์น๋ฅผ ์ํ์ง ์์ต๋๋ค.
๋น์ ์ ๊ตฌ๊ธ ํ๋ ์ด์ ์ฑ ์คํ ์ด์ ๋ชจ๋ ํจ์น๊ฐ ๋๋ฆฌ๊ณ ์ด๋ ต๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
์ฌ์ค ๋น์ ์ ์ฐ๋ฆฌ๊ฐ ์ค๊ตญ์์ ๊ตฌ๊ธ ํ๋ ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ์ฑ ์คํ ์ด๋ ๋งค์ฐ ๋๋ฆฝ๋๋ค.
์ค๊ตญ์๋ Google Play์ ๊ฐ์ ์ฑ ์คํ ์ด๊ฐ ๋ง์ด ์์ต๋๋ค. ๋ชจ๋ ์ฑ ์คํ ์ด์ ์
๋ฐ์ดํธ๋ฅผ ํธ์ํ ์๊ฐ์ด ์์ต๋๋ค.
์ฝ๋ ํธ์๋ Flutter์ ์ฃผ์ ๊ธฐ๋ฅ์ด์ด์ผ ํฉ๋๋ค. ๊ทธ๊ฒ์ ์์ ์ฌ๋ ค ๋์ผ์ญ์์ค.
Android์ app_flutters์ ์๋ ๋ชจ๋ ํ์ผ์ ๊ต์ฒดํ์ฌ ๋ง๋ค ์ ์์ต๋๋ค.
์๋ ํ์ธ์, ์ถ๊ฐ ๋ ผ์๋ฅผ ์ํด ์ด๋ฉ์ผ์ ์ฃผ์๊ฒ ์ต๋๊น๏ผ์ ํฌ ํ๋ ์ด ์๋ฃจ์ ์ ์ฐพ์์ง๋ง ์์ฉ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๊ณ ์ฑ์ ๋ค์ ์์ํด์ผ ํ ๋๋ง ์๋ํ ์ ์์ต๋๋คใtks @LNeway
์๋ ํ์ธ์, ์ถ๊ฐ ๋ ผ์๋ฅผ ์ํด ์ด๋ฉ์ผ์ ๋ณด๋ด ์ฃผ์๊ฒ ์ต๋๊น? ์ ํฌ ํ๋ ์ด ์๋ฃจ์ ์ ์ฐพ์์ง๋ง ์์ฉ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๊ณ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ค์ ์์ํด์ผ ํ ๋๋ง ์๋ํ ์ ์์ต๋๋ค. tks @LNeway
@KinsomyJS
ํ๋น์ฑ ๊ฒ์ฆ์ ์ํด ๋ฐ๋ชจ๋ ํด๋ดค์ต๋๋ค ใ ใ ใ ใ
๊ฐ๋จํ ์ค๋ํซ์ด๋ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ๋ก ๊ณต์ ํ๊ฑฐ๋ ์ฌ๊ธฐ์ ๋๊ธ์ ๋ฌ๊ฑฐ๋ ์ด๋ฉ์ผ์ cc [email protected] ์ ๋ณด๋ด์ฃผ์ธ์...
@LNeway @KinsomyJS ๋ ์ค ๋ ์์ธํ ๋ด์ฉ์ ์๋ ค์ฃผ์ค ์ ์์ต๋๊น?
๊ฐ์ฌ ํด์
@taibaiyinxing Flutter๋ Apples App-store์์ ํ์ฉํ์ง ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
@zoechi ๊ทํ ๋ฐ/๋๋ Flutter ํ์ด Flutter์์ ์คํ ๊ฐ๋ฅํ codepush ๊ธฐ์ ์ด React-native์์ ์คํ ๊ฐ๋ฅํ ๊ฒ๊ณผ ๊ทผ๋ณธ์ ์ผ๋ก ๋ค๋ฅด๊ณ ๊ธ์ง๋์ด ์๋ค๋ ๋ถ์์ด ์๋ค๋ ๋ง์์ด์ ๊ฐ์?
์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ฉด ๋ฒ ํ 1.0.0๋ ์ง์๋๋์?
@dahabdev
Ionic์ ๋ํ ์ ๊ฒฝํ์ ๋น์ถ์ด ๋ณผ ๋ "์ฝ๋ ํธ์"๊ฐ ๊ณผ๋ํ๊ฐ๋์๋ค๊ณ ์๊ฐํฉ๋๋ค. Flutter ํ์ด ๋ค๋ฅธ ๊ธฐ๋ณธ ํ์ ๊ธฐ๋ฅ์ด ์์ง ๋ง์ด ๋น ์ ธ ์๋ ๋์ ์ด ์์ ์ ๋๋ฌด ๋ง์ ์๊ฐ์ ํ ์ ํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
UAVForecast๋ฅผ ๊ฐ๋ฐํ ๋ Ionic์ ์ฌ์ฉํ๋๋ฐ ์ฑ์ ์ ์ฒด ์ฝํ ์ธ ๋ฅผ ์๊ฒฉ์ผ๋ก ์ ๋ฐ์ดํธํ ์ ์๋ "ionic deploy" ๊ธฐ๋ฅ์ ๋งค๋ฃ๋์์ต๋๋ค. ๋น์(2014๋ ) ์ ํ์ ์ฑ์คํ ์ด ์ฌ์ฌ์๊ฐ์ 2์ฃผ ์ ๋์๋ค. ๋๋ ๊ทธ๋ค์ด ๋งํ๋ ๊ฒ์ฒ๋ผ ๋น ๋ฅด๊ฒ ๋ฐ๋ณตํ๊ณ , ๋น ๋ฅด๊ฒ ์์ง์ด๊ณ , ๋ฌด์ธ๊ฐ๋ฅผ ๊นจ๊ณ ์ถ์์ต๋๋ค.
์ฒ์์๋ "์ด์จ ๋ฐฐํฌ"๊ฐ ํ๋ฅญํ์ง๋ง ๊ณง ๋ช ๊ฐ์ง ์ฃผ์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๊ฒ์ ๋ด ์ฌ์ฉ์๋ค์๊ฒ ํผ๋์ ์ผ๊ธฐํ์ต๋๋ค("์ฑ์ด ์์ฒด์ ์ผ๋ก ์ ๋ฐ์ดํธ๋์๋ค๊ณ ํ๋๋ฐ ์ Play ์คํ ์ด/์ฑ ์คํ ์ด์์ ๋ค๋ฅธ ์ ๋ฐ์ดํธ๊ฐ ๋ณด๋ฅ ์ค์ธ๊ฐ์?"); ์ฑ ๋ฉํ๋ฐ์ดํฐ(์: ๊ถํ)๊ฐ Cordova ํ๋ฌ๊ทธ์ธ์ ์ํด ์๋์ผ๋ก ๋ณ๊ฒฝ๋์์ง๋ง ํซ ์ฝ๋ ํธ์๋ก ์ ๋ฐ์ดํธ๋์ง ์์ ๊ฒฝ์ฐ์ ๊ฐ์ด ๋๋๋ก ์ฑ์ด ์ค๋จ๋์์ต๋๋ค. ๋ฒ์ ๋ฒํธ๋ฅผ ์ถ์ ํ๋ ๊ฒ์ ๊น๋ค๋ก์ ๊ณ ๋ด๊ฐ ์์ ์ ํธ์ํ ๊ฒ๊ณผ ๋๊ธฐํ๋์ง ์์ ๊ฒ์ ๋๋ค. ํญ์ ๋ฒ๊ทธ์์ ์ค์ค๋ก "์ด์จ ๋ฐฐํฌ"ํ ์ ์๊ธฐ ๋๋ฌธ์ ํ ์คํธ์ ๊ฒ์ผ๋ฅด๊ฒ ๋ง๋ค์์ต๋๋ค. ๋๋ก๋ ์ฑ ๊ฒํ ํ์ด ๋ณผ ๊ธฐํ๋ฅผ ์ฃผ์๋ค๋ฉด ๋ฐ๊ฒฌํ์ ์ ์๋ ๋ ๋์ ๋ฒ๊ทธ๋ฅผ ํธ์ํ๊ฒ ๋์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๋ฒ์ ์ ์ถ์ํ ์ง ์ฝ 1๋ ํ, App Store ๋ฆฌ๋ทฐ ์๊ฐ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค. ์ค๋๋ ์๋ ๋ฉฐ์น ๋ก ๋จ์ถ๋์์ผ๋ฉฐ ๋ฌผ๋ก Google Play ์คํ ์ด์์๋ ๋ช ์๊ฐ์ผ๋ก ๋จ์ถ๋ ์ ์์ต๋๋ค. ๋ด๊ฐ ๊ฒช์๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ๊ฐ์ํ ๋ ๋ด ์ฑ์์ "์ด์จ์ฑ ๋ฐฐํฌ" ๊ธฐ๋ฅ์ ์ ๊ฑฐํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ์ง๊ธ์ ์๋ฐฑ๋ง ๊ฑด์ ๋ค์ด๋ก๋๋ฅผ ์ง์ํ๋ฏ๋ก ๋ค๋์๋ณด์ง ์์์ต๋๋ค.
๋๋ Ionic์ ์ข์ํ๊ณ ๊ฐ๋ฐ์ Drifty๊ฐ ํ ๋ชจ๋ ๊ฒ์ ์ ๋ง ๊ฐ์ฌํ์ง๋ง(๊ฐ์ฌํฉ๋๋ค!), Drifty๊ฐ ์ฌ์ฉ์๋ฅผ ๋์ด๋ค์ด๋ ์ฝ๋ ํธ์์ ๊ฐ์ ํ๋ คํ ๊ธฐ๋ฅ์ ๋๋ฌด ๋ง์ ์๊ฐ์ ํฌ์ํ๋ ์ค์๋ฅผ ํ๊ณ ์ถฉ๋ถํ ์๊ฐ์ ํ๋ณดํ์ง ๋ชปํ๋ค๊ณ ์ฃผ์ฅํ๊ณ ์ถ์ต๋๋ค. ํ๋ ์์ํฌ์ ๋ํธ์ ๋ณผํธ๋ฅผ ์ ๊ฑฐํ์ฌ ๊ฒฐ๊ตญ์๋ ๋ฌธ์ ๋ฅผ ํผํ ์ ์์ต๋๋ค. ์ด์ ๋ค ๋ฒ์งธ ๋ฒ์ ์์ Ionic์ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ๋ฐฉ์์ผ๋ก ๋๋ฌด ๋ง์ด ๋ค์ ์์ฑ๋์ด ๋ฐ๋ผ๊ฐ๋ ๊ฒ์ ์ค๋จํ์ต๋๋ค. ์ต์ ๋ฒ์ ์๋ ์ฌ์ ํ ์ ๊ทธ๋ ์ด๋๋ฅผ ๋ฐฉํดํ๋ ๋ช ๊ฐ์ง ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ค๋ฃฉ ๊ฑฐ๋ฆฌ๋ค.
์ง๊ธ๊น์ง์ ๊ฒฝํ์ ํ๋ฅญํ๊ณ ๋ง์ ์ฌ๋ฏธ๋ฅผ ๋๋ผ๊ณ ์์ง๋ง Flutter, ํนํ ํ๋ฌ๊ทธ์ธ์์ ์ฌ์ ํ ๋ช ๊ฐ์ง ์ฃผ์ ๊ฒฉ์ฐจ์ ๋๋ฝ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด: ๋น๋ฐ๋ฒํธ ์๋ ์์ฑ๊ณผ ํ ์คํธ ํ๋ ํตํฉ์ด ์๊ณ , Google ์ง๋ ํ๋ฌ๊ทธ์ธ์ ๋ฒ ์ด๋ณธ(๋ฐ ๊ด๋ จ ํ๋ ์์ํฌ ๋ ๋๋ง ๋ฒ๊ทธ ์์)์ด๋ฉฐ, ๊ธฐ๋ณธ WebView๋ ์์ฐ ๋ก๋๋ฅผ ์ํด file:// URL์ ์ง์ํ์ง ์์ผ๋ฉฐ, ํญ ํ์์ค์ ์ง์ํ์ง ์์ต๋๋ค. ํฌ๋ช ๋ ๋๋ ๊ทธ๋ผ๋ฐ์ด์ ๋ฐฐ๊ฒฝ ์ง์, ํ ์ด๋ธ ์ ์ colspan์ ์ง์ํ์ง ์์, ThemeData๋ ์ ๋๋ฉ์ด์ ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ฑ๋ณ ์์์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค. ์ ์ผํ๊ฒ ์์ ํ ์๊ฐ๋๋ฅผ ์ธ์ํ๋ DateTime ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์๊ฐ ๋ฐ ์๊ฐ-์๊ฐ๋์ ๋ง์ ์ค์ํ ๊ธฐ๋ฅ์ด ๋ถ์กฑํฉ๋๋ค. ์ํ ๊ด๋ฆฌ์ ๋ํ ์ ๊ทผ ๋ฐฉ์์ด ๋๋ฌด ๋ง์์ ์ด๋ณด์์๊ฒ๋ ํผ๋์ค๋ฝ์ต๋๋ค. ์ด์ํ ์์ธ๋ฅผ ํผํ๊ธฐ ์ํด ์์ฃผ "ํ๋ฌํฐ ํด๋ฆฐ"ํด์ผ ํ๊ณ ํซ ์ค์์ด ์ ๋๋ก ์๋ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ ๊ณ์ํ ์ ์์ต๋๋ค.
์ ๋ ์ด ์ค _๋ชจ๋_๋ฅผ "์ฝ๋ ํธ์"๋ณด๋ค ๋ ์ค์ํ ๊ฒ์ผ๋ก ํ๊ฐํ ๊ฒ์ ๋๋ค. ํนํ Apple์ด Flutter ์ฑ์ ๊ฑฐ๋ถํ ์ํ์ด ์๋ ๊ฒฝ์ฐ, ๊ฒฐ๊ตญ ์ฑ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ์ต์ ํ๋ฅผ ๋ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์๋ ์ปดํ์ผ๋ฌ ํ๋ ์์ํฌ์ ๋ํ ์ฃผ์ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ(์ ๋ "์ฝ๋ ํธ์"๋ณด๋ค 5% ์ฑ๋ฅ ํฅ์) ๋๋ ํ๋ ์์ํฌ ๊ธฐ๋ฅ์ ์๋ฃํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
๋ฐ๋ฉด์ ์ผ๋ถ ๊ฐ๋ฐ์๋ ํนํ ๋งค์ฅ ์ธ๋ถ์์ ์ด์ํ๋ ๊ฒฝ์ฐ ์ํฉ์ ๋ฐ๋ผ ์ง์ ์ผ๋ก ํ์ํ ์ ์์ผ๋ฏ๋ก ์ฌ๊ธฐ์์ ์ด์ ์ ์ดํดํ ์ ์์ต๋๋ค.
@matthewlloyd ๋ง์ ์ข์ ์ !
์ฝ๋ ํธ์๋ฅผ ์ง์ํ ์ ์๋ค๋ฉด ์ผ๋ถ ์ฌ์ (json, xml...)์์ Flutter Widget์ผ๋ก ์์ฑํ Parser๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ์ด๊ฒ์ ๋ถ๊ฐ๋ฅํ๊ฑฐ๋ ์ข์ ์๊ฐ์ ๋๊น?
-- ์ด์ ๋ํด ์๊ฒฌ์ด ์๋ ์ฌ๋์ด ์์ต๋๊น?
https://pub.dartlang.org/packages/dynamic_widget
'์ค์ํ ๋ฒ๊ทธ'์ ๋ํ ๋๋ ค์์ ๋ค๋ฃจ์ง๋ ์์ง๋ง ์ ๋งํ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.
๊ทธ๊ฒ ๋ฏธ์น ๋ถ๋ถ์ ์ฝ๋ ํธ์๊ฐ ๋ฐฉ์์ ์ฝ๋ผ๋ฆฌ๋ผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๋น์ฆ๋์ค/ํ๋ก์ธ์ค ๋ฌธ์ ์ด์ ๊ธฐ์ ์ ์ธ ๋ฌธ์ ์ด๋ฉฐ ํ์ชฝ์ ๋ค๋ฅธ ์ชฝ์ ๋ฌด์ํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค...
๋น๋ฐ๋ฒํธ ์๋ ์์ฑ๊ณผ์ ํ ์คํธ ํ๋ ํตํฉ์ด ์๊ณ , Google ์ง๋ ํ๋ฌ๊ทธ์ธ์ด ๋ฒ ์ด๋ณธ(๊ด๋ จ ํ๋ ์์ํฌ ๋ ๋๋ง ๋ฒ๊ทธ๊ฐ ์์)์ด๋ฉฐ, ๊ธฐ๋ณธ WebView๊ฐ ์์ฐ ๋ก๋๋ฅผ ์ํ file:// URL์ ์ง์ํ์ง ์์ผ๋ฉฐ, ํญ ํ์์ค์ด ํฌ๋ช ๋๋ฅผ ์ง์ํ์ง ์๊ฑฐ๋ ๊ทธ๋ผ๋์ธํธ ๋ฐฐ๊ฒฝ, ํ ์ด๋ธ ์ ์ colspan์ ์ง์ํ์ง ์์ต๋๋ค. ThemeData๋ ์ ๋๋ฉ์ด์ ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ฑ๋ณ ์์์ผ๋ก ํ์ฅํ ์ ์์ต๋๋ค. ์ ์ผํ๊ฒ ์์ ํ ์๊ฐ๋๋ฅผ ์ธ์ํ๋ DateTime ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์๊ฐ ๋ฐ ์๊ฐ-์๊ฐ๋์ ๋ง์ ์ค์ํ ๊ธฐ๋ฅ์ด ๋ถ์กฑํฉ๋๋ค. ์ ๊ทผ ๋ฐฉ์์ด ๋๋ฌด ๋ง์ต๋๋ค. ์ํ ๊ด๋ฆฌ๋ ์ ์ด๋ฏผ์์๊ฒ ํผ๋์ค๋ฝ๊ณ ์ด์ํ ์์ธ๋ฅผ ํผํ๊ธฐ ์ํด ์์ฃผ "ํ๋ฌํฐ ์ฒญ์"ํด์ผํ๋ฉฐ ํซ ์ค์์ ์ข ์ข ์ ๋๋ก ์๋ํ์ง ์์ผ๋ฉฐ ๊ณ์ํ ์ ์์ต๋๋ค ...
์ด ๋ชจ๋ ๊ฒ์ด ์ด๋ฏธ Github ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค :D
์ด๊ฒ์ ์ด์ ์ 2019๋ ๋ก๋๋งต์ ์์์ต๋๋ค. ์ด์ ๋ํด ๋ ์์ธํ ์กฐ์ฌํ ๊ฒฐ๊ณผ, ์ง๊ธ์ ์ด ์์ ์ ์งํํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ด๋ฌํ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ฒ ๋ ๋ช ๊ฐ์ง ์์ธ์ด ์์ต๋๋ค.
Android ๋ฐ iOS์ ์คํ ์ด ์ ์ฑ ์ ๋ํ ์ดํด๋ฅผ ์ค์ํ๊ธฐ ์ํด ๋ชจ๋ ์๋ฃจ์ ์ Android์ JIT ์ฝ๋์ iOS์ ํด์๋ ์ฝ๋๋ก ์ ํ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ iOS์์ ์ด๋ฌํ ์๋ฃจ์ ์ ์ฑ๋ฅ ํน์ฑ์ด ์ฐ๋ฆฌ ์ ํ์ ์๊ตฌํ๋ ํ์ง์ ๋๋ฌํ ๊ฒ์ด๋ผ๊ณ ํ์ ํ์ง ๋ชปํฉ๋๋ค. (์ฆ, "๋๋ฌด ๋๋ฆฌ๋ค".)
๋ช ๊ฐ์ง ์ฌ๊ฐํ ๋ณด์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ํจ์น๋ ๋ณธ์ง์ ์ผ๋ก ์์์ ์ฝ๋ ์คํ์ ํ์ฉํ๋ฏ๋ก ๋งค์ฐ ๋งค๋ ฅ์ ์ธ ๋งฌ์จ์ด ๋ฒกํฐ๊ฐ ๋ ๊ฒ์ ๋๋ค. ์๋ ํจํค์ง์ ๋์ผํ ํค๋ฅผ ์ฌ์ฉํ์ฌ ํจ์น์ ์๋ช ํ๋๋ก ์๊ตฌํจ์ผ๋ก์จ ์ด๋ฅผ ์ํํ ์ ์์ง๋ง ์ด๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๊ณ ์ค์๋ ์ฌ๊ฐํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๊ทผ๋ณธ์ ์ผ๋ก ํ์ฌ ์์ค์ ์ฝ๋ ์คํ์ ํ์ฉํ๋ ํ๋ซํผ์ ๊ดด๋กญํ๋ ๋์ผํ ๋ฌธ์ ์ ๋๋ค. ์ด ๋ฌธ์ ๋ ํ๋ซํผ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ๊ณผ ํตํฉํ์ฌ ์ํํ ์ ์์ง๋ง ์ด๋ ๋์ญ ์ธ ํจ์น ๋ฉ์ปค๋์ฆ์ ๋ชฉ์ ์ ๋ฌดํจํํฉ๋๋ค.
ํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ ํจ์น๋ฅผ ์ํ ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์คํ ์์ค ํธ์คํ ์๋ฃจ์ ์ด ์์ผ๋ฏ๋ก ์น ์๋ฒ๋ฅผ ์ ์ ํ๊ฒ ๊ตฌ์ฑํ๋ ์ฌ๋๋ค์ ์์กดํด์ผ ํ๊ฑฐ๋ ๋ ์ ํ์ฌ ์๋น์ค์ ๋ํ ํตํฉ์ ์์ฑํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ ์์ ์ ๋ง์ถคํ ์๋ฃจ์ ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ํธ์คํ ํจ์น๋ ์ฐ๋ฆฌ๊ฐ ์ง์ ํ๊ณ ์ถ์ง ์์ ๊ณต๊ฐ์ ๋๋ค. ์ฌ๋๋ค์ด ์์ ์ ์๋ฒ๋ฅผ ๊ตฌ์ฑํ๊ฒ ํ๋ฉด ๋ณด์์ ๋ํ ์ด์ ์์ ์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ ์ ์ฌ์ ์ผ๋ก ์ฌ๊ฐํ ์๋ฏธ๋ฅผ ์ง๋ ์ค์๋ฅผ ์ ์ง๋ฅผ ์ ์์ต๋๋ค. ํ์ฌ ์๋น์ค์ ๋ฐ๋ผ Flutter๋ ์น์๋ฅผ ์ ํํด์ผ ํ๋ ๊ณค๋ํ ์์น์ ๋์ด๊ฒ ๋๋ฉฐ ์ด๋ฌํ ํ๋ก์ ํธ ์์ฒด๊ฐ ์ด ๊ธฐ๋ฅ์ ์ํฅ์ ๋ฏธ์น ์ ์ฑ ๋ณ๊ฒฝ์ ๋ง๋ค ์ํ์ ๋ ธ์ถ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ํ์ฌ ๋ค๋ฅธ ๋ฌธ์ ์ ์์ง๋์ด๋ง ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ด๋ ๊ฒ์ ์ ํธํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด ๋ถ์ผ์์ ๊ณ์ ์คํ์ ํ ๊ฒ์ผ๋ก ์์ํ๊ณ ์์ผ๋ก ์ด ๋ฌธ์ ์ ๋ํด ๋ค์ ์ง์งํ๊ฒ ์๊ฐํ ๊ฒ์ ๋๋ค(์: ๋ฐ์คํฌํฑ ์์ฉ ํ๋ก๊ทธ๋จ์ฉ ์ ๋ฐ์ดํธ ์๋ฃจ์ ์ด ํ์ํ ์ ์์). ํ์ง๋ง ์ฌํด๋ ์๋ ๊ฒ์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ค๋จํ ์ด์ ๋ฅผ ์ดํดํ์ง๋ง ์ฌ์ ํ ์ค๋ง์ค๋ฝ์ต๋๋ค. Play ์คํ ์ด์ App Store๋ ์ค์ํ ๊ณ ๋ ค ์ฌํญ์ด์ง๋ง ๋ชจ๋ ์ฑ์ด ์ด๋ฐ ๋ฐฉ์์ผ๋ก ๋ฐฐํฌ๋๋ ๊ฒ์ ์๋๋๋ค. ์ฌ์ฉ ์ฌ๋ก์ ๊ฒฝ์ฐ ๊ณ ๊ฐ์๊ฒ ๊ธฐ๊ธฐ์ ์ฑ์ด ์ฌ์ ์ค์น๋ ์ํ๋ก ์ ๊ณต๋ฉ๋๋ค. ์ฌ์ฉ์์๊ฒ ์ ๋ฐ์ดํธ๋ฅผ ๋์ ์ผ๋ก ํธ์ํ๋ ๋ฉ์ปค๋์ฆ์ ๊ฐ๋ ๊ฒ์ ์์ ์ ๊ฑฐ์น๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ค์ํ ๊ธฐ๋ฅ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋งค์ฐ ์ ์ฉํ์ ๊ฒ์ ๋๋ค. ๋ง์ํ์ ๋๋ก ์ถํ์ ์ฌ๊ฒํ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
ํ์ ๋ ผ๋ฆฌ๋ฅผ ํฌ๋ช ํ๊ฒ ์ ๋ฌํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
@eseidelGoogle Dart์์ ์ปดํ์ผ๋ JavaScript ์ฝ๋๊ฐ Skia๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง๋ฅผ ๋ ๋๋งํ ์ ์์ต๋๊น?
์ด๊ฒ์ ์๋นํ ์ค๋ง์ค๋ฝ์ต๋๋ค.
์ธ๊ธํ ๋ชจ๋ ๋ณด์ ๋ฐ ์ ์ฅ์ ๊ท์ ์ค์ ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ์ ํจํ๊ณ ํฉ๋ฒ์ ์ผ ์ ์์ง๋ง ํ๋ฃจ๊ฐ ๋๋๋ฉด ์ด๋ฏธ ์๋ ์ค์ธ "ํซ ์ ๋ฐ์ดํธ" ๊ธฐ์ ์ ์์ธ ์ฝ๋ ํธ์๊ฐ ์์ต๋๋ค.
React Native + ์ฝ๋ ํธ์ ์๋น์ค๋ ์ค์ ์ธ๊ณ์์ ์๋ํ๊ณ ์ ์ฆ๋์์ต๋๋ค. ํ ์คํธํ ์ ํฌ์ ๋๋ค. ๊ฐ์ ์ ๋ฐ์ดํธ์ ๋ํด์๋ ์ฑ์คํ ์ด์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ชจ๋๊ฐ "๊ด์ฐฎ์"์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋์ Flutter์ ์๋ฃจ์ ๋ ํ์ฉ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฑ๋ฅ ๋ฌธ์ ์ ๊ด๋ จํ์ฌ ๊ฐ๋ฐ์๊ฐ "์ ์ฑ๋ฅ" ๋ชจ๋์์ ์์ ํ๋๋ก ์ ํํ์ง๋ง ๋ผ์ด๋ธ ์ ๋ฐ์ดํธ๋ ํ์ฑํํ๋๋ก ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ข์ ์์ง์! ์ํ๊ณ๋ฅผ ์ง๋์น๊ฒ ๋ณต์กํ๊ฒ ๋ง๋ค๊ณ ์์์ํฌ ์ ์๋ ์ฝ๋ ํธ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ๋ณด๋ค Flutter๋ฅผ ์ต์ ํํ๋ ๋ฐ ์์ง๋์ด๋ง ๋ ธ๋ ฅ์ ์์ต๋๋ค.
์ ๋ ํ์ฌ ๊ณต๊ฐ ๋ฒ ํ ํ ์คํธ์์ Flutter๋ก ๊ฐ๋ฐ๋ ์ฒซ ๋ฒ์งธ ์ฑ์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ ์์ ์ฌํญ์ด ํฌํจ๋ ์ฝ 10๊ฐ์ ์ฑ ๋ฒ๋ค์ ํธ์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋ก๋์ ์ ๋ฆด๋ฆฌ์คํ ๋ ๋๋ถ๋ถ ์ค๋ฅ๊ฐ ์์ด์ผ ํฉ๋๋ค.
๊ทธ๋์ ์ด ๊ธฐ๋ฅ์ด ํ์ํ ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ธ๊ธฐ๋ง์ ์ธ 89์ ์์ ์ข์ ์ฑ๊ณผ๋ฅผ ๋ณด์ด๋ ์ด ํ ํจํค์ง OTA ์ ๋ฐ์ดํธ ๋ฅผ ์ฐพ์์ต๋๋ค. ๊ทธ ํจํค์ง๋ ์์ ํ๊ฐ์? URL์์ APK๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ถ์ ํ๊ณ Android์์ APK ์ค์น ์๋๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ด ์ ๋์ ์ผ๋ก ํ์ํ ์ฌ๋๋ค์ ํด๋น ํจํค์ง๋ฅผ ์ฌ์ฉํด ๋ณผ ์ ์์ต๋๋ค.
ํ์ง๋ง Flutter ํ์ด ์ด์ ๋ํด ๊ทธ๋ค์ง ๊ธฐ๋ปํ์ง ์๋ ์ด์ ๋ฅผ ์ ์ ์์ต๋๋ค. ๋ง์ผ์ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ์์ ํจํค์ง๋ฅผ ์ฌ์ฉํฉ์๋ค. URL์์ ๋ค์ด๋ก๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์น์ฌ์ดํธ๋ ๊ธฐ๋ณธ ์ฑ๋ณด๋ค ํญ์ ํด์ปค ์นํ์ ์ ๋๋ค. ํ์ฌ ๋ณด์ ๋ฌธ์ ๊ฐ ๋๋ฌด ๋ง์ต๋๋ค. ๊ทธ๊ฒ์ Flutter ์ฑ์ ์๊ฒฉํ๊ฒ ๊ธ์ง๋ ์น์ฌ์ดํธ๋งํผ ์ทจ์ฝํ๊ฒ ๋ง๋ญ๋๋ค.
๋ด๊ฐ ์์ํ ๋ 2GB RAM ๋จธ์ ์ด ์์๊ณ ํญ์ ์ํ๋ ๋๋ก Android ์ฑ์ ๊ฐ๋ฐํ๋ ค๊ณ ํ์ง๋ง ๋ด ๋จธ์ ์ด ์์ ์ ์ ํฉํ์ง ์์์ต๋๋ค. PhoneGap, Cordova, ์ผ๋ถ Intel ํ๋ ์์ํฌ, React-Native๋ฅผ ์ฌ์ฉํด ๋ณด์์ง๋ง ์คํ๋ ์์ํ์ง ์์์ต๋๋ค. Flutter๋ ๋ด๊ฐ ์ค์ ๋ก ์์ํ ์ ์ผํ ์ฌ๋์ด์๊ณ ์๋ฆ๋ค์ด UI์ ๊ฐ๋ฐ ๋๊ตฌ๋ก ์ด ๊ธฐ๋ฅ์ด ์์ด๋ ๋์๋ ์ ํ๋ณด๋ค ํจ์ฌ ์์ ์์ต๋๋ค.
๋ชจ๋ ์ ๋ฐ์ดํธ?
React-native๊ฐ Code Push๋ก ์ฐ๋ฆฌ๋ฅผ ๋ง์ณค๋ ์ดํ๋ก ์ฑ ๋ฆด๋ฆฌ์ค ์ํฌํ๋ก๋ ๊ฒฐ์ฝ ๋์ผํ์ง ์์ ๊ฒ์ ๋๋ค. Flutter๊ฐ ์ง์ํ์ง ์๋๋ค๋ ๊ฒ์ ์ ๋ง ์์น์ค๋ฌ์ด ์ผ์ ๋๋ค. Flutter๋ ๋ฉ์ง๊ฒ ๊ตฌ์ฑ๋๊ณ ์์ผ๋ฉฐ ์ด ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ๋ก ์ ํํ๋ค๋ฉด React Native์ ๊ฒฝ์์๊ฐ ๋์์ ์ ์์ต๋๋ค. ์์...
@Hixie ์๊ฒ ์ต๋๋ค. ๋ฐ๋ผ์ ๊ทผ๋ณธ์ ์ธ ์์ง๋์ด๋ง/๊ธฐ์ ์ ๋ณ๊ฒฝ์๋ ํ์ฌ๋ก์๋ ๋๋ฌด ๋ง์ ๋จ์ ์ด ์์ต๋๋ค.
๊ทธ๋ฌ๋ - ์ผ๋ถ ๋ฌธ์/ํ ๋ก ์ ์ป์ ์ ์๋ ๋ช ๊ฐ์ง ๋์ฒด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๋จ๊ธฐ ๋ฐ ์ค๊ธฐ์ ์ผ๋ก ํ๋ฌํฐ ๊ฐ๋ฐ์๋ฅผ ๋๋ ๊ฒ์ ๋ํด ์ด๋ป๊ฒ ์๊ฐํ์ญ๋๊น? '์น์ธ๋' ๋๋ ๊ณต์ ์๋ฃจ์ ์ ์๋์ง๋ง ์ฝ๊ฐ์ ๊ด์ฌ์ ๊ฐ์ง ์๋ ์์ต๋๋ค.
์
๋ด ์ ์ ๋ "์ฐ๋ฆฌ"๊ฐ flutter์ ๋ํ ๊ทผ๋ณธ์ ์ธ ์ํคํ ์ฒ ๋ณ๊ฒฝ ์์ด codepush์ ๋ํ ์ฐ๋ ค์ 70-90%๋ฅผ ์ถฉ์กฑํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์๋ฌด๋ ์ด๊ฒ์ ์ด๋ป๊ฒ ์๊ฐํฉ๋๊น?
Flutter์ code-as-ui ์ ๊ทผ ๋ฐฉ์์ Android ๊ฐ๋ฐ์๋ณด๋ค ์ด๊ฒ์ ๋ ์ฝ๊ฒ ๋ง๋ค ์๋ ์์ต๋๋ค....
์ ๋ ๊ฐ์ธ์ ์ผ๋ก ์ด๋ฐ ์ด์ ๋ก ํ๋ฌํฐ๋ณด๋ค ๋ค๋ฅธ ๋์ ์ ํํ ํ์ฌ๋ฅผ ๋ ๊ณณ ์ด์ ๋ณด์๊ณ ๋ค๋ฅธ ๋ง์ ํ์ฌ๋ ๋น์ทํ๊ฒ ๋งํ์ต๋๋ค.
์ด์ฉ๋ฉด ๋ํ๊ฐ ๊ฐ์ง๋ ๋ชฐ๋ผ
"์ฌ์ฉ์: codepush ์ง์์ ๊ฑด๋๋ฐ๊ณ ์์ต๋๊น?"
"Flutter ํ: ์-์ง๊ธ์ ์ด๋ฌํ ์ด์ ๋๋ฌธ์ (๋น์ ์ด ๊ทธ๋ฌ๋ ๊ฒ์ฒ๋ผ) ์ถ๊ฐ๋ก ์ผ๋ถ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด A ๋๋ B๋ฅผ ์๋ํ ์ ์์ต๋๋ค."
๊ธด ๋๊ธ ์ฃ์กํฉ๋๋ค
@neiljaywarner ์๋ง๋ LUA๋ ๋น์ ์ ์ํ ๊ฐ์น๊ฐ ์์ ๊ฒ์ ๋๋ค - ์๋ ์ Flutter ์ฑ์ ๊ธฐ๋ฅ์ ์์ฑ/์กฐ์ ํ๋ ๋ฐ LUA ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ ์ฆ๋ช ์ ํ์ต๋๋ค.
@neiljaywarner ์ ๋ ๊ทธ๋ฐ ์ข ๋ฅ์ ์ ๊ทผ ๋ฐฉ์์ ์ฐฌ์ฑํ์ง๋ง ์ด ๋ฒ๊ทธ๊ฐ ๋ค๋ฃจ๋ ๊ฒ๋ณด๋ค ์ง๊ต์ ์ธ ๋ฌธ์ ์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ํฌ๊ธฐํ ์ด์ ๋ฅผ ์ดํดํ์ง๋ง ์ฌ์ ํ ์ค๋ง์ค๋ฝ์ต๋๋ค. Play ์คํ ์ด์ App Store๋ ์ค์ํ ๊ณ ๋ ค ์ฌํญ์ด์ง๋ง ๋ชจ๋ ์ฑ์ด ์ด๋ฐ ๋ฐฉ์์ผ๋ก ๋ฐฐํฌ๋๋ ๊ฒ์ ์๋๋๋ค. ์ฌ์ฉ ์ฌ๋ก์ ๊ฒฝ์ฐ ๊ณ ๊ฐ์๊ฒ ์ฌ์ ์ค์น๋ ์ฅ์น ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์์๊ฒ ์ ๋ฐ์ดํธ๋ฅผ ๋์ ์ผ๋ก ํธ์ํ๋ ๋ฉ์ปค๋์ฆ์ ๊ฐ๋ ๊ฒ์ ์คํ ์ด๋ฅผ ๊ฑฐ์น๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ค์ํ ๊ธฐ๋ฅ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๋งค์ฐ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์์ผ๋ก ๋ง์ํ์ ๋๋ก ์ฌ๊ฒํ ํ์๊ธธ ๋ฐ๋๋๋ค.
ํ์ ํฉ๋ฆฌ์ฑ์ ํฌ๋ช ํ๊ฒ ์ ๋ฌํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋๋ ๋์ํ๋ค
์ฝ๋ ํธ์ ๊ธฐ๋ฅ์ ๋ ๋ง์ ์ฑ, ๋ ๋ง์ ํด๋ผ์ด์ธํธ, ๋ ๋ง์ ๊ฐ๋ฐ์, ๋ ๋ง์ ํ ์คํธ, ๋ ๋ง์ ๋ฒ๊ทธ ์์ , ๋ ์ ์ ๋ฌธ์ ๋ฅผ ์๋ฏธํฉ๋๋ค.
์ ์ ๊ธฐ์ ์ MVP ๋๋ ์ฑ์ฅํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์ ๋ฐ์ดํธ ๋๋ ๋ฒ๊ทธ ์์ ์ด ์ค์ํ์ง๋ง ์ฑ๋ฅ์ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ ์ค์ํฉ๋๋ค. ์ด๊ฒ์ Flutter ์ํ๊ณ์ ์ฐฌ๋ฐ ์๋ก ์ ์ผ๊ธฐํ ๊ฒ์ ๋๋ค. ์ฑํ ๊ฐ์, ์ ์ ๊ธฐ์ ๋ฐ ๊ฐ์ธ ๊ฐ๋ฐ์๋ ์ด๊ธฐ ๋จ๊ณ์ ์ปค๋ฎค๋ํฐ ์ฑ์ฅ์ ์ค์ํฉ๋๋ค. ์ฅ์ ์ ๋ ๋์ ์ฑ๋ฅ์ ๋ชฉํ๋ก ํ๋ Flutter๋ก ์ ํํ ๊ณ ํ์ง ์ฑ๊ณผ ํ์ด ๋ ์ ์์ต๋๊น?
@maplerichie , ๋์ํฉ๋๋ค. ๋ด๊ฐ flutter๋ฅผ ์ข์ํ๋ ์ด์ ๋ ๋ชจ๋ ์ฅ์น์ ๋ํ ๊ฐ๋ฐ์ ๊ฒฝํ, ์ฑ๋ฅ ๋ฐ ํฌ๋ก์ค ํ๋ซํผ์ ๋๋ค. code-push๊ฐ ๊ตฌํ๋์ง ์์๋ ์๊ด์์ต๋๋ค(์๋ง๋). ์ํ๊ณ์ ๋ช ์ฑ๊ณผ ์ธ๊ธฐ๋ฅผ ์ํด์์ ๋๋ค. ์ด์ Windows ์ฑ์ ์ฌ์ฉํ ๋ ์ฝ๋ ํธ์๊ฐ ๋๋ฌด ๋๋ฆฐ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ์ด์ ๋ฅผ ์์์ต๋๋ค. (๋๋ฆฐ ์์, ์ ๋ ฅ ์ง์ฐ ๋ฐ ๋๋ฆฐ ์ ๋๋ฉ์ด์ ) ์ฌ๊ธฐ
์ฐ๋ฆฌ๋ ์ด ๊ธฐ๋ฅ์ด ๋งค์ฐ ํ์ํฉ๋๋ค
์ต์ ์
๋ฐ์ดํธ๊ฐ ํ์ํฉ๋๋ค
์์ ์ธ๊ธํ๋ฏ์ด ๋๊ธฐ์ ๊ณผ ๋๊ท๋ชจ ๊ฐ๋ฐ ํ์ ์ต์ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ์ง ์์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ ์์, ๋ชจ๋ฐ์ผ ์ฑ์์ ์์ ํ๋ ๋ ๋ช ์ ๊ฐ๋ฐ์๊ฐ ๋น ๋ฅธ ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ๋ก ํ๋ก๋์ ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๊ณ ์๊ฐํด ๋ณด์ญ์์ค. ํ ์คํธ ๋ฐ QA ์ฃผ๊ธฐ๋ฅผ ์ํ ์๊ฐ์ด ์์ต๋๋ค. ์ ๊ธฐ๋ฅ์ ๋ง๋ค๊ณ ์๋ํ๋์ง ์ฌ์ฉ์๊ฐ ์ข์ํ๋์ง ํ์ธํ๊ณ ๊ต์ฒดํ๊ฑฐ๋ ์์ ํ์ญ์์ค. ์ต์ ์ ๋ฐ์ดํธ ์์ด๋ ๋๋ฌํ ์ ์์ต๋๋ค. ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ ์ํ ์ง์ ํ ๊ฒ์ ์ฒด์ธ์ ์ ๋๋ค.
@yaronlevi ์ ๋ "์์ ์คํํธ์ "์ ๋๋ค. ๋ชจ๋ฐ์ผ ์ฑ์์ ์์ ํ๋ ๊ฐ๋ฐ์ ๋ช ๋ช ๋ ๋์ง ์๋ ์ ์ ๋๋ค. ๋น ๋ฅธ ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ๋ก ํ๋ก๋์ ์ ์ ๋ฌํฉ๋๋ค. Google Play ์คํ ์ด์์ ๋ช ์๊ฐ ๋ง์ ์ ๋ฐ์ดํธ๋ฅผ ์ ๊ณตํ๊ณ Apple App Store์์ ์ ๋ฐ์ดํธ๋ฅผ ๊ฒํ ํ๋ ์์ฆ ๋ด ๊ฒฝํ์ผ๋ก๋ ๊ฑฐ์ ํญ์ 24์๊ฐ ๋ฏธ๋ง์ด๋ฏ๋ก ์ฝ๋ ํธ์๊ฐ ํ์ํ์ง ์์ต๋๋ค. Flutter์ ์ฝ๋ ํธ์๊ฐ ์์๋ค๋ฉด ์ ๋ ์ ๊ทน์ ์ผ๋ก ๋ด ์ฑ์์ ๋นํ์ฑํ๋์๋์ง ํ์ธํ๋ ์กฐ์น๋ฅผ ์ทจํ์ ๊ฒ์ ๋๋ค.
์ ๋ ํ์ฌ ์๊ท๋ชจ ํ์ฌ์ ๋ชจ๋ฐ์ผ ์ฑ(๋ฐ ๋งค์นญ ๋ฐฑ์๋)์ ์ ์ผํ ๊ฐ๋ฐ์์ ๋๋ค. ์ ๋ Flutter๋ฅผ ์ ๋ง ์ข์ํ์ง๋ง ๋จ์ ํ ์คํธ๋ ์๋ํ ํ ์คํธ์ ํ์์ฑ์ ์ดํดํ์ง ๋ชปํ๋ ํด๋ผ์ด์ธํธ์๊ฒ 10๋จ์ด๋ก ์ค๋ช ํ ์ ์๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ ์ ๊ทธ๋ ๊ฒ ์ค๋ ๊ฑธ๋ฆฌ๋์ง ๊ณ์ ์ค๋ช ํด์ผ ํฉ๋๋ค. ๋๋ ๋ฐ์ฏค ๊ตฌ์ด ๊ฒ์ ๋ฆด๋ฆฌ์คํด์ผํ๊ณ ์ค์ํ ๋ฒ๊ทธ ์์ ์ ๋นจ๋ฆฌ ํธ์ ํ ์ ์๋ค๋ ๊ฒ์ด ์ฝ๊ฐ ๊ฑฑ์ ๋ฉ๋๋ค. ๋น์ฅ์ ํ์ง ์๊ฒ ์ง๋ง ์ฝ๋ ํธ์๊ฐ ์์ผ๋ฉด ์ ๋ง ์ข์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ์ ์ ์ธ ๋ฌธ์ ์ ๋ณด์ ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ ์์ผ๋ฉฐ ๊ฒฐ๊ตญ ์ ์คํ ์ ๊ทผ ๋ฐฉ์์ ์ง์งํฉ๋๋ค.
์ํผ ๊ฐ์ฌํฉ๋๋ค.
์ฐ๋ฆฌ ์ค์ค๋ก ํด๊ฒฐํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ ๋ง ์ค๋ง์ ๋๋ค :)
์น SDK์ฉ Flutter ๊ฐ ๊ณง ๋ชจ๋ฐ์ผ SDK์ ๋ณํฉ๋ฉ๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ชจ๋ฐ์ผ WebView๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฌํฐ ์ฝ๋๋ฅผ ๋ก๋ํ๋ ๊ฒ์ ๋๋ค. ๐
@matthewlloyd ์๋ ํ์ธ์, ํซ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํด์ผ ํฉ๋๋ค. ์์ ์ ๊ฒํ ํ ์๊ฐ์ด ์๋๋๋ค. ์ฌ์ฉ์๋ AppStore์ ์ฐ๊ฒฐ๋์ด ์ฑ์ ๋ค์ ๋ค์ด๋ก๋ํด์ผ ํฉ๋๋ค.
์ฝ๋ ํธ์๊ฐ ์๋ ๊ฒ๊ณผ ๊ด๋ จํ์ฌ ๊ธด๊ธํ ๋ฌธ์ ๋ ๋ณ๋ก ์์ต๋๋ค. ๊ฑฐ์ ๋ชจ๋ ์ฌ์ฉ์๋ ์ฑ ์คํ ์ด์์ ์๋ ์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง App Store ์์ด ์ ๋ฐ์ดํธ๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํ ๋์ฒด ์๋ฃจ์ ์ ์ ๊ณตํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
MXFlutter๋ JavaScript๋ฅผ ์ฌ์ฉํ์ฌ Flutter์ ๋ ๋๋ง ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ Flutter ๊ตฌ๋ฌธ์ ์ง์ํ๋ฉฐ ์ฝ๋ ํธ์ ๋ฐ ํซ ์
๋ฐ์ดํธ๋ฅผ ์ง์ํฉ๋๋ค.
https://github.com/TGIF-iMatrix/MXFlutter
@TGIF-iMatrix ์ด ์๋ฃจ์ ์ด Store์ ์ ํต ์ ์ฑ ์ ์ค์ํ๋์ง ์๊ณ ์์ต๋๊น?
@truongsinh
js ๋ฐฐํฌ -> ๋ค์ดํฐ๋ธ ํ์ -> ์์ ฏ ์์ฑ ๋ฐฉ์์ด๋ฏ๋ก ์์ ํฉ๋๋ค.
์ฝ๋ ํธ์๋ฅผ ์ง์ํ๋ ๊ฒฝ์ฐ ํ๋ฌํฐ ์ฌ์ฉ์ ๊ณ ๋ คํ ๊ฒ์ ๋๋ค.
@TGIF-iMatrix Javascript Core ์ ๋ฐ์ดํธ์ ๋ํ ๋ฉด์ ๊ฐ App Store ๊ณ์ฝ์์ ์ญ์ ๋์๊ณ ๋ง์ CodePush ์ฌ์ฉ์๊ฐ ํด๋น ๊ธฐ๋ฅ์ผ๋ก ์ธํด ๊ฒฝ๊ณ /๊ฑฐ๋ถ๋์๊ธฐ ๋๋ฌธ์ Apple์์ ์ด๋ฅผ ์น์ธํ์ง ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
"sever-dictated-rendering" ๋ "code push"๋ผ๋ ์ง๋ฌธ์ ๋ฐ๊ฟ์ผ ํ ์๋ ์์ต๋๋ค. "sever-dictated-rendering"์ ๋ค๋ฅธ UI/๋ ์ด์์/ํ ๋ง์ ๊ดํ ๊ฒ์ด๋ฉฐ, code-push๋ ๋ํ ๋ ผ๋ฆฌ, ๊ถํ, ํ๋ฌ๊ทธ์ธ ๋ฑ์ ๋ณ๊ฒฝ์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฌ๋ ๊ทธ ์์ ์์ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ ๊ทธ๋ ๊ฒ ํ ์ ์์ผ๋ฏ๋ก ์ด๊ฒ์ ์ด ๋ฌธ์ ์ ๋ชฉ์ ์ ๋ค์ ๋ฌดํจํํฉ๋๋ค.
๋๊ตฌ๋ ์ง Tencent github repo์์ ์ ๊ณตํ๋ flutter๋ก tinker-lib๋ฅผ ์๋ํ์ต๋๊น? ๊ด์ฌ ์๋ ์ฌ๋์ด ๋น์ ๊ณผ ํ๋ ฅํ ์ ์๋ค๋ฉด ์ ๋ฐ์ดํธ๋ฅผ ํธ์ํ ์ ์์์ง๋ง Flutter์์ ์ํ๋์ด์ผ ํ๋ ์ ์ฝ๋๋ฅผ ๋ก๋ํ๋ ค๋ฉด ์ฝ๊ฐ์ ์์ ์ด ํ์ํฉ๋๋ค. ํญ์๋ฆฌ ์ํฐํฉํธ ํ์ผ
ํ๋ฃจ๋นจ๋ฆฌ ํด๊ฒฐ์ฑ ์ด ๋์ค๊ธธ ๋ฐ๋๋๋ค
์ฝ๋ ํธ์ ๊ตฌํ์ ์ฑ๋ฅ ์ํฅ๊ณผ ๊ด๋ จํ์ฌ Dart ์ฝ๋๋ฅผ WebAssembly๋ก ์ปดํ์ผํ๋ ๊ฒ์ด ๋์์ด ๋ ๊น์? ์ด๋ ๊ฒ ํ๋ฉด JavaScript ์๋๋ฐ์ค ๋ด์์ iOS์์ JIT ์ปดํ์ผ์ ๊ตฌํํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋น ๋ฅธ ๋ฐ๋ณต๊ณผ ๋ฏผ์ฒฉํ ๊ฐ๋ฐ์ด ํ์ํฉ๋๋ค.
์ต์ ์
๋ฐ์ดํธ๊ฐ ์์ผ๋ฉด Flutter๋ ํญ์ ๋ฐ์ ๋ค์ดํฐ๋ธ์ ๋จ๋์์
๋๋ค.
ํซ ์ ๋ฐ์ดํธ๋ ์ฐ๋ฆฌ์๊ฒ ๋งค์ฐ ์ค์ํฉ๋๋ค. ํ๋ฌํฐ๊ฐ ํซ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํ๋ค๋ฉด ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ํ๋ฌํฐ๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
์ฝ๋ ํธ์๋ฅผ ์ํ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๊ณํํ์ง๋ง ์๊ฐ ์ ์ฝ์ผ๋ก ์ธํด ์ง๋ ์ฃผ 11์ ๋๋ 12์๋ถํฐ ์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์์ง ์ฝ๋๋ ํ๋ ์์ํฌ ์ฝ๋ ๋๋ tinker lib์ ๊ฐ์ Java ์ฝ๋๋ฅผ ์์ ํ์ง ์์ผ๋ฏ๋ก ์๋ฐํ์ง ์์ต๋๋ค. ๋ชจ๋ ์์ ์กฐ๊ฑด, ์ถ๋ ฅ ์ฑ๋ ot์ด๋ฏ๋ก ์ฑ๋ฅ ํ๊ท๊ฐ ์์ต๋๋ค. ์ฝ๋ ๊ธฐ๋ฐ ํ๋ฌํฐ ํ์ ๋ํ ๋ด ์ฐ๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋๊ตฌ๋ ์์ ์ ์ฑ์ ํ๋ฌ๊ทธ์ธํ ์ ์๋๋ก ์ฝ๊ฒ ๊ตฌํํ๋ ค๊ณ ํฉ๋๋ค. ํ์ ์๋์ ์ผ๋ก ์ฝ๋ ํธ์๋ฅผ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์์ต๋๋ค. ํ์ฌ ๊ตฌํ์ผ๋ก ๋ชจ๋ ๊ฐ๋ฅ์ฑ์ ์๋ํ๊ณ ์์ง์ ์์ ํ๊ฑฐ๋ ์์ง์ ์์ ํ์ง ์๊ณ ์๋ฃจ์ ์ ์ค๋นํด์ผ ํ๋ ๊ฐ๋ฅํ ๋ฐฉ๋ฒ๋ง ๊ฒฐ๋ก ์ง์์ต๋๋ค. ์ ๋ ๋ ๋ฒ์งธ ์ต์ ์ผ๋ก ์ด๋ํ์ฌ ํ๋ก์ ํธ์ ํ์ํ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ๊ณํํ์ต๋๋ค. ํ๋ก์ ํธ๊ฐ ์ฑ๊ณตํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ ์ฌ์ด์ flutter ํ์ด ๋ฌธ์ ๋ฅผ ์ฌํ๊ฐํ๋ค๋ฉด ์ฐ๋ฆฌ ๋ชจ๋๋ ๋ด์ฅ๋ ๊ตฌํ์ ๋ง์กฑํฉ๋๋ค.
ํซ ์ ๋ฐ์ดํธ๋ ํญ์ ํ์ํฉ๋๋ค!
์ด๊ฒ์ ํ์ ๊ธฐ๋ฅ์ด๋ฉฐ ์ค์ํ ๊ธฐ๋ฅ์ ๋๋ค.
์ฝ๋ ํธ์๋ฅผ ์ํ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๊ณํํ์ง๋ง ์๊ฐ ์ ์ฝ์ผ๋ก ์ธํด ์ง๋ ์ฃผ 11์ ๋๋ 12์๋ถํฐ ์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์์ง ์ฝ๋๋ ํ๋ ์์ํฌ ์ฝ๋ ๋๋ tinker lib์ ๊ฐ์ Java ์ฝ๋๋ฅผ ์์ ํ์ง ์์ผ๋ฏ๋ก ์๋ฐํ์ง ์์ต๋๋ค. ๋ชจ๋ ์์ ์กฐ๊ฑด, ์ถ๋ ฅ ์ฑ๋ ot์ด๋ฏ๋ก ์ฑ๋ฅ ํ๊ท๊ฐ ์์ต๋๋ค. ์ฝ๋ ๊ธฐ๋ฐ ํ๋ฌํฐ ํ์ ๋ํ ๋ด ์ฐ๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋๊ตฌ๋ ์์ ์ ์ฑ์ ํ๋ฌ๊ทธ์ธํ ์ ์๋๋ก ์ฝ๊ฒ ๊ตฌํํ๋ ค๊ณ ํฉ๋๋ค. ํ์ ์๋์ ์ผ๋ก ์ฝ๋ ํธ์๋ฅผ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์์ต๋๋ค. ํ์ฌ ๊ตฌํ์ผ๋ก ๋ชจ๋ ๊ฐ๋ฅ์ฑ์ ์๋ํ๊ณ ์์ง์ ์์ ํ๊ฑฐ๋ ์์ง์ ์์ ํ์ง ์๊ณ ์๋ฃจ์ ์ ์ค๋นํด์ผ ํ๋ ๊ฐ๋ฅํ ๋ฐฉ๋ฒ๋ง ๊ฒฐ๋ก ์ง์์ต๋๋ค. ์ ๋ ๋ ๋ฒ์งธ ์ต์ ์ผ๋ก ์ด๋ํ์ฌ ํ๋ก์ ํธ์ ํ์ํ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ๊ณํํ์ต๋๋ค. ํ๋ก์ ํธ๊ฐ ์ฑ๊ณตํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ ์ฌ์ด์ flutter ํ์ด ๋ฌธ์ ๋ฅผ ์ฌํ๊ฐํ๋ค๋ฉด ์ฐ๋ฆฌ ๋ชจ๋๋ ๋ด์ฅ๋ ๊ตฌํ์ ๋ง์กฑํฉ๋๋ค.
์ฝ๋ ํธ์๋ฅผ ์ํ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๊ณํํ์ง๋ง ์๊ฐ ์ ์ฝ์ผ๋ก ์ธํด ์ง๋ ์ฃผ 11์ ๋๋ 12์๋ถํฐ ์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์์ง ์ฝ๋๋ ํ๋ ์์ํฌ ์ฝ๋ ๋๋ tinker lib์ ๊ฐ์ Java ์ฝ๋๋ฅผ ์์ ํ์ง ์์ผ๋ฏ๋ก ์๋ฐํ์ง ์์ต๋๋ค. ๋ชจ๋ ์์ ์กฐ๊ฑด, ์ถ๋ ฅ ์ฑ๋ ot์ด๋ฏ๋ก ์ฑ๋ฅ ํ๊ท๊ฐ ์์ต๋๋ค. ์ฝ๋ ๊ธฐ๋ฐ ํ๋ฌํฐ ํ์ ๋ํ ๋ด ์ฐ๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋๊ตฌ๋ ์์ ์ ์ฑ์ ํ๋ฌ๊ทธ์ธํ ์ ์๋๋ก ์ฝ๊ฒ ๊ตฌํํ๋ ค๊ณ ํฉ๋๋ค. ํ์ ์๋์ ์ผ๋ก ์ฝ๋ ํธ์๋ฅผ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์์ต๋๋ค. ํ์ฌ ๊ตฌํ์ผ๋ก ๋ชจ๋ ๊ฐ๋ฅ์ฑ์ ์๋ํ๊ณ ์์ง์ ์์ ํ๊ฑฐ๋ ์์ง์ ์์ ํ์ง ์๊ณ ์๋ฃจ์ ์ ์ค๋นํด์ผ ํ๋ ๊ฐ๋ฅํ ๋ฐฉ๋ฒ๋ง ๊ฒฐ๋ก ์ง์์ต๋๋ค. ์ ๋ ๋ ๋ฒ์งธ ์ต์ ์ผ๋ก ์ด๋ํ์ฌ ํ๋ก์ ํธ์ ํ์ํ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ๊ณํํ์ต๋๋ค. ํ๋ก์ ํธ๊ฐ ์ฑ๊ณตํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ ์ฌ์ด์ flutter ํ์ด ๋ฌธ์ ๋ฅผ ์ฌํ๊ฐํ๋ค๋ฉด ์ฐ๋ฆฌ ๋ชจ๋๋ ๋ด์ฅ๋ ๊ตฌํ์ ๋ง์กฑํฉ๋๋ค.
์๋
ํ์ธ์ @canewsin
๋๋ ๋ํ ํ๋ฌํฐ ์์ง์ ์์ ํ์ง ์๊ณ ๋์ผํ ์์
์ ์๋ํ์ต๋๋ค. AOT ๋ชจ๋์์ ์์ง์ Android์ ๊ธฐ๋ณธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒฝ๋ก์์ .so ํ์ผ์ ์ฐพ๊ณ ์์ฉ ํ๋ก๊ทธ๋จ ์ปดํ์ผ์ด JVM์ ์ํด ์ ํ ๋ ํ ๊ฑฐ๊ธฐ์ ํ์ผ์ ์์ /์ถ๊ฐํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฌด์ ์ผ๋ก ๋ค์ด๋ก๋ํ .so ํ์ผ์ ๋ก๋ํ๋ ๊ฒ์ ๊ธฐ๋ณธ lib ๊ฒฝ๋ก์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๊ทํ์ ๋ ๋ง์ ํต์ฐฐ๋ ฅ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ๐
๋คํธ ์ฝ๋์ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ๋ชจ๋ ์
๋ฐ์ดํธํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋คํธ์ฝ๋๋ง ์์ผ๋ฉด OK!
์ด๋ด, ๋๋ ์ง๊ธ ์ด๊ฒ์ด ํ์ํ๋ค. Goodle์ ๊ฒํ ์ ์ฑ ์ ์๊ฒฉํ๊ฒ ์ ์ฉํ์ต๋๋ค. ์ฐ๋ฆฌ ์ฑ์ ์ง๊ธ ์ ๋ฐ์ดํธํ๋ ๋ฐ 2์ฃผ๊ฐ ๊ฑธ๋ฆฝ๋๋ค... ์ฐ๋ฆฌ์ ๋ฆฐ ๋ฐฉ๋ฒ๋ก ์ ์ด๊ฒ์ผ๋ก ์๋ง์ด ๋ฉ๋๋ค.
@NEELANSHSETHI ์ฌ๊ธฐ์ ๊ณํ์ ๊ฒ์ํ ์ ์์ต๋๊น? ๊ตฌํ์ ์์ํ ์ ์์ต๋๋ค.
@almeynman ์งํ ์ํฉ์ ์๋ ค์ฃผ์ธ์ :)
@HerrNiklasRaab ๊ตฌํ ๋ฐฉ๋ฒ์ ๋ํ ๋ช ํํ ๊ทธ๋ฆผ์ด ์๊ธฐ ๋๋ฌธ์ ์์ง ์์ํ์ง ์์์ต๋๋ค. ๋๊ตฌ๋ ์ง ์์ด๋์ด๊ฐ ์์ผ๋ฉด ์๊ฐ์ ๊ณต์ ํ์ญ์์ค
์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๋ฐ์ ๋ค์ดํฐ๋ธ์์ ํ๋ฌํฐ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ์ง ์์ ์ฃผ๋ ์ด์ ์ ๋๋ค. :(
๐
ReactNative๋ ์ด ๊ธฐ๋ฅ์ผ๋ก ์ธํด Flutter๋ณด๋ค ํจ์ฌ ์์ ์์ผ๋ฉฐ ํธ์ ์ฝ๋ ๊ธฐ๋ฅ๊ณผ ๋น๊ตํ์ฌ ํ๊ฒฝ(RN ๋๋ Flutter) ์ ํ์ด ๋์ฝ๋ฉ๋ ํ๋ก์ ํธ๋ฅผ ๋ง์ด ํ์ต๋๋ค! ์์์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค :/
์๋ ํ์ธ์, ์ ๊ฐ ์ผ์ ์์ํ๋ค๊ณ ๋งํ๋ฏ์ด ๋ฒ์จ 11์์ด ๋์์ต๋๋ค. ์์กฐ๋กญ๊ฒ ์งํ๋๊ณ ์์ต๋๋ค. ๋น๊ณต๊ฐ ํ๋ก์ ํธ์ด๋ฏ๋ก ๋ผ์ด์ผ์ค ํค๋ฅผ ์ฒญ๊ตฌํ์ฌ ์ฌ์ฉํ๊ฒ ์ต๋๋ค. ๊ทธ๋์ ๋ฌด๋ฃ๊ฐ ์๋๋๋ค. ์์ ์์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ํด์ผ ํฉ๋๋ค. ๊ด์ฌ์ด ์์ผ์๋ฉด ์์ ์ ๋ํ ํ์ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์ํด ํ๋ก์ฐํ์ญ์์ค. ํ์ ๋ผ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค๋ฉด ์ฌ๋ฌ๋ถ์๊ฒ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค.
@eseidelGoogle
๋น์ฆ๋์ค ์ฌ๋ก:
ํ๋ธ๋ฆฟ์ ๋ฒ์ค ์ถ์ ์ฑ์ด ์์ง๋ง ํ๋ธ๋ฆฟ์ด Wi-Fi๊ฐ ์๋ ์ธํฐ๋ท ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ณ ๊ฐ์ด ํ ๋ฌ์ 1๋ฒ ์
๋ฐ์ดํธํฉ๋๋ค.
์ฝ๋ ํธ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋๋ฌด ๋ง์ด ์๋นํ์ง ์๊ณ ์
๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์ฝ๋ ํธ์๋ฅผ ์ง์ํ๋ ์ฝ๋ฅด๋๋ฐ ์ฑ์ด ์์ต๋๋ค. ์ฑ์ ์ค์๋ก ํ๋ํํ ๋ ์ฐ๋ฆฌ๋ Flutter๊ฐ "์ด์จ๋ " ์ฝ๋ ํธ์ ์ง์์ ์ถ๊ฐํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ฌ Flutter๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ๊ฐ๋ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฝ๋ ํธ์ ์๋ ์ถ์ ์ฐ๋ฆฌ์๊ฒ ์ง๋ 1๋ ๋์ ์์ ํ ๋์ฐํ์ต๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ง์นจ๋ด (๊ทธ๋ฆฌ๊ณ ํ๋ณตํ๊ฒ) ์ฝ๋ ํธ์ ์ง์์ ๋ค์ ๋ฐ๊ธฐ ์ํด ๋ฐ์ ๋ค์ดํฐ๋ธ์์ ์ฑ์ (์ฌ)๋ค์ ์์ฑํ๋ ๊ณผ์ ์ ์์ต๋๋ค.
์ฝ๋ ํธ์, ๊ทธ๊ฒ์ด ๋ด๊ฐ ์ง๊ธ React-Native๋ฅผ ๋ฐฐ์ฐ๋ ์ด์ ์ ๋๋ค.
๋ด ๊ตฌํ์ ๊ด์ฌ์ด ์๋ค๋ฉด
์ฌ๊ธฐ์์ ์งํ ๋ณด๊ณ ์๋ฅผ ๋ฐ๋ฅด์ญ์์ค
https://github.com/canewsin/flutter-code-push-timeline
๊ณ์ํ๊ธฐ ์ ์ ์์ ๋ชจ๋ ์๊ฒฌ์ ์ฝ์ผ์ญ์์ค.
์ฝ๋ ํธ์, ์ด๊ฒ์ด ๋ด๊ฐ ์ฌ์ ํ React-Native๋ฅผ ์ ์งํ๋ ์ด์ ์ ๋๋ค.
๊ฑด์ค์ ์ด์ง ์์ ๊ฒ์๋ฌผ, +1, "์ด๊ฒ์ด ํ์ํฉ๋๋ค", "๋์ X๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค" ๋ฑ์ ๊ฒ์ํ์ง ๋ง์ธ์. ์ด๋ ๊ฑด์ค์ ์ด์ง ์๊ณ ํ ๋ก ์ ๊ธฐ์ฌํ์ง๋ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฒซ ๋ฒ์งธ ๊ฒ์๋ฌผ์์ ์ข์์( ๐ ) ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ด ํ ๋ก ์ ๊ฒ์ํ ๋ชจ๋ ์ฌ๋์ด ์ด์ ๋ํด ์๋ฆผ์ ๋ฐ์ง ์๊ณ ํจ์ฌ ๋ ๋์ ์ํฅ์ ๋ฏธ์น ๊ฒ์ ๋๋ค. (๋ด๊ฐ ์๋ ํ, flutter ํ์ ์ผ๋ถ ๊ตฌ์ฑ์์ ์์๊ฑฐ๋ฉ๋๋ค. ํฐ ์ค๋ ๋์ด๋ฏ๋ก ์ฌ๊ธฐ์ ๊ฒ์ํ๋ ๊ฒ์ ์ถ์ฒ๋ณด๋ค ํจ๊ณผ๊ฐ ์ ์ต๋๋ค.
๋ํ ์ฌ๊ธฐ ๊ตฌ๋
ํ๋ ๋ชจ๋ ์ฌ๋๋ค์๊ฒ github์ ์ค๋ ๋ ์ค๋ฅธ์ชฝ ์๋จ์ unsubscribe
๋ฒํผ์ด ์์์ ์๊ธฐ์ํค๊ณ ์ถ์ต๋๋ค.
๋ํ Flutter ํ์ ์ถ์ฒ ํ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์ ์ ์ฐ์ ์์๋ฅผ ์ง์ ํ๋ฏ๋ก ํด๋น ์นด์ดํฐ๋ฅผ ๋๊ฒ ์ค์ ํ๋ฉด ํฐ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ "๊ตฌ๋ "์ ํด๋ฆญํ๋ฉด ์ถฉ๋ถํฉ๋๋ค.
๋ด๊ฐ ๋งก์ ์ฝ๋ ํธ์ ํ๋ก์ ํธ๋ ์ ์งํ๋๊ณ ์์ง๋ง ์ฝ๋ ํธ์ ์๊ตฌ ์ฌํญ์ ๋ช ๊ฐ์ง ์๋ฅผ ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฝ๋ ํธ์๊ฐ ์๋ฃ๋๋ฉด ์ด๋ป๊ฒ ์ฌ์ฉํฉ๋๊น? ๊ณ ์ ํ ์๊ตฌ ์ฌํญ์ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ๋ฌธ์ ๋ก ๊ฒ์ํฉ๋๋ค. https://github.com/ canewsin/flutter-code-push-timeline์ ์ฌ์ฉ ํ์ฌ ๊ฐ๋ฐ์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์งํ๋๋๋ก ํฉ๋๋ค.
์ง๊ธ๊น์ง ์ฐพ์ ์ ํ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ธฐ๋ณธ ํ๋ซํผ์ ์ก์ธ์คํ ์ ์์ง๋ง ffi ๊ธฐ๋ฅ์ ํตํด ์ํํ ์ ์์ต๋๋ค.
codepush ์ฝ๋๋ ์ผ๋ถ ๋ณด์ ๋ฌธ์ ๋ฅผ ์ํด ์๋๋ฐ์ค์์ ์คํ๋๋ฏ๋ก ์ฅ์น์ ํด๋ฅผ ๋ผ์น ์ ์์ต๋๋ค.
์๋ ํ์ธ์, ์ ๊ฐ ์ผ์ ์์ํ๋ค๊ณ ๋งํ๋ฏ์ด ๋ฒ์จ 11์์ด ๋์์ต๋๋ค. ์์กฐ๋กญ๊ฒ ์งํ๋๊ณ ์์ต๋๋ค. ๋น๊ณต๊ฐ ํ๋ก์ ํธ์ด๋ฏ๋ก ๋ผ์ด์ผ์ค ํค๋ฅผ ์ฒญ๊ตฌํ์ฌ ์ฌ์ฉํ๊ฒ ์ต๋๋ค. ๊ทธ๋์ ๋ฌด๋ฃ๊ฐ ์๋๋๋ค. ์์ ์์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ํด์ผ ํฉ๋๋ค. ๊ด์ฌ์ด ์์ผ์๋ฉด ์์ ์ ๋ํ ํ์ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์ํด ํ๋ก์ฐํ์ญ์์ค. ํ์ ๋ผ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค๋ฉด ์ฌ๋ฌ๋ถ์๊ฒ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋งค์ฐ ํฅ๋ฏธ๋ก์ด!
์๋
ํ์ธ์, ์์ง ์์ ๊ฐ ์์ต๋๊น? ๊ทธ๋ฆฌ๊ณ iOS ์น์
์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? Apple์ ์ด ๋ถ์ผ์์ ๋งค์ฐ ์๊ฒฉํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ฐ์ฌ ํด์
์๋ ํ์ธ์, ์ ๊ฐ ์ผ์ ์์ํ๋ค๊ณ ๋งํ๋ฏ์ด ๋ฒ์จ 11์์ด ๋์์ต๋๋ค. ์์กฐ๋กญ๊ฒ ์งํ๋๊ณ ์์ต๋๋ค. ๋น๊ณต๊ฐ ํ๋ก์ ํธ์ด๋ฏ๋ก ๋ผ์ด์ผ์ค ํค๋ฅผ ์ฒญ๊ตฌํ์ฌ ์ฌ์ฉํ๊ฒ ์ต๋๋ค. ๊ทธ๋์ ๋ฌด๋ฃ๊ฐ ์๋๋๋ค. ์์ ์์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ํด์ผ ํฉ๋๋ค. ๊ด์ฌ์ด ์์ผ์๋ฉด ์์ ์ ๋ํ ํ์ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์ํด ํ๋ก์ฐํ์ญ์์ค. ํ์ ๋ผ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค๋ฉด ์ฌ๋ฌ๋ถ์๊ฒ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋งค์ฐ ํฅ๋ฏธ๋ก์ด!
์๋ ํ์ธ์, ์์ง ์์ ๊ฐ ์์ต๋๊น? ๊ทธ๋ฆฌ๊ณ iOS ์น์ ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น? Apple์ ์ด ๋ถ์ผ์์ ๋งค์ฐ ์๊ฒฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฐ์ฌ ํด์
ํ์ฌ ์๋๋ก์ด๋ ์ชฝ์์ ์์ ํ๊ณ ์์ง๋ง ios ์ชฝ์ ๋ฐ์ํ js ์ฑ์ ์๋๋ฐ์ค ๋ฒ์ ๊ณผ ์ ์ฌํ์ง๋ง ํ๋ซํผ API์ ์ก์ธ์คํ์ง ์๊ณ ์๋๋ฐ์ค์์ ์ฝ๋๊ฐ ์คํ๋๋ฏ๋ก ios ์ชฝ์์ ์ค๋น๋ ๋ ๋ฌธ์ ๊ฐ ๋์ง ์์ ์ ์์ต๋๋ค.
์๋
ํ์ธ์ @eseidelGoogle
์
๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ํ์๋ผ์ธ?
์๋
ํ์ธ์ @eseidelGoogle
์
๋ฐ์ดํธ๊ฐ ์์ต๋๊น? 12์์
๋๋ค 2019๋
์ ์ถ์๋๋ ๊ธฐ๋ฅ์ธ๊ฐ์?
์ด ๋ฌธ์ ์ ๋ํด AMA ์ฃผ์ ์ ์ง๋ฌธํ์ต๋๋ค. ์ ์ฉํ ์ ๋ณด๊ฐ ์์ ์ ์์ต๋๋ค.
https://www.reddit.com/r/FlutterDev/comments/d51o4w/were_the_flutter_team_at_google_ask_us_anything/f0ium5w?utm_source=share&utm_medium=web2x
@Hixie Reddit์์ ๊ทํ์ ๊ธฐ์ฌ๋ฅผ ์ฝ์์ต๋๋ค.
https://www.reddit.com/r/FlutterDev/comments/d51o4w/were_the_flutter_team_at_google_ask_us_anything/f0ium5w/?utm_source=share&utm_medium=web2
Google Play์์ ab "Android App Bundle"๋ก ๊ฒ์ํ๊ฑฐ๋ ๋ค์ดํฐ๋ธ ์ฝ๋ ์ ์ฉ์ผ๋ก ๊ฒ์ํ๋ฉด Flutter ์ฑ ์ ๋ฐ์ดํธ์ ํฌ๊ธฐ๊ฐ ์์์ง๋์ง ๊ถ๊ธํฉ๋๋ค.
์ด๋ ์ํฐํ๋ผ์ด์ฆ ๋น๋(์: ์น ํฌํธ์ ํตํด ์คํ ์ด ์ธ๋ถ์ ๋ฐฐํฌ๋๋ ์ฑ)์ ์ค์ํ ๊ธฐ๋ฅ์ ๋๋ค.
๋งค์ฐ ํ์ํ ๊ธฐ๋ฅ์ ๋๋ค. ์ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๊ณต์์ ์ผ๋ก ๊ฐ์ง ์ ์์ต๋๊น? ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ๋ชปํ๋๋ก ๋ง๋ ๊ฒ์ ๋ฌด์์ ๋๊น?
์ด๊ฒ์ 2020 ๋ก๋๋งต์ ์์ต๋๊น?
์๋์
2020๋ , ๊ทธ๋ฆฌ๊ณ ์์ง ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค
๋ค์์ ์ดํด๋ฅผ ์ํด ์๋ก ์คํฌ๋กคํ๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ์ ๋ํ ๊ฐ๋ตํ ์์ฝ์ ๋๋ค.
์ด ์๊ฒฌ์์ ์ง์ ํ๋ฏ์ด ์ธ ๊ฐ์ง ํฐ ๊ณผ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฒซ ๋ฒ์งธ, _๋ฌด์์ด_ ํธ์๋๋์ง๋ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๊ฐ ์๋ ์์น์ ๋๋ค. Apple์ ๊ฒํ ์ง์นจ ์ ๋ชจ๋ ์ข ๋ฅ์ ์ฝ๋ ํธ์๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค . ์, ์ฌ์ฉ๋ ์ฉ์ด๋ _์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ํธ์๋ ํฌํจํฉ๋๋ค._ Apple์ ์ด์ ๋ํด ์กฐ์น๋ฅผ ์ทจํ์ง ์์ ๊ฒ ๊ฐ์ผ๋ฉฐ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๊ฐ ์์ ์ ์์ง๋ง ์ฌ๊ธฐ์ ๊ฒ์๋ ๋ชจ๋ ์ด์ ๋ ์์ํ ์ถ์ธก์ผ ์ ์์ต๋๋ค.
Google์ ์์ฒด ํ๋ ์ด ์คํ ์ด ๊ฐ์ด๋๋ผ์ธ๋ ์ปดํ์ผ๋ ์ฝ๋ ๋ค์ด๋ก๋๋ฅผ ๊ธ์งํฉ๋๋ค. _์คํ ๊ฐ๋ฅํ ์ฝ๋_๋ฅผ ๋ค์ด๋ก๋ํ ์ ์๋ค๊ณ ๋ช ์๋์ด ์์ง๋ง "dex ํ์ผ ๋๋ ๋ค์ดํฐ๋ธ ์ฝ๋"๋ผ๊ณ ๋ช ์๋์ด ์์ผ๋ฏ๋ก ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์์ ํ ์ ์์ผ๋ฉฐ ์์ dart ์์ค๋ ๋ ์ ์์ต๋๋ค.
Flutter๋ ์ ์ด๋ ๋ฆด๋ฆฌ์ค ๋ชจ๋์์ ์ปดํ์ผ ๋๋ฉฐ, ๋์ง ์๋๋ผ๋ javascript๊ฐ ์๋๋ฏ๋ก "JIT ์์" ์๊ตฌ ์ฌํญ์ ์๋ฐํ๊ฑฐ๋ ๋งค์ฐ ๋๋ฆฌ์ง ์๊ณ ๋ iOS์์ ํด์๋ ์ ์์ต๋๋ค.
๋ ๋ฒ์งธ๋ ์ฌ์ฉ์์๊ฒ _์์ ํ_ ๊ฒ์ ๋๋ค. ์ด๋ ํ์ธ๋์ง ์์ ๋์ ์ฝ๋ ๋ค์ด๋ก๋๋ฅผ ํ์ฉํ์ง ์๋ ์คํ ์ด ๋ ผ๋ฆฌ ์ด๋ฉด์ ๊ฑฐ์ ๋ชจ๋ ๊ทผ๊ฑฐ์ ๋๋ค. ๋๊ตฌ๋ ์ง ์ด๋์์๋ ๋ค์ด๋ก๋ํ ์ ์๋๋ก ํ์ฉํ๊ณ _๊ทธ๋ฅ ์คํํ๋ ๊ฒ์ ์ฌ์ฉ์๋ฅผ ์ํ์ ๋น ๋จ๋ฆฝ๋๋ค. ์ฝ๋ ํธ์์ ๋ํ JavascriptCore์ ํน์ ๊ถํ์ด โโ๊ฐ์กฐ ํ์๋ ์๋๋ฐ์ค ๋ด์์๋ ์ฌ์ ํ ์์ ํ์ง ์์ต๋๋ค.
์ฝ๋ ํธ์๋ ์ค ์๋ชป ์๋ ์์ฉ ํ์ฉํ๋ ํ์ธ ํ๋ก์ธ์ค๊ฐ ๊ฑธ๋ ธ์ ๊ฒ ์ ๋๋ค.
๋น์ ์ ์ธ์์์ ๊ฐ์ฅ ์ข์ ์๋๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ํญ์ ๋น์ ์ ๋ฐฑ์คํญํ ๋๊ตฐ๊ฐ๊ฐ ์์ ๊ฒ์ ๋๋ค.
์ง๊ธ์ Android์์ ํ๋ ์ด ์คํ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌํ์ง ์๋ ๊ฒฝ์ฐ APK๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉ์์๊ฒ ์ค์นํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํ๋ ๋ค์ด๋ก๋๋ฅผ ๋น๋ํ๋ฉด ๋ฉ๋๋ค. iOS์์๋ ๋ง์ ๊ณ ํต ์์ด๋ ์ฌ์ด๋๋ก๋๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ ์ ์์ผ๋ฉฐ JB๋ ์ฅ์น๋ ์ฑ ์คํ ์ด์ ์ ํ ์ฌํญ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค.
์ด์ iOS๋ Android ์ด์ธ์ ๋ค๋ฅธ ํ๋ซํผ์์๋ ๊ตฌํํ ์ ์์ต๋๊น? ํ์ ํ๋! ๊ทธ๋ฌ๋ ๋ฐ์คํฌํฑ์ ์์ง ๋ฒ ํ ๋ฒ์ ์ด ์๋๋ฉฐ(๊ฒ๋ค๊ฐ ๋ฐ์คํฌํฑ์์ ์ง์ ์๋ ์ ๋ฐ์ดํธ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์๋ ์์) ์น์์๋ ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
์ง๊ธ, ํ์ ๋ชจ์ต์ ๋ณด๊ณ ์ถ๋ค๋ฉด ์ฒซ ๋ฒ์งธ ํฌ์คํธ๋ก ์ด๋ ํ์ฌ ๐๋ฅผ ์ถ๊ฐํด์ฃผ์ธ์.
๊ทํ์ ์๊ฒฌ์ด ์๋ ๋ชฉ๋ก์ ํด๋นํ๋ ๊ฒฝ์ฐ ๊ฒ์ ๋ฅผ ๋ค์ ๊ณ ๋ คํ์ญ์์ค.
์ด ๋ฌธ์ ๋ ์ด๋ฏธ ์ถฉ๋ถํ ์๊ฒฌ ์ถฉ์ ํ, ๊ทธ๋์ ๋ํ์ ์๋ฌด๊ฒ๋ ์ถ๊ฐํ์ง ์ฃผ์์ ์ถ๊ฐํ์ง ๋ง์ญ์์ค. ํ์์ ํ ๋ง์ด ์์ผ๋ฉด ์ฌ๊ธฐ์ ๊ฒ์ํ ๊ฒ์ ๋๋ค. ์ด ๊ฒ์๋ฌผ์๋ ํ์ฌ ๊ฑฐ์ 100๋ช ์ ์ฐธ๊ฐ์๊ฐ ์๊ณ 500๊ฐ๊ฐ ๋๋ ์์ง์๊ฐ๋ฝ์ด ์์ผ๋ฏ๋ก ๋ฌด์ํ ์ ์์ต๋๋ค.
์์งํ ๋งํด์ ๋๋ ์ด๊ฒ์ด ๋น์ ์ ๊ด์ฌ์ฌ๊ฐ ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ์์ ์ ์ฑ ์ํ์ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค. Apple์ด ๊ฐ์๊ธฐ ์ฝ๋ ํธ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ฑ์ ๊ธ์งํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ฉด ์ฑ์ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ JavaScript์์๋ ๋ฐ์ํ์ง ์์ต๋๋ค. ๋ช ๋ ๋์ ๊ทธ๋ฐ ์ผ์ด ์ผ์ด๋์ง ์์๋๋ฐ, ์ Flutter์ ์ด๋ฐ ์ผ์ด ์ผ์ด๋์ผ ํฉ๋๊น? ํ์ธ์กฐ์ฐจ ํ ์ ์์ต๋๋ค. ์ฌ๋๋ค์ ์ด ๊ธฐ๋ฅ์ด ์ ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด ๊ธฐ๋ฅ์ ์๊ตฌํ๊ณ ์์ต๋๋ค. ์์ ๋ชจ๋์ ์์ฑํ๊ณ ๋์ ์ผ๋ก ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค. ๊ฒ์ ์ฒด์ธ์ ์ ๋๋ค. ๋ชจ๋์ ๋ฒ๊ทธ๋ฅผ ์ฆ์์์ ์์ ํ ์ ์์ต๋๋ค. ๋ํ Apple์ ์ฑ์ด ์ํํ๋ ์์ ์ ์ค์ ๋ก ํ์ธํ ์ ์์ผ๋ฉฐ ๋ฆฌ์์ค๊ฐ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋ถ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค. ๋๋ ๋น์ ์ด ๊ทธ๊ฒ์ ๊นจ๋ซ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ฒ๋ค๊ฐ ์์ ์ ๋ฌด์์ ๋๊น? REST ํธ์ถ์ ๊ฒฐ๊ณผ๋ก ํน์ JSON์ ์ ๊ณตํ ๋ ํธ๋ฆฌ๊ฑฐ๋๋ ๋ชจํธํ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฑ๋์ด๋ฅผ ์ฝ์ ํ ์ ์์ต๋๋ค. Apple์ ์ด๋ฅผ ์ด๋ป๊ฒ ํ์ธํ ์ ์์ต๋๊น? ๊ทธ๊ฒ์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ง๊ธฐ ์ํด Apple์ด๋ Android๊ฐ ํ ์ ์๋ ์ผ์ ์์ต๋๋ค. ์ฌ๋๋ค์ ์ด ๊ธฐ๋ฅ์ ํ์๋ก ํ๋ฉฐ ์ด๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. ๊ทธ๊ฒ์ผ๋ก ์ฐ๋ฆฌ๊ฐ ํ๋ ์ผ์ ๋น์ ์ ๊ฒ์ด ์๋๋ผ ์ฐ๋ฆฌ์ ์ผ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์๋ 500๋ช ์ด ๋๋ ์ถ์ฒ๊ณผ 100๋ช ์ด ๋๋ ์ฐธ๊ฐ์๊ฐ ์์ต๋๋ค. ์ปค๋ฎค๋ํฐ ์์ฒญ์ ๋ฐ๋ผ ๊ตฌํํด์ผ ํ ๋์ผ ์ ์์ต๋๋ค.
@dedalozzo ์์ฃผ ์ ์ ํ ์ฃผ์ฅ์ ๋๋ค!
์ ๋ flutter ํ์ ์ผ์์ด ์๋๋ฏ๋ก ๊ตฌํ์ ์์ฒญํ๊ธฐ ์ํด ์ ๋ฅผ ๋์์ผ๋ก ์ผ์ง ๋ง์ญ์์ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ Apple๊ณผ Google์ด ์ด๋ฅผ ๊ฐ์งํ ์ ์๋ ๋ฆฌ์์ค๊ฐ ์๋ ๊ฒ์ ์ฌ์ค์ ๋๋ค(Play Protect ํ์ด ํญ์ ํ์ฑํ๋์ด ์์ผ๋ฉฐ ์ํํ ํ๋์ ์๋์ผ๋ก ๊ฐ์งํ ์ ์์ ). ๊ทธ๋ฌ๋ "๋ค์์" ๊ตฌํํ๋ฉด ์ด์ Apple์ ์ค์ ์ด์ ๊ฐ ์์ต๋๋ค. Flutter์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ช ์์ ์ผ๋ก ์ ์ฑ ์ ์๋ฐฐ๋๋ ๋๊ตฌ๊ฐ _ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ ๋ฉด ๊ธ์ง๋ฅผ ์ ์ฉํฉ๋๋ค.
๋ํ ์ค๋ฆฌ์ ์ง๋ฌธ(์งํ์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์ฑ์ ์ถ๊ฐ ์ํ์ ์ถ๊ฐํ๊ณ ์คํ ์ด ์ ์ฑ ์ ์ด๊ธ๋๋ ๊ฒ์ ๊ตฌํํด์ผ ํฉ๋๊น?)์ ์ผ๋ถ๋ก ํ๋ ์์ ์ง์ ํ ์ ์์ต๋๋ค. ๋๊ท๋ชจ " ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ฑ/ํ๋ ์ด ์คํ ์ด์์ ๊ธ์ง๋ ์ ์์ต๋๋ค. " ์ ์์ ์ฌ์ฉ์๋ ์๋ง๋ ํผํ๊ณ ์ถ์ดํ ๊ฒ์ด๊ณ ์์ ํ๊ณ ๋ณด์ฅ๋ ์ํฅ์ผ๋ก ๋ค๋ฅธ ์์ ์์ ๋ฆฌ์์ค๋ฅผ ์ดํ์ํค๊ฒ ์ต๋๊น?).
๊ทธ๋ฟ๋ง ์๋๋ผ ์ค์๋ก Play ์คํ ์ด ์ ์ฑ ์ ์๋ฐํ๊ฑฐ๋ Play ์คํ ์ด ์ ์ฑ ์ ์๋ฐํ ์ฌ๋๊ณผ ๊ด๋ จ์ด ์๋ค๋ ๊ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ณ์ ์ด ์ฐจ๋จ๋๋ ๊ฒ์ ์๋ฏธํ๋ฏ๋ก ๋ถ์ฅ๋์ด ๋์ด ์ฌ์ฉ์๊ฐ _๋์ฑ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ์ค์ด๋ญ๋๋ค.
๋ํ ์์์ ์ค๋ช ํ ๋๋ก Play ์คํ ์ด ์ธ๋ถ์ ๋ฐฐํฌํ๋ฉด ์ ๋ฐ์ดํธ๋ APK๋ฅผ ํธ์ํ ์ ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. ๋๋ ๋น์ ์ด Flutter ํ ์ค ํ ๋ช ์ธ ์ค ์์์ต๋๋ค.
๋ง์ง๋ง ๋๊ธ์ ๋ง์ํ์ ๋ด์ฉ์ด ๋ง์ต๋๋ค. ์ฌ์ค, ์ฝ๋ ํธ์๋ ๊ฒฝ๊ณ์ ์ ์๊ณ ๊ท์น์ ์ด๊ธ๋๋๋ผ๋ Apple๊ณผ Google์์ ์ฉ์ธ๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ทํ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ํด๋ฅผ ๋ผ์น ์ง ์๋ ํ ์ค์ ๋ก ์ฝ๋๋ฅผ ํธ์ํ๋์ง ํ์ธํ๋ ๋ฐ ๊ท์ฐฎ๊ฒํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋๊ตฐ๊ฐ ์ด์ํ ํ๋์ ๋ณด๊ณ ํ๋ฉด ๊ทธ๋ด ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ ์์ ์์ ํธ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ์ ์ฒด ์ฑ์ด ์๋๋ผ ํด๋น ์ฑ์ ๊ฐ๋ฐ์์ ๋ํด ์กฐ์น๋ฅผ ์ทจํ ๊ฒ์ ๋๋ค.
๋ง์ ์์ ์ด ์งํ ์ค์ด์ง๋ง ์ฝ๋ ํธ์๊ฐ ๊ฐ๋ฅํฉ๋๋ค. https://github.com/chgibb/hydro-sdk
@chgibb ์ ๊น๋ง... ์ฝ๋ ํธ์๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์ง๋ง ์ ์ฒด๋ฅผ Dart์์ Typescript๋ก ๋ณ๊ฒฝํฉ๋๊น?
์ด ๋ ๊ฐ์ง๋ฅผ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ํ์์ฒ๋ผ Dart๋ฅผ ์์ฑํ๋ ๋์ codepush๋ฅผ ๋ฐ์ผ๋ ค๋ฉด?
@SpajicM ์ Dart๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ง ์๋ํฉ๋๋ค. ๋์ Apple์ด ์์ ํ JavascriptCore์ ๊ฐ์ JS ์์ง์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์ฝ๋ ํธ์์ ํจ๊ป ์ฌ์ฉํ ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋ณด์ด๋ ๊ฒ ๊ฐ์ต๋๋ค.
์คํฌ๋์น, ๊ทธ๊ฒ์ ๋ชจ๋ ํํ๋ ํํ์์ ์คํ ์ด ์ ์ฑ ์
@miyoyo ๊ทธ๊ฒ ์ ๋งค์ฅ ์ ์ฑ
์
@SpajicM ์์ ํ ๋ถ๊ฐ์ ์
๋๋ค. Typescript ์กฐ๊ฐ์ ๋ ํฐ Dart ์ฑ์ ํฌํจ๋ ์ ์์ต๋๋ค. ๋จ์ผ ํ
์คํธ ๋๋ ์ ์ฒด ํ๋ฉด๋งํผ ์์ต๋๋ค.
.hc
ํ์ผ์ด ์ปดํ์ผ๋ lua ๋ฐ์ดํธ์ฝ๋(ํ์ฅ์๊ฐ ์์ ์ ์์ผ๋ฉฐ ํ์ธ๋์ง ์์)์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ ๋ชจ๋ ์ข
๋ฅ์ ์ปดํ์ผ๋ ์ฝ๋๋ฅผ ํธ์ํ๋ ๊ฒ์ ์์ ์ ์ฑ
์ ์ํด ๊ธ์ง๋์ด ์์ต๋๋ค.
_compiled_ ์ฝ๋๋ฅผ ์ฑ์ ํธ์ํ๋ ๊ตฌ์ฒด์ ์ธ ์ฌ์ฉ ์ฌ๋ก๋ Play ์คํ ์ด ์ ์ฑ ์ ๋ช ์์ ์ผ๋ก ๋ฐ๋ ๋๋ฉฐ, CodePush์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ _ํ ์ ์๋_ ์ ๋ฌํ ์ ์๋ "์์ค ์ฝ๋๊ฐ ์ ๊ณต๋์ง ์์" ์์๋ ์ ์ฉ๋์ง ์์ Apple ์ง์นจ์ ์๋ฐ ํฉ๋๋ค.
๊ฐ๋ ์ด ๋์๋ค๊ณ ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. ์ฌ์ค, ๊ทธ๊ฒ์ ํ๋ฅญํ ์ํ์ ๋๋ค! ์ธํฐ๋ท์ ํตํด ๋ฐ์ดํธ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ๋ ๊ฒ์ ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์คํ ์ด ์ ์ฑ ์ ๋ช ์์ ์ผ๋ก ๋ฐ๋๋๋ค๋ ๊ฒ์ ๋๋ค.
๊ฒ์ ๋ด ์ ๋ฐ์ดํธ๊ฐ ํฌํจ๋ ์ด ๋ชจ๋ ๋ชจ๋ฐ์ผ ๊ฒ์์ ์ด๋ป๊ฒ ์๋ํฉ๋๊น? ์์ฐ๋ง ํธ์/๋ค์ด๋ก๋ํฉ๋๊น?
๊ตฌ๊ธ ํ๋ ์ด์ ploicy์์ @miyoyo; https://play.google.com/about/privacy-security-deception/malicious-behavior/
...This restriction does not apply to code that runs in a virtual machine and has limited access to Android APIs...
Hydro-SDK์ .hc
ํ์ผ์ ํ์ฅ์๋ ํน์ ๊ธฐ๋ฅ์ด ์๋ ์์ํ Lua 5.2 ๋ฐ์ดํธ ์ฝ๋์
๋๋ค. ์์ฒด ๋์ฐ๋ณ์ด ๋๋ ์ฝ๋ ์์ฑ ๊ธฐ๋ฅ์ด ์๋ ์ธํฐํ๋ฆฌํฐ์์ ์คํ๋ฉ๋๋ค. dart:io
์ด๋ค ๊ฒ๋ ๊ทธ๋ค์๊ฒ ๋
ธ์ถ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์๋ฅผ ๋ค์ด ์๋ฒ ๋๊ฐ dart:io
์ File
ํด๋์ค๋ฅผ ๋
ธ์ถํ๊ฑฐ๋ PlatformChannel
๋ฅผ ๋
ธ์ถํ๋ ๊ฒ์ ๋ง์ ์๋ ์์ต๋๋ค.
Apples ์น์ 2.5.2๋ "์คํ"์ด๋ผ๋ ๋จ์ด์ ์๋ฏธ ๋ฐ ๊ธฐ๋ฅ ๋ณ๊ฒฝ๊ณผ ๊ด๋ จํ์ฌ ์กฐ๊ธ ๋ ๋ชจํธํฉ๋๋ค.
https://developer.apple.com/app-store/review/guidelines/#2.5.2
...
2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app,
...
@chgibb ์ข์ต๋๋ค. Android์์๋ ํต๊ณผํ ์ ์์ง๋ง App Store์์๋ ์ฌ์ ํ ๊ฑฐ๋ถ๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. (์ต๊ณ ์ฑ๋ฅ์ ๊ฐ์๋ฅผ ๋งํ๋ ๊ฒ์ ์๋์ง๋ง ์๋ง๋ ๊ณ ๊ธํ ์ ํ๊ธฐ์ ์ธ๋ถ ์ฌํญ ์ผ ๊ฒ์ ๋๋ค)
@kuhnroyal ๋ชจ๋ฐ์ผ ๊ฒ์ ์ ๋ฐ์ดํธ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ์์ฐ ๋ฉํ์ ๋ค์ ์ ์ ๊ฒ์ฆ์ ํ์๋กํ๊ธฐ ๋๋ฌธ์์ด ๋ณดํต ๋น ๋ฅธ ์ถ์ , ๋น ์คํ ๊ฒ๋ค์ ๋ํ, APK ํ์ฅ ํ์ผ ์ ๋ถ๋ถ์ ์ธ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํํ์ง๋ง ์ฌ์ ํ ์ผ๋ฐ ๋งค์ฅ ๊ฐฑ์ ์ฃผ๊ธฐ์ ๋ฐ๋ผ, ๊ทธ๋ฆฌ๊ณ ์ผ๋ฐ APK ์ ๋ฐ์ดํธ ํ ์ ์์ต๋๋ค .
๊ณ ๊ฐ๊ณผ์ ๋ํ: ์ด๊ฒ์ด ๋ ์ด์ ๊ณ ๊ฐ์๊ฒ ์ฐ์ ์์๊ฐ ์๋๋ผ๋ ํค๋๋ผ์ธ์ ๋๋ค.
ํ ์คํธ/๋ฒ์ญ์ ๋ฌด์ ์ ๋ฐ์ดํธ๋ฅผ ์ํด Localizely๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค: https://localizely.com/flutter-over-the-air
ํ๋ฌํฐ๋ฅผ ์ํด ์ด ๊ธฐ๋ฅ์ ๊ตฌ์ถํ๊ฑฐ๋ ๊ตฌ์ถ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค .
์ฌ๋ฌ๋ถ _์ ๋ฐ_, ์ธ ๋ฒ์งธ๋ก ๊ฒ์๋์ง๋ง ์ค์ ๋ก ์ถ๊ฐํ ๋ด์ฉ์ด ์์ผ๋ฉด _๋๊ธ์ ๋ณด๋ด์ง ๋ง์ญ์์ค_ .
์์ธํ ๋ด์ฉ์ ์ด ๊ฒ์๋ฌผ์ ์ฐธ์กฐ ํ๊ณ ์ฒซ ๋ฒ์งธ ๊ฒ์๋ฌผ์ ์์ง์๊ฐ๋ฝ์ ์ฌ๋ ค์ฃผ์ธ์.
์ฌ๊ธฐ ์๋ ๋๋ถ๋ถ์ ํ์ด ์ด ๊ฒ์๋ฌผ์ ๋ํ ์๋ฆผ์ ๋นํ์ฑํํ๋ค๊ณ ํ์ ํ๊ธฐ ๋๋ฌธ์ ๋ฉ์์ง๋ ๋ ์ด์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. ์ถ๊ฐํ ๋ด์ฉ์ด ์๋ ํ ์์์ ์ค์ด๋๋ก ํฉ์๋ค.
ํํธ ์ฝ๋ ํธ์์ ๋ํ ๋์์ ๋ฌด์์ ๋๊น?
ํํธ ์ฝ๋ ํธ์์ ๋ํ ๋์์ ๋ฌด์์ ๋๊น?
๋ด ๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด ๋์์ด ์์ต๋๋ค.
@samerdernaika @mfenej ์์ง ํ๋ก๋์ ์ค๋น๊ฐ ๋์ง ์์์ง๋ง ์ด ํ๋ก์ ํธ๋ ์ฝ๋ ํธ์๋ฅผ ๋ช ์์ ์ธ ๋ชฉํ๋ก ์์ํ์ต๋๋ค. https://github.com/chgibb/hydro-sdk
@๋ฏธ์์
์ฒซ ๋ฒ์งธ, _๋ฌด์์ด_ ํธ์๋๋์ง๋ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๊ฐ ์๋ ์์น์ ๋๋ค. Apple์ ๊ฒํ ์ง์นจ ์ ๋ชจ๋ ์ข ๋ฅ์ ์ฝ๋ ํธ์๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค . ์, ์ฌ์ฉ๋ ์ฉ์ด์๋ _์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ํธ์๋ ํฌํจ๋ฉ๋๋ค. Apple์ ์ด์ ๋ํด ์๋ฌด๋ฐ ์กฐ์น๋ฅผ ์ทจํ์ง ์์ ๊ฒ ๊ฐ์ผ๋ฉฐ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๊ฐ ์์ ์ ์์ง๋ง ์ฌ๊ธฐ์ ๊ฒ์๋ ๋ชจ๋ ์ด์ ๋ ์์ํ ์ถ์ธก์ผ ์ ์์ต๋๋ค.
๊ทธ๊ฑด ์ฌ์ค์ด ์๋๋ค. ๋ค์ ํ ๋ฒ ํ์ธํ๊ณ ์๋ชป๋ ์ ๋ณด๋ฅผ ํผ๋จ๋ฆฌ์ง ๋ง์ญ์์ค!
Apple ๊ฐ๋ฐ์ ๋ผ์ด์ ์ค ๊ณ์ฝ์ ์น์ 3.3.2์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ช ์๋์ด ์์ต๋๋ค.
3.3.2๋ค์ ๋จ๋ฝ์ ๋ช ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ๊ฑฐ๋ ์ค์นํ ์ ์์ต๋๋ค. ํด์๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. Store, (b) ๋ค๋ฅธ ์ฝ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํ ์์ ์ด๋ ์์ ์ ๋ง๋ค์ง ์์ผ๋ฉฐ (c) ์๋ช , ์๋๋ฐ์ค ๋๋ OS์ ๊ธฐํ ๋ณด์ ๊ธฐ๋ฅ์ ์ฐํํ์ง ์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ์ฃผ์ ๋ชฉ์ ์ ๋ณ๊ฒฝํ์ง ์๋ ํ JS์ ๊ฐ์ ํด์๋ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ ์ ์๋๋ก ๋งค์ฐ ๊ตฌ์ฒด์ ์ผ๋ก
codepush ๋ฐ ์์ ์ง์นจ ์ค์์ ๋ํ AppCenter ์น์ ์ ์ดํด๋ณด์ญ์์ค. AppCenter codepush(Microsoft ์ง์)๋ ์คํ ์ด ๊ท์ ์ค์ ๋ฌธ์ ๊ฐ ์๋ ๋ง์ ์ฑ์์ ์ฌ์ฉ๋ฉ๋๋ค. https://github.com/microsoft/react-native-code-push#store -guideline-compliance
๋ด๊ฐ ๋ณด๊ธฐ์ codepush์ ๊ฐ์ฅ ํฐ ๋ฐฉํด ์์๋ ๋ฏธ๋ฆฌ ์ปดํ์ผ๋๋ ๋์ iOS์์ compile-to-js๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ iOS์์ ํด์๋ Dart๋ฅผ ์ฌ์ฉํ๋๋ก ๊ฐ์๋ฐ๋ ์ฑ๋ฅ ์ ์ถฉ์ ๊ฐ์น๊ฐ ์์ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. Flutter๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ชฉํ๋ก ํ๊ณ ์๊ธฐ ๋๋ฌธ์ compile-to-js perf๊ฐ ์ถฉ๋ถํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ง๋ง ์ฌ์ ํ Flutter ํ์๊ฒ ํ์ฉ ๊ฐ๋ฅํ ์ฑ๋ฅ ์ ์ถฉ์์ ์๋ ์ ์์ต๋๋ค.
์๋ง๋ AppCenter for React Native์ ๊ฐ์ ํ์ฌ ์๋ฃจ์ ์ด ์ด ๊ฒฉ์ฐจ๋ฅผ ๋ฉ์ธ ๊ฒ์ ๋๋ค. CodePush๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค!
ํ , ๋น ๋ฅธ Google ๊ฒ์์ Apple์ด ์ฝ๋ ํธ์ ๊ธฐ๋ฅ์ด ํฌํจ๋ ์ฑ์ ๊ฑฐ๋ถํ๋ ๋ง์ ์๋ฅผ ๋ณด์ฌ์ค๋๋ค.
https://github.com/microsoft/react-native-code-push/issues/1297
์ด์ App Store ๊ฒํ ์๊ฐ์ด ๊ฑฐ์ ํญ์ ๋ฉฐ์น ์ด ์๋ ๋ช ์๊ฐ์ผ๋ก ์ธก์ ๋๋ค๋ ์ ์ ๊ฐ์ํ ๋ ์ ๋๊ตฐ๊ฐ๊ฐ ์ํ์ ๊ฐ์ํ๋์ง ์ดํด๊ฐ ๋์ง ์์ต๋๋ค. ์ฝ๋ ํธ์๊ฐ Flutter ์์ง์ ํตํฉ๋๋ฉด Apple์ ๋ชจ๋ Flutter ์ฑ์ ๊ธ์งํ๊ธฐ๋ก ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
@matthewlloyd ๊ฒํ ์๊ฐ์ด ๋จ์ถ
์ฌ์ฉ์์ ์์ ๋ค์ด์ค๋ ์ ๋ฐ์ดํธ๋ ์ฑ ๊ฒํ ์ ์๋๋ก ์งํ๋์ง ์์ต๋๋ค. "๊ฐ๋ฐ์ ์ถ์", "์ฑ ์คํ ์ด ์ฒ๋ฆฌ", ์ฌ์ฉ์ ์์ฅ์ ์๋ฒ๋ก์ ์ ํ ๋ฑ ์ฌ์ด์ ์๊ฐ๋ ๊ฝค ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ ์ด๋ฌํ ํ๋ฐ ๋จ๊ณ๊ฐ 24์๊ฐ ์ด์ ๊ฑธ๋ฆฌ๋ ๊ฒ์ ๋ณด์์ต๋๋ค.
๊ฐ์ธ์ ์ผ๋ก ๋งํ์๋ฉด, ์ฝ๋ ํธ์์ ๋ํ ๋์ ์ด์ ์ ์
๋ฐ์ดํธ ์ ๊ณต ๊ณต๊ธ๋ง์ ๋ํ ์์ ๊ถ์ ์๋ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์
๋๋ค. xcode
CLI ๋๊ตฌ์ ์ ๊ฐ์ค๋ฌ์ด ์ํ๋ฅผ ๊ฐ์ํ ๋ ํ์ฌ ํ๋ก์ธ์ค๋ฅผ ์ผ๊ด๋ CD ์ค์ ์ผ๋ก ์๋ํํ๋ ค๋ ์๋์ ๊ด๋ จ๋ ๋ค์ ํฐ ์ฅ์ ๋ฌผ์ ๋งํ ๊ฒ๋ ์์ต๋๋ค.
๋๋ถ๋ถ์ ๊ฒฝ์ฐ 24์๊ฐ ๋ฏธ๋ง์ด๋ฉด ๊ฑฐ์ ๋ชจ๋ ์ฌ๋์๊ฒ ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ธด๊ธํ ๋ฒ๊ทธ ์์ ๊ณผ ๊ฐ์ด Apple์ ๊ฒํ ํ๋ก์ธ์ค๋ฅผ ํตํด ๋ ๋นจ๋ฆฌ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์์ผ ํ๋ ๊ฒฝ์ฐ ์ ์ ๊ฒํ ๋ฅผ ์์ฒญํ ์ ์์ต๋๋ค. ํ ๋ฒ ํด๋ณธ ์ ์ด ์๋๋ฐ, ์ ์ฒญํ ์ง 10๋ถ ๋ง์ ์ฑ ๋ฆฌ๋ทฐ๊ฐ ์๋ฃ๋์์ต๋๋ค.
๋ฐฐ์ก ๊ณต๊ธ๋ง์ ์์ ๊ถ์ ๊ฐ๋ ๊ฒ์ ์์ ์ ์ํ์ ๋ฌด๋ฆ ์ฐ๊ณ ํ๋ ์ผ์ ๋๋ค...
Apple์ App Store ์ง์นจ, ์น์ 2.5.2(https://developer.apple.com/app-store/review/guidelines/#software-requirements):
"2.5.2 ์ฑ์ ๋ฒ๋ค์ ํฌํจ๋์ด์ผ ํ๋ฉฐ ์ง์ ๋ ์ปจํ ์ด๋ ์์ญ ์ธ๋ถ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ํ์ฌ ์ฑ์ ๊ธฐ๋ฅ์ ๋์ ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋, ์ค์น ๋๋ ์คํํ ์ ์์ต๋๋ค. ํ์๋ค์ด ์คํ ์ฝ๋๋ฅผ ๊ฐ๋ฅด์น๊ฑฐ๋, ๊ฐ๋ฐํ๊ฑฐ๋, ํ ์คํธํ ์ ์๋๋ก ์ค๊ณ๋ ๊ต์ก์ฉ ์ฑ์ ์ ํ๋ ์ํฉ์์ ์ด๋ฌํ ์ฝ๋๊ฐ ๋ค๋ฅธ ์ฉ๋๋ก ์ฌ์ฉ๋์ง ์๋ ํ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ๊ณตํ ์์ค ์ฝ๋๋ฅผ ์์ ํ ๋ณผ ์ ์์ด์ผ ํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ํธ์งํ ์ ์์ต๋๋ค."
Apple์ ๊ฐ๋ฐ์ ํ๋ก๊ทธ๋จ ์๊ตฌ ์ฌํญ, ์น์ 3.3.2:
3.3.2 ๋ค์ ๋จ๋ฝ์ ๋ช ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ๊ฑฐ๋ ์ค์นํ ์ ์์ต๋๋ค.
@AndrewMorsillo ๊ฐ ๊ฐ์ด๋๋ผ์ธ์ ๋ฌด์์ด ์๋ , ๊ทธ๋ฆฌ๊ณ ์ผ๋ง๋ ๋ง์ ์ ๋ณด๊ฐ ์ ์๋๋ , ์ฐ๋ฆฌ๊ฐ ์ป์ ์ ์๋ ์ต์ ์ "๊ธ์ง๋ ์ ์๋ ๋ฒ์ฃ๊ฐ ์๋์ง ํ์คํ์ง ์์ ์ ์์ต๋๋ค. ์ค์ ๋ก ์ฐ๋ฆฌ๊ฐ ํ์ ํ ์ ์์ ์๋ ์์ต๋๋ค"์ ๋๋ค. .
๊ฒฝ์ฐ๊ฐ ๋ฌด์์ด๋ Flutter๋ ํ์ฌ iOS์์ ํด์๋ ๋คํธ๋ฅผ ์คํํ์ง ์์ผ๋ฉฐ, ์ถ๊ฐํ๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทํ๊ฐ ์ง์ ์ธ๊ธํ ๊ฒ์ฒ๋ผ ๋ด ์ด์ ๊ฒ์๋ฌผ๊ณผ ๋งค์ฐ ํ์ ์์ญ์ด๋ฉฐ ์ต์ ์ ๊ฒฝ์ฐ ๊ธ์ง๋ฉ๋๋ค.
๋ด๊ฐ ๋งํ ์ ์๋ ํ, 24์๊ฐ ๊ฒํ ์ฃผ๊ธฐ๋ฅผ ์ฐํํ๊ณ ํ ์คํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ชจ๋ ๊ฒ์ ๊ตํํ๋ ๊ฒ์ ๊ฐ์น๊ฐ ์์ต๋๋ค. (๋๋ ๊ทธ๊ฒ์ด ์ผ์ฃผ์ผ์ด์๋ ๋๋ฅผ ์ดํดํ ์ ์์๊ณ ๊ทธ๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก iOS ์ธก์์๋ง ๋ฐ์ํ์ต๋๋ค. ์ด๋ ์ฌ์ค์ ์ฌ๊ธฐ์์ ๊ฐ์ฅ ํฐ ๋ ผ์์ ์ ๋๋ค)
๊ฒํ ํ๋ก์ธ์ค๋ฟ๋ง ์๋๋ผ ์๋ ์ ๋ฐ์ดํธ๋ฅผ ๊ป์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด์ ๋ฒ์ ์ ์ฑ์ ์ฌ์ฉํ์ง ์๋ ์ฌ์ฉ์์ ๋ํ ๊ฒ์ด๊ธฐ๋ ํฉ๋๋ค.
๋ฌผ๋ก ์ต์ ๋ฒ์ ํ์ธ์ ์ง์ ๊ตฌํํ ์ ์์ง๋ง ๋ค์ Play ์คํ ์ด๋ฅผ ๊ฑฐ์ณ์ผ ํ๊ณ ์ฌ๋๋ค์ ๋ถํํ๋ ๊ฒ์ผ๋ฆ ๋๋ค. ์ฝ๋ ํธ์๋ฅผ ์ฌ์ฉํ๋ฉด ์คํํ ๋๋ง๋ค ์ฑ์ ๋น ๋ฅด๊ฒ ์ ๋ฐ์ดํธํ๊ณ (ํฌ๋ง) ์ฌ์ฉ์๊ฐ ๋ ์ํํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
@miyoyo ์ฌ๊ธฐ ๋์ค๋ ๋ชจ๋ ์๊ฒฌ์ด๋ ์์ด๋์ด์ ์๋ตํด์ผ ํ ํ์์ฑ์ ๋๋ผ๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฌ๋๋ค์ ์ด๊ฒ์ ์ํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ ์ฌ๋๋ค์๊ฒ ์ด ๋ฌธ์ ์ ์ฐฌ์ฑ ํฌํ๋ฅผ ํ๋ผ๊ณ ํ๊ณ ์ฐ๋ฆฌ๋ ๋๊น์ง ์ฐฌ์ฑํ์ต๋๋ค. ๋๊ตฐ๊ฐ ์ ๊ทน์ ์ผ๋ก ๊ณ ๋ฏผํ๊ณ ๋ฐ์ด๋ถ์ด์ง ์๋ ํ ์ ๋ ํด๊ฒฐ๋์ง ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ง์ ์ฑ์ด ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ ๋ณด์์ต๋๋ค. ์ธ์ถ ์ ์ฑ
๋ ์ง๊ฐ ํ์๋๋ฉด ๋ฉ์์ง๋ฅผ ํ์ํ๊ณ ๋ซ๊ฑฐ๋ ์ฑ์ ์
๋ฐ์ดํธํฉ๋๋ค. ๊ทธ ๋ชจ๋ .
2020๋ 8์ 7์ผ ๊ธ์์ผ 07:38 SpajicM [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๊ฒํ ํ๋ก์ธ์ค๋ฟ๋ง ์๋๋ผ
์ฑ์ด ๊บผ์ ธ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด์ ๋ฒ์ ์ ์ฑ์์ ๋ฉ์ท์ต๋๋ค.
์๋ ์ ๋ฐ์ดํธ.๋ฌผ๋ก ์ต์ ๋ฒ์ ํ์ธ์ ์ง์ ๊ตฌํํ ์ ์์ง๋ง
๋ค์ Play ์คํ ์ด๋ฅผ ๊ฑฐ์ณ์ผ ํ๊ณ ์ฌ๋๋ค์ ๋ถํํ๋ ๊ฒ์ผ๋ฆ ๋๋ค. ์ ํจ๊ป
์ฝ๋ ํธ์๋ฅผ ์ฌ์ฉํ๋ฉด ์คํํ ๋๋ง๋ค ์ฑ์ ๋น ๋ฅด๊ฒ ์ ๋ฐ์ดํธํ ์ ์์ผ๋ฉฐ(ํฌ๋ง)
๋ ์ํํ๊ฒ ์ฌ์ฉ์๋ฅผ ํ์ฉํฉ๋๋ค.@miyoyo https://github.com/miyoyo ์ ๊ธฐ๋ถ์ด ์ข์์ง ๋ชจ๋ฅด๊ฒ ์ด
์ฌ๊ธฐ์ ์ ์๋ ๋ชจ๋ ์๊ฒฌ์ด๋ ์์ด๋์ด์ ์๋ตํด์ผ ํฉ๋๋ค.
์ฌ๋๋ค์ ์ด๊ฒ์ ์ํฉ๋๋ค. ๋น์ ์ ์ฌ๋๋ค์๊ฒ ์ด ๋ฌธ์ ์ ์ฐฌ์ฑํ๋ฅผ ๋์ก๊ณ ์ฐ๋ฆฌ๋ ์ฐฌ์ฑํ๋ฅผ ๋์ก์ต๋๋ค.
๋ชจ๋ ๋ฐฉ๋ฒ์ ์ ์์. ์ด๊ฒ์ ๋๊ตฐ๊ฐ๊ฐ ์๋๋ฉด ์ ๋ ํด๊ฒฐ๋์ง ์์ ๊ฒ์ ๋๋ค
์ ๊ทน์ ์ผ๋ก ์๊ฐํ๊ณ ๋ฐ์ด๋ถ์ธ๋ค.โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/flutter/flutter/issues/14330#issuecomment-670242698 ,
๋๋ ๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/ADS5AJFUU2V6MHQIP7AMZKLR7M5HPANCNFSM4EOFIZRA
.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ง์ ์ฑ์ด ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ ๋ณด์์ต๋๋ค. ์ค๋๋ ์ฑ์ธ ๊ฒฝ์ฐ ๋ฉ์์ง๋ฅผ ํ์ํ๊ณ ์ฑ์ ๋ซ๊ฑฐ๋ ์ฑ์ ์ ๋ฐ์ดํธํฉ๋๋ค. ๊ทธ ๋ชจ๋ .
์๋ง๋ ์ต์ ์ UX ๋ฐฉ์์ผ ๊ฒ์ ๋๋ค... :/
@SpajicM
๊ฒํ ํ๋ก์ธ์ค๋ฟ๋ง ์๋๋ผ ์๋ ์ ๋ฐ์ดํธ๋ฅผ ๊ป์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด์ ๋ฒ์ ์ ์ฑ์ ์ฌ์ฉํ์ง ์๋ ์ฌ์ฉ์์ ๋ํ ๊ฒ์ด๊ธฐ๋ ํฉ๋๋ค.
๋ฌผ๋ก ์ต์ ๋ฒ์ ํ์ธ์ ์ง์ ๊ตฌํํ ์ ์์ง๋ง ๋ค์ Play ์คํ ์ด๋ฅผ ๊ฑฐ์ณ์ผ ํ๊ณ ์ฌ๋๋ค์ ๋ถํํ๋ ๊ฒ์ผ๋ฆ ๋๋ค. ์ฝ๋ ํธ์๋ฅผ ์ฌ์ฉํ๋ฉด ์คํํ ๋๋ง๋ค ์ฑ์ ๋น ๋ฅด๊ฒ ์ ๋ฐ์ดํธํ๊ณ (ํฌ๋ง) ์ฌ์ฉ์๊ฐ ๋ ์ํํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
UX ์ธก๋ฉด์์ ์ด๊ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ์ฒ๋ฆฌํ๋ _๋์_ ๋ฐฉ๋ฒ์ด ์๋๋๊น? ๋๊ตฐ๊ฐ ์๋์ผ๋ก ์๋ ์ ๋ฐ์ดํธ๋ฅผ ๋นํ์ฑํํ๋ฉด Flutter๊ฐ ์ด๋ฅผ ์ฌ์ ์ํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด๋ค ์ฑ์ด ๊ทธ๋ฐ ๋ฅ๋ ฅ์ ๊ฐ์ ธ์ผ ํ๋์ง๋ ๋ ผ์์ ์ฌ์ง๊ฐ ์์ง๋ง ์ ์ฒด ํ๋ ์์ํฌ๋ ํ์คํ ์๋๋๋ค.
์ฑ ์คํ ์ด๋ฅผ ํตํด ์ ๋ฐ์ดํธ ํ๋ก์ธ์ค๋ฅผ ์ค์ ์ง์คํํ๋ ๊ฒ์ด ์คํ ์ด๋ฅผ ํตํด ๋ชจ๋ ์ ๋ฐ์ดํธ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ UX์ ๋ ๋ซ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ฐ๋ฐ์ ์๊ฐ์ ํฌ์ํ๋ UX๋ ์ผ์ข ์ ์ฑ ๊ฐ๋ฐ์ ์์ง์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฆ๊ฐ์ ์ธ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ(์: ์ทจ์ฝ์ฑ) ๊ธด๊ธ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ๊ฑฐ๋ ์ ๋ฐ์ดํธ๋ ๋๊น์ง ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ฑฐ๋ถํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ํ์๋ ์ข์ ์ต์ ์ด ์๋๋ฉฐ ์ ์๋ ์ฑ๊ฐ์ ์ผ์ด์ง๋ง Apple๊ณผ Google์ด ์ฌ์ฉ์๋ฅผ ์ต์ฐ์ ์ผ๋ก ์๊ฐํ๊ณ Flutter ์์ฒด์๋ ๊ฑฐ์ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
@chgibb
๊ฐ์ธ์ ์ผ๋ก ๋งํ์๋ฉด, ์ฝ๋ ํธ์์ ๋ํ ๋์ ์ด์ ์ ์ ๋ฐ์ดํธ ์ ๊ณต ๊ณต๊ธ๋ง์ ๋ํ ์์ ๊ถ์ ์๋ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ์ด ์ค๋ ๋์ ์ผ์ข ์ ๋ฌธ์ ์ ๋๋ค. Apple๊ณผ Google์ด ๊ฐ๋ ฅํ๊ฒ ๊ฒฝ๊ณ ํ๋ ๊ฒ์ ํ๋ ค๊ณ ํ๋ ๊ฒ์ ๊ทธ๋ค์ ์ฑ ์คํ ์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์ข์ ์๊ฐ์ด ์๋๋๋ค. @miyoyo๊ฐ ๋งํ๋ฏ์ด
๋ง์ง๋ง์ผ๋ก https://github.com/flutter/code-push
์ค์ ๋ก https://github.com/microsoft/react-native-code-push์ ๋๋ค.
Flutter๋ ์ฌ์ ํ ์ฝ๋๋ฅผ ํซ ์ ๋ฐ์ดํธํ ์ ์์ง๋ง ์ค์ ๋ก ํด๋น ๋งํฌ๋ ์ด๋ฏธ์ง์ ๋ํด ์ด์ผ๊ธฐํ๊ณ Firebase ์๊ฒฉ ๊ตฌ์ฑ์ด ์ค์ํ๋ค๋ ๊ฒ์ ์๊ธฐ์์ผ์ฃผ์์ต๋๋ค. ๋จ์ ์ ๋ณ๊ฒฝํด์ผ ํ ์ฝ๋ ๋นํธ๋ฅผ ์ ์ ํ๊ณ ์ฑ์์ ์ด๋ฌํ ๋ณ๊ฒฝ์ ์์ํด์ผ ํ์ง๋ง ์ผ๋จ ์๋ฃ๋๋ฉด ์ฑ ์คํ ์ด ์์ด ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋กค์์ํ๋ ๊ฒ์ด ๋งค์ฐ ๋นจ๋ผ์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค(React Native Code Push๊ฐ ํ๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค. ์ด๋ฏธ์ง)
@ardyfeb ๋น์ ๊ฐ์ ์ฌ๋๋ค์ ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ๋์ ํํ์ ์ค๋๋ค. ๋ค๋ฅธ ๊ณณ์์ ํธ๋กคํ์ธ์.
๊ฑฐ๊ธฐ; ๊ทธ๊ฒ์ ํด๊ฒฐํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ
ํ๋ฌํฐ ์น์ ์ฌ์ฉํ์ง ์๊ณ
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ง์ ์ฑ์ด ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ ๋ณด์์ต๋๋ค. ์ค๋๋ ์ฑ์ธ ๊ฒฝ์ฐ ๋ฉ์์ง๋ฅผ ํ์ํ๊ณ ์ฑ์ ๋ซ๊ฑฐ๋ ์ฑ์ ์ ๋ฐ์ดํธํฉ๋๋ค. ๊ทธ ๋ชจ๋ .
โฆ
2020๋ 8์ 7์ผ ๊ธ์์ผ 07:38 SpajicM @ . * > ์ผ๋ค: ๊ทธ๊ฒ์ ๋จ์ง ๊ฒํ ๊ณผ์ ์ ๊ดํ ๊ฒ์ด ์๋๋ผ ์๋ ์ ๋ฐ์ดํธ๋ฅผ ๊ป์ ์ ์๊ธฐ ๋๋ฌธ์ ์ฑ์ ์ด์ ๋ฒ์ ์ ๊ฐํ ์ฌ์ฉ์์ ๋ํ ๊ฒ์ด๊ธฐ๋ ํฉ๋๋ค. ๋ฌผ๋ก ์ต์ ๋ฒ์ ํ์ธ์ ์ง์ ๊ตฌํํ ์ ์์ง๋ง ๋ค์ Play ์คํ ์ด๋ฅผ ๊ฑฐ์ณ์ผ ํ๊ณ ์ฌ๋๋ค์ ๋ถํํ๋ ๊ฒ์ผ๋ฆ ๋๋ค. ์ฝ๋ ํธ์๋ฅผ ์ฌ์ฉํ๋ฉด ์คํํ ๋๋ง๋ค ์ฑ์ ๋น ๋ฅด๊ฒ ์ ๋ฐ์ดํธํ๊ณ (ํฌ๋ง) ์ฌ์ฉ์๊ฐ ๋ ์ํํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค. @miyoyo https://github.com/miyoyo ์ฌ๊ธฐ์ ๋์ค๋ ๋ชจ๋ ์๊ฒฌ์ด๋ ์์ด๋์ด์ ์๋ตํด์ผ ํ ํ์์ฑ์ ๋๋ผ๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฌ๋๋ค์ ์ด๊ฒ์ ์ํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ ์ฌ๋๋ค์๊ฒ ์ด ๋ฌธ์ ์ ์ฐฌ์ฑ ํฌํ๋ฅผ ํ๋ผ๊ณ ํ๊ณ ์ฐ๋ฆฌ๋ ๋๊น์ง ์ฐฌ์ฑํ์ต๋๋ค. ๋๊ตฐ๊ฐ ์ ๊ทน์ ์ผ๋ก ๊ณ ๋ฏผํ๊ณ ๋ฐ์ด๋ถ์ด์ง ์๋ ํ ์ ๋ ํด๊ฒฐ๋์ง ์์ต๋๋ค. โ ์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค. ์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub < #14330 (comment) >์์ ํ์ธํ๊ฑฐ๋ https://github.com/notifications/unsubscribe-auth/ADS5AJFUU2V6MHQIP7AMZKLR7M5HPANCNFSM4EOFIZRA ๊ตฌ๋ ์ ์ทจ์
์ํ ์ฑ์ ๊ตฌ์ถํ๊ณ ์๋ค๋ฉด ์ ๋ง ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๋๊ตฐ๊ฐ ์ฑ ๋ฒ์ญ์ ์ํด ๋ฌด์ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ํ Flutter ์ฑ์ด ์์ต๋๋ค. https://github.com/localizely/flutter-ota-sample-app
์ ํ์ ๊ฐ์ด๋๋ผ์ธ์ด ์์ ๊ณผ ๋ค๋ฅธ ๊ฒ ๊ฐ์๋ฐ์?
์ด๊ฒ์ ์ฌ์ ํ โโ๋์ผํ๋ค
2.5.2 ์ฑ์ ๋ฒ๋ค์ ํฌํจ๋์ด์ผ ํ๋ฉฐ ์ง์ ๋ ์ปจํ ์ด๋ ์์ญ ์ธ๋ถ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ์ฑ์ ํฌํจํ์ฌ ์ฑ์ ๊ธฐ๋ฅ์ ๋์ ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋, ์ค์น ๋๋ ์คํํ ์ ์์ต๋๋ค. . ํ์๋ค์ด ์คํ ์ฝ๋๋ฅผ ๊ฐ๋ฅด์น๊ฑฐ๋ ๊ฐ๋ฐํ๊ฑฐ๋ ํ ์คํธํ ์ ์๋๋ก ์ค๊ณ๋ ๊ต์ก์ฉ ์ฑ์ ์ ํ๋ ์ํฉ์์ ๋ค๋ฅธ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ๊ณตํ๋ ์์ค ์ฝ๋๋ฅผ ์ฌ์ฉ์๊ฐ ์์ ํ ๋ณด๊ณ ํธ์งํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ํด์๋๊ฑฐ๋ ์คํ ๊ฐ๋ฅํ ์ฝ๋์ ๋ํ ๋ค๋ฅธ ์ฐธ์กฐ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
ํด์ ๋๋ ์ปดํ์ผ๋ ์ธ์ด์ ๋ํด ๋ ์ด์ ๊ตฌ์ฒด์ ์ผ๋ก ์ธ๊ธํ์ง ์๋ ๊ฒ ๊ฐ์ผ๋ฉด ์๋ ๊ฒ์๋ฌผ์ ์ฌ๊ณผ ์ํ๊ณ์ ๋ํ ์ธ๋ถ ์ ๋ณด๊ฐ ๋ ์ด์ ์ฌ์ค์ด ์๋ ์ ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฌ๊ธฐ์์ ๋ช ๊ฐ์ง ๊ธฐ๋ณธ ํ๋กํ ํ์ ์ ๊ตฌ์ถํ์ง๋ง ํ์ฌ๋ก์๋ ๊ณต์ ํ ๋ด์ฉ์ด ์์ต๋๋ค. ์ด๊ฒ์ ์ ๋๋ก ํ๋ ค๋ฉด Dart์ ์ปดํ์ผ๋ฌ ํด์ฒด์ธ์์ ์ฝ๊ฐ์ ์์ ์ด ํ์ํฉ๋๋ค. ์ฌ๊ธฐ์์ ๋ง์ ๊ฒ์ ๊ณต์ ํ ์ ์๊ธฐ๊น์ง ๋ช ๋ฌ์ด ๊ฑธ๋ฆด ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ํ์ ํ์ฌ 1.0์ ์์ ํ์ ์ง์คํ๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋น์ ์ ๋ง์ ๋ฃ์ต๋๋ค. :) ์ด๊ฒ์ ๋ถ๋ช ํ ๋ง์ ์ฌ๋๋ค์ด ๊ฐ์น ์๊ฒ ์ฌ๊ธฐ๋ ๊ธฐ๋ฅ์ด๋ฉฐ ์ฐ๋ฆฌ๋ ๊ฒฐ๊ตญ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๋ค.