프로그래밍/flutter로 앱만들기
-
Firebase 테스트 환경을 만들 때, 꼭 알아야 할 '로컬(mock) 환경' 이야기프로그래밍/flutter로 앱만들기 2025. 4. 28. 18:31
Flutter로 앱을 개발하면서 Firebase를 연동하고 테스트를 하다 보면, 한 가지 의문이 생긴다."테스트할 때도 진짜 Firebase 서버에 요청이 가는 걸까?"나도 처음에는 별 생각 없이 코드를 짰는데, 어느 순간부터 걱정이 들기 시작했다.혹시 이거 테스트 돌릴 때마다 비용이 나가는 건 아닐까?테스트 데이터가 진짜 DB에 쌓이면 어떡하지?그래서 찾아보게 된 게 바로 로컬(mock) 환경이다.로컬(mock) 환경이란?간단하게 말하면,실제 서버에 연결하지 않고, "서버에 연결된 척" 하는 테스트 환경이다.예를 들어, FirebaseAuth.instance.signInWithEmailAndPassword(...) 같은 메서드를 호출했을 때, 진짜 네트워크 요청을 보내는 대신, 로컬에 있는 가짜 객체가..
-
flutter async 함수 안에서는 await를 여러 번 사용할 수 있을까?프로그래밍/flutter로 앱만들기 2025. 4. 22. 13:11
Dart나 Flutter를 처음 접하면 가장 먼저 눈에 띄는 키워드 중 하나가 async와 await이다. 그리고 문득 이런 의문이 생긴다. "async 붙인 함수 안에서 await는 한 번만 써야 하는 거 아니야?"사실은 그렇지 않다. 결론부터 말하면, async 함수 내부에서는 await를 여러 번 사용하는 게 가능하고, 오히려 그렇게 사용하는 게 자연스럽다.비동기 처리는 외부에서 시간이 오래 걸리는 작업이 있을 때 자주 쓰게 된다. 예를 들어, 서버에서 데이터를 받아오거나, 파일을 업로드하거나, DB에 정보를 저장하는 등 Flutter에서 UI를 멈추지 않게 하려면 이 모든 작업을 비동기로 처리해야 한다. 이때 await 키워드를 통해 결과가 올 때까지 기다리고, 그 이후 로직을 작성하는 흐름이..
-
Flutter는 왜 UI를 단 하나의 스레드에서만 그릴까?프로그래밍/flutter로 앱만들기 2025. 4. 22. 11:47
처음 Flutter를 배우다 보면, 이런 생각 한 번쯤 들죠?“왜 이렇게 async랑 await가 많아?”“이거 다 Dart 문법 때문인가, 아니면 Flutter 구조 때문인가?” 저도 Flutter 처음 시작할 땐 그랬어요.근데 알고 보니 이건 Dart 언어 특성도 있지만,무엇보다 Flutter의 철학적인 선택이 크더라고요. 오늘은 왜 Flutter는 UI를 단 하나의 메인 스레드에서만 다루게 했는지,그리고 그 구조 덕분에 우리가 얼마나 편해지는지를 간단히 정리해볼게요.🎯 결론 먼저 말할게요Flutter는 개발자에게 예측 가능한 UI를 주기 위해,UI는 무조건 하나의 메인 스레드에서만 그리도록 강제합니다.이게 끝이에요. 근데 그 이유가 꽤 재밌어요.1️⃣ Flutter는 직접 그리는 프레임워크Andr..