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 공유하기 게시글 관리 iOS 개발 공부 저작자표시 'iOS > iOS' 카테고리의 다른 글 [iOS] HitTest (2) 2024.06.13 [iOS] UIResponder, Responder Chain, First Responder (0) 2024.06.09 [iOS] 하위 뷰의 frame이 잡히지 않을 때 (1) 2023.12.28 [iOS] UITableViewCell 또는 UICollectionViewCell 에서 Bind할 때 주의점 (0) 2023.12.28 [iOS] NaverMap SDK iOS SPM으로 추가하기 (0) 2023.12.13 Contents 당신이 좋아할만한 콘텐츠 [iOS] HitTest 2024.06.13 [iOS] UIResponder, Responder Chain, First Responder 2024.06.09 [iOS] 하위 뷰의 frame이 잡히지 않을 때 2023.12.28 [iOS] UITableViewCell 또는 UICollectionViewCell 에서 Bind할 때 주의점 2023.12.28 댓글 0 + 이전 댓글 더보기