์๋น์ค ๊ฐ๋ฐ์ ํ๋ฉฐ ๋๋ ์
์๋น์ค ๊ฐ๋ฐ ์ ํ์ํ ๊ฒ
- ์๋ฒ / Web ์ฌ์ดํธ / Andriod ์ฑ / iOS ์ฑ
๋ค์ดํฐ๋ธ ์ฑ ๊ฐ๋ฐ์ ์ด๋ ค์
- ํ๋ ์์ํฌ์ ๋ณต์ก์ฑ์ผ๋ก ์ง์ ์ฅ๋ฒฝ์ด ๋์
- ํด๊ฐ ๋ค๋ฅด๊ฒ ๋ณํ๋ ์ ์ฑ ์ ๋ฐ๋ผ๊ฐ๊ธฐ ์ด๋ ค์
- ์ด๋ ค ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ๋๋ฌดํ์ฌ ๋ญ๊ฐ ์ ๋๋ก ๋ ๊ฑด์ง ์๊ธฐ๊ฐ ์ด๋ ค์
๋ค์ดํฐ๋ธ ์ฑ์ ๊ฐ๋ฐํ ๊ฒฝ์ฐ ํด์ผํ ์ผ - ๋๋ฌด ๋ง์...
ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ ํ๋ ์์ํฌ
- Native : Maui(5์ข ์ง์), React Native, Flutter(Android, iOS, Web, Windows, MacOS, Linux 6์ข ์ง์), Kotlin Multiplatform Mobile(Andriod, iOS)
Flutter ์ฅ์
- Dart ์ธ์ด๋ง์ผ๋ก ๊ฐ๋ฐ : ๋ฐฐ์์ผ ํ ๊ฒ ์ ์ (๋ ์ด์์, ๋ก์ง ๋ชจ๋ Dart๋ก ๊ฐ๋ฐ ๊ฐ๋ฅ)
- Andriod Studio์์ ๊ฐ๋ฐ
Native ๋ณด๋ค ์์ฐ์ฑ์ด ๋น ๋ฆ
์๋๋ก์ด๋ ์คํ๋์ค
ํ๋ฌํฐ
๊ฐ์ ๊ธฐ๋ฅ ์ฝ๋ ๋ผ์ธ ์ ์ฐจ์ด
Flutter & Dart
์ง์ํ๋ IDE
- Andriod Studio
- IntelliJ
- Visual Studio Code
Dart ํน์ง
Hello World
main(){
print("Hello, World!");
}
๋์์ฑ, ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ ์ง์
- async-await
- future
- stream
UI๊ตฌํ์ ์ฝ๊ฒ ํ๋ Dart์ ๊ธฐ๋ฅ๋ค
- collection if
- collection for
- Spread ์ฐ์ฐ์(...)
ํ์ฅ ํจ์ ์ง์
- Kotlin, Swift ๋ฑ์ ์๋ Extension Function ์ง์
- ๊ธฐ์กด ํด๋์ค์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
Null Safety ์ง์
- Null์ ์์ ํ ํ์ ์์คํ
Flutter ํน์ง
ํ๋ถํ ์ ๋๋ฉ์ด์ ์ง์
iOS์ Andriod ๊ณ ์ ์ ๋์์ธ์ ์ง์
๋ค์ดํฐ๋ธ ์ฝ๋ ์ฐ๋
- MethodChannel
Test ์ฝ๋ ์์ฑ
test('http ํต์ ํ
์คํธ', () async {
var url = 'https://api.airvisual.com/v2/nearest_city?'
var response = await http.get(url);
expect(response.statusCode, 200);
var jsonResponse = convert.jsonDecode(response.body);
var code = jsonResponse['status'];
expect(code, 'success');
AirResult result = AirResult.fromJson(jsonResponse);
expect(result.data.current.pollution.aqius, 63);
});
์์กด์ฑ ์ฃผ์ ์ฉ ์์ ฏ
- InheritedWidget
์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- Provider
- RiverPod
- GetX
- Bloc
- ...
Flutter ๋ง๋ณด๊ธฐ
๊ธฐ๋ณธ ๊ฐ๋
- ๋ชจ๋ ๊ฒ์ Widget ์ด๋ค
- ํ๋ฉด ๊ฐฑ์ ์ด ํ์์๋ค: StatelessWidget
- ํ๋ฉด ๊ฐฑ์ ์ด ํ์ํ๋ค: StatefulWidget
Child ์์ฑ์ ๊ฐ์ง๋ ์์ ฏ
Hot Reload๋ก ๋น ๋ฅธ ๊ฐ๋ฐ
- ์์ ํ ์ ์ฅํ๋ ์๊ฐ ๋ฐ๋ก ๊ฒฐ๊ณผ ๋ฐ์
์๋ชป๋ UI ์์ฑ ์ ๋ก๊ทธ ๋ฐ๋ก ํ์ธ
Flutter ์ง์ ์ฅ๋ฒฝ
- ๋์์ธ๋ ์ฝ๋๋ก ์์ฑ
- Dart ์ธ์ด๋ง์ผ๋ก ๊ฐ๋ฐ
- ํ๋ค๋ณด๋ฉด ๋ค์ดํฐ๋ธ ์ง์์ด ์ด๋์ ๋ ํ์ํจ
๊ทธ๋ฆฌ๊ณ ์ค์ต...
์ค์ต ๋ถ๋ถ์ ๋์ค์ ๋
นํ๋ณธ์ผ๋ก ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐ๋ผํ๋ฉฐ...
์ ๊ธฐํ ๊ฒ๋ค ์์ผ๋ฉด ์ถ๊ฐ ํฌ์คํ
์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค...
๐ต๐