[Flutter] 라이브러리, 패키지, 플러그인 , SDK

Angela Jeong·2024년 4월 16일

라이브러리 vs 패키지

둘은 서로 교차해서 사용되긴 하지만 '공유'의 측면에서 차이가 있다고 보면 된다.

라이브러리

  • 누군가가 만들어 둔 코드의 집합이다.
  • 개발자가 코드를 재사용하여 효율적으로 개발할 수 있도록 설계된 코드의 모음이라고 보면 된다.

패키지

  • 라이브러리의 보다 더 구조화, 형식화 되어 있어서 공유하고 활용하기 좋은 형태라고 보면 된다.
  • 하나 이상의 라이브러리와 의존성, 버전 정보, 문서 등과 함께 제공되고 pub.dev에서 쉽게 사용이 가능하다.

라이브러리: 재사용하기 위한 코드 조각
패키지: 공유, 재사용을 위해 설계된 형태



패키지 vs 플러그인

Dart 코드로만 이루어져있는지, 네이티브가 섞여있는지로 구분하면 된다.

패키지

  • Dart 코드로만 이루어져 있다.

플러그인

  • 외부 서비스와 상호작용하기 위해 사용된다.
  • Java, Kotlin, Swift, JavaScript 등 다른 코드를 포함하고 있는 패키지이다.
  • 즉, 플러그인은 패키지의 유형일 뿐이고 GPS, 카메라 액세스, 지도 서비스 등의 기능을 제공한다.

예를 들어, url_launcher를 그냥 편하게 import 해서 쓰면 되지만 (Flutter에겐 그냥 패키지다.) url_launcher의 소스코드를 들여다보면 ios, aos에서 각각 어떻게 처리할건지 자바 코드로 작성되어 있는 것을 알 수 있다. 특정 플랫폼에 의지하기 때문에 사실 플러그인이라고 불러야 하지만 쓰는 우리 입장에서는 패키지인 것!

패키지: Dart 코드로 이루어진 패키지
플러그인: 네이티브 코드가 포함된 패키지



SDK

Software Development Kit. 소프트웨어 개발 도구 모음이다.
코드샘플, 다큐먼트, api, 라이브러리를 담고 있는 키트라서 앱을 빌드하기 위해 필요한게 다 있다고 보면 된다. 만약 채팅 SDK를 쓴다면 비용을 지불하고 코드 샘플, api 등을 모두 활용할 수 있을 것이다.




참고)

API (Application Programming Interface)

통신을 위한 목적으로 쓰이는 매개체로 소프트웨어 프로그램이 다른 소프트웨어 프로그램으로 데이터를 전송할 수 있도록 하는 규칙 집합.

open api

oepn api는 인터넷 상에서 누구나 쓸 수 있게 (호출 가능하게) 만든 api다.
구글 지도 api, 네이버, 쿠팡 api 등 플랫폼에서 제공하는데 그들의 플랫폼을 많이 이용하게 하기 위해 오픈하는 것!

0개의 댓글