미래는 알수 없지만, 지금 느낌으로선 개발직군 모든곳에 Flutter 가 점령할 것 같은 느낌이 든다.
퍼블리셔, 안드로이드, ios, 그리고 윈도우까지. 나중에는 백앤드도 점령하지 않을까 싶다.
특히 가장 빨리 점령되어 가는쪽은 모바일 네이티브 쪽이다. 현재 진행중이다.
그 정도로 좋다.
Flutter 의 가장 기본은 위젯이다. 안드로이드로 치면 View 에 해당한다. 모든 화면을 구성하는 항목이 위젯이다.
Jetpack Compose 처럼, 이제 UI를 xml 코드로 구현하지 않고 개발코드로 구현한다.
위젯에는 2가지 타입이 있다.
1. Stateful 위젯
2. Stateless 위젯
(사실 이것 말고 InheritedWidget 도 있으나, 구글에서도 이는 권장치 않는다. Provider를 쓰란다.
그럼에도 몇몇 기본 위젯은 ingeritedwidet인게 있다. - Scaffold, Theme 같은. )
이 두개를 쉽게 설명하자면,
1. Stateful 위젯
- 변동 가능성이 있는 위젯이다.
코드로 생각해보자면 int, string 변수처럼 가변적이다. 따라서 특정 조건에 따라 화면에 표시되는
렌더링이 변경되어야 하는 위젯들이다. (예 : 버튼 클릭시 text 내용 변경)
2. Stateless 위젯
- 변동 가능성이 없는 위젯이다.
코드로 생각해보자면, const 혹은 final 같이 딱! 고정되어 있다. 따라서 화면에는 상시 같은 모습으로
렌더링이 된다.
Flutter는 Dart 언어로 코딩해야 한다.
처음에는 새로운 언어를 배워야 하는것에 부담이 있었다. 마치 C# 하다가 파이썬이나 코틀린 했을때 처럼.
그러나 Dart는....너무나 친근하다. C#과 Kotlin과 Java를 묘하게 섞어 놓아서 셋중 아무거나 할 수 있으면
딱히 학습 자체가 거의 필요없다. 막히는 부분만 구글링 하면된다.
특히 그 중에서도 C 계열과 매우매우 유사하다. 개발할때 많이 쓰는 반복문, 제어문, 함수 선언, 3항식, 클래스 선언 등.
묘하게 타 언어에서는 (특히 코틀린에서) 다른 부분들이 C 계열과는 99% 일치하는듯 하다 .
원래는 Flutter 공부하면서 Dart 에 대한 내용 정리를 하려했으나, 그럴필요가 없어졌다.
'Flutter' 카테고리의 다른 글
| Slivers, CustomScrollView (0) | 2023.03.14 |
|---|---|
| Builder (StreamBuilder, FutureBuilder) (0) | 2023.03.14 |
| Stream (Kotlin 라이브데이터) (0) | 2023.03.14 |
| 비동기, Future , Then (0) | 2023.03.07 |
| Stateful, Stateless 위젯 (0) | 2023.02.17 |