# 채널링

Flutter 는 Native(iOS/Android)에 API를 호출할 수 있는 유연한 시스템을 사용하여 인터페이스합니다.

* Flutter <--> iOS
* Flutter <--> Android

<figure><img src="https://2113601596-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQwN4pCJIiPfU3rtbboz1%2Fuploads%2FdS0I8iM4gCw4qiRcu2KQ%2FPlatformChannels.png?alt=media&#x26;token=8ac4ede4-ee58-4c83-b612-d55d302bdc35" alt=""><figcaption><p>사진의 다이어그램과 같이 플랫폼 채널을 사용하여 (UI)와 (플랫폼) 간에 메세지가 전달됩니다.</p></figcaption></figure>

* 사용자 인터페이스의 응답성을 유지하기 위해 메시지와 응답은 비동기식으로 전달됩니다.
* *클라이언트 측에서는* [`MethodChannel`](https://api.flutter.dev/flutter/services/MethodChannel-class.html)메소드 호출에 해당하는 메시지 전송을 활성화합니다.&#x20;
* *플랫폼 측에서는* Android([`MethodChannelAndroid`](https://api.flutter.dev/javadoc/io/flutter/plugin/common/MethodChannel.html))의 `MethodChannel` 및 \
  iOS([`MethodChanneliOS`](https://api.flutter.dev/objcdoc/Classes/FlutterMethodChannel.html))의`FlutterMethodChannel`에서 \
  메서드 호출을 수신하고 결과를 다시 보낼 수 있습니다.&#x20;

\**이러한 클래스를 사용하면 매우 적은 양의 '상용구' 코드로 플랫폼 플러그인을 개발할 수 있습니다.*
