안드로이드와 아이폰 앱을 함께 만들 때 Flutter를 쓰면 일부 코드를 공유할 수 있습니다. 그렇다고 개발·검수·운영 작업이 모두 절반으로 줄어드는 것은 아닙니다. 기기 기능과 외부 SDK, 운영체제별 동작을 얼마나 다루는지에 따라 별도 작업이 남습니다.
발주 단계에서는 기술 이름으로 먼저 결정하기보다 서비스에서 빠지면 안 되는 기능을 기준으로 두 방식을 비교하는 것이 좋습니다.
화면이 비슷한 앱과 기기를 깊이 다루는 앱은 조건이 다릅니다
회원 정보, 목록, 신청, 진행 상태처럼 두 운영체제에서 비슷한 화면과 업무를 제공한다면 공통 개발의 이점을 검토할 수 있습니다. 반면 특정 장비의 제조사 SDK, 장시간 백그라운드 동작, 복잡한 미디어 처리 등이 중요하면 플랫폼별 구현과 검증의 비중을 따져야 합니다.
네이티브 기능이 있다는 이유만으로 Flutter를 바로 제외할 필요도 없습니다. Flutter는 플랫폼별 코드를 연결할 수 있는 방식을 제공합니다. 다만 연결할 수 있다는 것과 해당 서비스에서 안정적으로 지원·유지할 수 있다는 것은 다른 질문입니다. Flutter 플랫폼별 코드 연동 안내
외부 SDK 목록을 제안서에 붙이세요
결제, 본인 확인, 지도, 푸시, Bluetooth 장비처럼 연동할 대상을 적고 공식 지원 범위를 확인합니다. Flutter용 연결 도구가 있더라도 누가 관리하는지, 필요한 기능을 제공하는지, 업데이트가 멈추면 어떤 대응이 필요한지 살펴봐야 합니다.
기술 검토 결과는 다음처럼 정리할 수 있습니다.
- 그대로 이용 가능한 기능
- 플랫폼별 코드를 추가해야 하는 기능
- 실제 기기 시험 전에는 확답하기 어려운 기능
- 현재 조건에서 지원이 어려워 대안이 필요한 기능
필수 기능이 마지막 두 항목에 있으면 화면 디자인을 모두 끝내기 전에 짧은 기술 검증을 먼저 하는 편이 낫습니다. 이 검증은 전체 앱 납품을 대신하는 것이 아니라 개발 방향을 결정할 근거입니다.
운영체제별 검수는 공통 코드와 별개입니다
로그인과 결제가 정상이어도 앱을 껐다 켰을 때, 권한을 거부했을 때, 다른 앱으로 이동했다 돌아왔을 때 문제가 생길 수 있습니다. 지원할 기종과 운영체제 버전, 화면 크기, 배터리와 통신 조건을 정해 실제 사용 흐름을 확인해야 합니다.
두 방식 모두 앱스토어 제출, 서명·계정 관리, 운영체제 업데이트 대응이 필요합니다. 견적 비교에는 초기 화면 개발뿐 아니라 이런 작업이 어디까지 포함됐는지 넣으세요. 특정 방식이면 심사나 운영이 자동으로 쉬워진다고 가정하지 않는 것이 좋습니다.
선택 이유가 다음 담당자에게도 설명돼야 합니다
‘요즘 많이 쓴다’보다 ‘공통 화면의 비중이 높고 필요한 SDK의 지원을 확인했다’는 설명이 낫습니다. 네이티브를 선택했다면 어떤 필수 기능과 운영 조건 때문에 플랫폼별 개발이 필요한지 기록합니다. 인수인계 때 개발 환경과 배포 방법을 재현할 수 있어야 한다는 점은 어느 방식이든 같습니다.
케이엠웍스의 모바일 앱 개발은 iOS·Android·Flutter를 포함해 서비스 조건에 맞는 구현 방식을 검토합니다. 사용자가 반드시 해야 할 일, 연동할 장비·서비스, 지원할 휴대폰 범위를 앱 제작 문의에 남겨주세요. 기술을 미리 결정하지 않으셔도 됩니다.