새소식

인기 검색어

iOS/iOS

[iOS] 모듈화 Library, Framework, Package,

  • -

Libarary

  • 사용하는 주체가 기능을 요청하여 사용

Framework

  • 사용하는 주체와 기능의 제어권이 역전
  • 테스트 불가능
  • 데모앱 가능
  • 독립적으로 빌드, 테스트가 가능한 세부모듈을 둘 수 없음

Static Framework

  • 앱의 실행 파일 안에 복사
  • 앱 실행파일에 직접 복사되어 있으므로 런타임상 속도 빠름
  • 참조가 아닌 복사이므로 안정적
  • dynamic에 비해 메모리 더 소모
  • Framwork안에 이미지 파일과 같은 리소스 파일이 있어도 사용불가

Dyanamic Framework

  • 런타임 상에서 Mach-O 파일과 참조관계
  • Framework내에 이미지나 뷰같은 리소스 파일, Bundle을 Embed할 수 있음
  • 빌도속도 상승
  • 메모리 상 필요할 때 load시키므로 lazy함
  • 디버그시 필요한 dSYM파일을 프레임워크 개발자가 따로 제공해야함
  • static에 비하여 런타임에서 속도 저하

코드상의 API만 제공해주는 경우 static framework 사용, 아니라면 dynamic framework 사용할 것

Static Framework 개념

  • 의미
    • 앱의 실행 파일(excecutable)에 바이너리 파일이 포함되는 형식 (컴파일 타임에 로드되는 방식)
  • 단점
    • 앱의 사이즈 증가
    • 모듈화 시 static 프레임워크를 의존하게되면 복사가 되므로 여러곳에서 의존할 경우 코드 중복 발생하여 의존성 관리에 더욱 주의해야하는 점이 존재
  • 장점
    • dynamic framework보다 빠른 속도

Dynamic Framework 개념

  • 의미
    • 앱의 실행 파일(excecutable)에 포함되지 않고, 런타임 시 링크되어 앱이 실행되거나 필요할때 프레임워크 코드가 메모리에 로드되는 방식
  • 단점
    • 앱의 바이너리 파일에 포함되어 있지 않고, 링크하여 사용하므로 static framework에 비해서 느린 속도
  • 장점
    • static framework에 비해서 앱의 사이즈가 커지지 않음
    • 해당 프레임워크를 의존하면 코드 복사가 되지 않아서 코드 중복이 발생하지 않아 의존성 관리가 편한점이 존재

Package

  • 테스트 가능
  • 데모앱 불가능
  • 독립적으로 빌드, 테스트가 가능한 세부모듈을 둘 수 있음
  • 세부 모듈끼리의 의존관계 설정 가능

참고 문서

[iOS - swift] framework vs Library (프레임워크와 라이브러리의 차이), static framework, dynamic framework

 

[iOS - swift] framework vs Library (프레임워크와 라이브러리의 차이), static framework, dynamic framework

* 더욱 자세한 static framework외 dynamic framework 개념은 최신 포스팅 글 참고 프레임워크 vs 라이브러리 라이브러리 - "사용하는 주체"가 기능을 요청하며 사용 (언제 요청 할지, 언제 응답 받을지, 언

ios-development.tistory.com

[iOS - swift] Static Framework와 Dynamic Framework의 개념 (UIKit은 Static일까? Dynamic일까?, XCFramework 개념, Mach-O 개념, Embed & Sign 개념)

 

[iOS - swift] Static Framework와 Dynamic Framework의 개념 (UIKit은 Static일까? Dynamic일까?, XCFramework 개념, Mach-O

Static Framework 개념 의미 앱의 실행 파일(excecutable)에 바이너리 파일이 포함되는 형식 (컴파일 타임에 로드되는 방식) 단점 앱의 사이즈 증가 모듈화 시 static 프레임워크를 의존하게되면 복사가 되

ios-development.tistory.com

Static Framework & Dynamic Framework (feat. Library)

 

Static Framework & Dynamic Framework (feat. Library)

안녕하세요. 그린입니다🟢 이번 포스팅에서는 Framework에 대해서 static과 dynamic으로 나눠 학습해보겠습니다💁🏻 우선 Framework에 대해 짚어보고 갈께요. Framework? 프레임워크라 함은 frame + work의

green1229.tistory.com

Library, Framework 그리고 XCFramework

 

Library, Framework 그리고 XCFramework

Library, Framework, XCFramework 각각의 차이점에 대해 알아보자.

showcove.medium.com

Swift Package Manager 적용기

 

Swift Package Manager 적용기

안녕하세요! 카페앱개발파트에서 iOS 개발을 하고 있는 셀린(Celine.jin)입니다. 이번에 카페앱 iOS 프로젝트에 종속성 관리를 위한 Apple의 공식 도구인 Swift Package Manager을 도입하여, 이에 대한 경험

tech.kakao.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.