인프런 커뮤니티 질문&답변

하민호님의 프로필 이미지
하민호

작성한 질문수

Flutter 응용 - 공공 API를 활용한 앱 만들기 (MVVM 패턴)

MethodChannel 에 관해서 질문이요..

작성

·

249

0

메소드채널을 사용해서 네이티브 통신을 할 수밖에 없는 상황인데요,
iOS와 안드로이드 지식이 필수더라구요.
근데 이 부분을 공부하는데 있어서 모든 것들을 공부하는 건 시간낭비같고,
스위프트와 코틀린의 기본문법 만 익히면 되지않을까 생각하는데,
어떤가요?

답변 1

0

오준석님의 프로필 이미지
오준석
지식공유자

어떤 것 때문인지 구체적으로 알려주시면 좀 더 가이드 해 드리겠습니다.

보통은 네이티브 기능이 필요한 경우 문법만 알아서 된다기 보다는 해당 프레임워크에 대한 이해가 필요한 경우가 많습니다.

하민호님의 프로필 이미지
하민호
질문자

아.. 네

pub.dev에 없는 플러그인 또는 ios에서는 안되지만 안드로이드에서만 대응되는 플러그인 등의 직접 구현해야하는 경우입니다.

예를 들면 특정 광고를 달아야 하는데, 광고 사이트에 제공하는 자료에는

iOS / Android / React Native

네이티브 SDK 만 제공하는 경우...

pub.dev 에 검색해서는 없는 경우..

또한 예전에 applovin 이라는 광고를 붙이고나서 

한동안 문제없었다가 갑자기 어느 특정기간동안 토스트메세지가 자꾸 떠서 확인해보니

applovin광고사에서 안드로이드 SDK 특정 최신버전에서 토스트메세지를 실수로 넣어놓은 것이

문제였었습니다.

그래서 문의해서 받은 대응책이..

"과거 버전의 네이티브 SDK를 받아서 사용하세요. "

였는데, 발만 동동 구르다가.. 그 다음 버전 업데이트되기만을 기다렸고

기다린 끝에 버전 업데이트 된 후로 토스트 메세지 뜨는 버그가 자동으로 사라졌었네요..

이처럼 네이티브 의존성이 강하다보니.. 이럴 때 두렵더라구요.. 

자료도 없고.. 정말 답답합니다..

제가 하고싶은 건

pub.dev에도 의존도를 줄이고싶습니다.

네이티브에서만 사용가능한 센서사용이라던지 장치 내의 값 추출... 등..

감사합니다.

오준석님의 프로필 이미지
오준석
지식공유자

음.. 잘 알았습니다.

플러그인을 만들면서 가는 것이 쉬운일은 아닌 것 같습니다.

아마 원하시는 기능을 플러그인으로 무리없이 만들 수 있는 수준이 되셨다면 네이티브 쪽으로 상당히 시간을 들이셔야 할 것으로 예상됩니다.

저의 경우에는 프로젝트를 진행할 때 기술 검토를 해 보고  pub.dev에 안정적인 라이브러리가 있는 경우 플러터로 진행하고 아닌 경우에는 네이티브로 진행합니다. 저는 이쪽이 플러그인을 만드는 수고에 비해 더 쉽게 진행이 됩니다.

저는 네이티브 안드로이드를 전문으로 해 왔고 iOS 다 수의 프로젝트 경험이 있습니다만 플러터 플러그인을 만드는 것은 생각보다 쉽지 않습니다. 특히 센서 처럼 값을 넘겨주는 것이 더 쉽고, 광고처럼 UI가 필요한 경우에는 더욱 어렵더라고요. 이는 https://pub.dev/packages/google_mobile_ads 의 네이티브 광고 가이드를 보셔도 알 수 있을 겁니다.

문법 정도만 알아서는 하기가 어려울 것 같고요. 프레임워크에 대한 이해도가 어느 정도는 있어야 된다고 봅니다. 

안타깝지만 플러터에서 광고는 그냥 애드몹 쓰는게 정신 건강에 좋을 듯 싶습니다.

하민호님의 프로필 이미지
하민호
질문자

상세한 답변 너무 감사드립니다!

역시 예상대로 너무 험난한 길이였군요. ㅠㅠ

플러터만이 갖고있는 특장점을 더 공부해야겠네요 ^^

다음에 또 궁금증이 생기면 들르겠습니다.

다시한번 감사드립니다.

하민호님의 프로필 이미지
하민호

작성한 질문수

질문하기