웹 개발 N년차, Flutter 굴에서 정신 바짝 차리려고 노력중
심지어 위젯 이름이 해당 기능과 전혀 매치되지 않는다. 물론 내 영어 수준이 낮고 처음 다루어 보는 언어라 어색한 이유도 있을 것이다.
플러터는 위젯 트리라고 해서, 위젯을 나무가지 마냥 뻗어 나가게 하는 구조다. 가독성이 매우 별로다.
차라리 RN이 더 직관적인 것 같다.
이어받은 프로젝트는 다른 업체에서 만든 앱이다. Provider를 사용해서 구성했는데, 도대체 이게 무슨 소리인가 싶었다. 사실 알고 싶지 않았던 것일 수도...(내가 하겠다고 했지만 막상 맞닥뜨리니 혼란스러웠다.)
일단 담당자가 되었고, 기간도 촉박하니 코드부터 파악해야 했다. 이때 같은 코드를 몇 번이나 읽어본 것 같다. 머리가 어지럽고 혼란스러웠지만 친해지려고 부단히 노력했다.
<프로그래머의 뇌>라는 책에서 코드를 작성하는 시간보다 읽는 것이 더 노력을 기울이라고 했다. 코더가 아니라 프로그래머니까 눈 앞에 놓인 상황에 적응해야만 했다.
그래서 리액트로 상태관리하던 것에 비유하며 코드를 읽어내려갔다. 그러니 좀 낫더라.
Provider와 Consumer는 한 쌍이다. Provider에서 상태가 바뀌면 그것을 구독하고 있는 Consumer가 감지해서 위젯을 리렌더링한다. view와 hook이 한 곳에 같이 있는 느낌이었다. 불편함을 이루 말할 수 없다.
useEffect는 의존성 배열에 상태를 넣기만 하면 됐는데... 플러터는 리렌더링이 필요한 곳에 Consumer로 감싸서 builder로 위젯을 렌더링하고 어쩌구 저쩌구... 코드가 너무 길어져서 가독성이 똥이었다.
글을 수정하고 있는 지금, 조금이나마 플러터, 다트와 친해졌는데 매력을 못느끼겠다. 왜 사람들이 열광하는 걸까...
정보 감사합니다.