: 일반적으로 플러터 어플 만들 때 사용
android
, build
, ios
, lib
, macos
, test
, web
, windows
: 기존 Anroid 또는 iOS로 개발 되어있는 앱에 플러터 뷰나 기능을 넣고 싶을 때 사용
.android
, .ios
, lib
, test
참고.
: 모듈식 다트 코드를 포함하는 공유 가능한 flutter project
lib
, test
참고.
: Android, iOS에 대한 플랫폼별 구현과 Dart Code로 작성된 API를 포함된 공유 가능한 flutter project
dart 코드와 네이티브 코드가 모두 포함
Flutter는 플랫폼 채널과 메세지 passing을 사용해 네이티브 애플리케이션이 할 수 있는 모든 것 할 수 있음
기본 폴더 구조: example
, lib
, test
--platforms=android,ios,linux,macos,windows
명령어를 통해 플랫폼을 추가하면 플랫폼 폴더가 추가로 생긴다.create 명령어 참고 자료: https://docs.flutter.dev/development/packages-and-plugins/developing-packages#step-1-create-the-package-1
참고.
: 일반적으로 플러터 어플 만들 때 사용2
application으로 만들면 카운터 앱이 기본으로 뜨지만 스켈레톤으로 만들면 더 복잡한 리스트 페이지가 예제로 기본으로 만들어짐
(다크모드와 라우팅, 상태관리도 포함되어있음)
간단 요약 시,
패키지(package)는 다트 코드만을 사용
플러그인(plugin)은 다트 코드와 플랫폼 구현 까지 포함
FFI?
:Foreign Function Interface
프로그래밍 언어에서 다른 프로그래밍 언어 코드를 호출하기 위한 인터페이스 뜻함
- A 언어로는 불가능한 일이 B언어로는 가능한 경우
- A 언어로는 비효율적인 일이 B언어로는 효율적인 경우
- B로 쓰여진 코드가 이미 제공하는 기능을 A로 번역없이 그대로 사용하고 싶은 경우
A언어에서 FFI를 통해 B의 코드를 이용할 수 있다.