Flutter Web & goRouter

guddls ju·2025년 5월 16일
0

개발일지

목록 보기
4/4

Flutter web 개발

flutter로 웹 프로젝트를 하면서 느낀점을 기록하려고 한다.
아직은 flutter web의 부족한 부분이 느꼈졌다. 물론 앱과 웹을 한꺼번에 개발해야 하는 프로젝트라면 생산성 측면에서 나쁘지 않을 수 있지만, 그마저도 프로젝트가 진행될수록 따로 하는게 나을뻔했다는 생각이 든적도 있었다.
하지만 장점도 분명히 있었다. 한명의 플러터 개발자가 웹과 앱을 같이 관리하거나, 간단한 웹프로젝트에서는 확실히 생산성이 뛰어났다.

가장 고생했던건 네비게이터 부분이다. 앱 프로젝트를 진행 할 때는 go Router를 써본적이 없었다. 딱히 필요하지도 않았고, go Router를 사용하면 확실히 코드량이 증가한다. 하지만 웹 프로젝트에서는 꼭 써야할 때가 있다...
페이지 뎁스에서 뒤로 오면서 특정 작업을 해줘야 할 때나 (then 으로 해결 못할 때), 매개변수를 가지고 페이지 뎁스를 이동하거나 아예 다른 페이지로 이동할 때 등(비로그인으로 이용하다가 로그인이 필요할때 로그인 후 다시 해당 페이지로 이동할때) go Router 말고는 방법이 없다.
문제는 go Router를 처음부터 쓴게 아니라 프로젝트 중반쯤가서 그 필요성을 깨달았다...(기획의 변경과 함께 쏟아지는 추가 기능 요청~ 아시자나요ㅎ) 그래서 이미 완성되어 있단 네비게이션 부분을 go Router를 적용해서 다 뜯어 고쳐야했다.
만약 flutter로 웹 프로젝트를 계획중이시라면 go Router 도입의 필요성을 잘 체크하시고 세팅을 시작하시길ㅎㅎ

(건강 자가 체크 & 건강 미션 웹)

크로스 브라우징과 캐시

크로스 브라우징 문제도 꽤 거슬렸다(특히 safari). 물론 다른 웹 개발 환경에서도 겪는 문제일 수 도 있겠지만 flutter라서 발생하는 문제들도 분명 있었다.
그리고 QA할 때 캐시를 제대로 삭제하질 못해서 수정된 부분을 확인하지 못하는 문제도 계속 발생했다.

로딩속도

그리고 어찌보면 사소하지만 가장 큰 문제가 있었다. 바로 첫 로딩 속도. 이부분은 문제를 파악하고 원인도 알지만 고칠 수 없는 flutter의 한계라고 느껴졌다. 물론 flutter에서 지향하는 웹 프로젝트가 있다는건 알고있다. 그리고 진행한 프로젝트가 그런결이 아니었다는 것도 알지만 이걸 비개발자 분들에게 설명하고 받아들이게 하는것은 우리몫이었다.

결론

이런 문제들을 겪은 이후에 회사에서는 flutter로 웹개발을 하겠다고 결정한 우리팀의 잘못이 크다고 판단했고, 다음부터 flutter로 웹은 절대 하지 말자는 얘기도 나왔다.
(물론 객관적으로 봤을때는 더 큰 문제들이 있었다. 기획빵구 의사소통부재 추가기능 등등)
하지만 잘 진행된 프로젝트도 있었다. 테블릿앱+윈도우앱+웹이 모두 필요한 프로젝트를 혼자 진행하고 관리했는데, 높은 생산성과 속도, 관리의 편리함은 확실한 장점이었다. 프로젝트 관리와 생산성 측면에서는 분명히 장점이 존재한다.
어쨋거나 나는 flutter로 웹 프로젝트를 계속 할 예정이다. 불편함도 있었지만 때려쳐야될 정도는 아니더라ㅋㅋㅋ 그리고 flutter로 간단한 프로젝트를 할 때 생산성은 참 매력적이다.
그리고 이번년도 부터 flutter 팀에서 웹에 더 많은 업데이트 를 할 계획이라고 알고 있다. 앞으로 flutter 웹이 많이 발전하길 기대하고 있다 :)



(병원 사전문진 웹)

profile
효율에 미친자

0개의 댓글