[iOS] Modularization(1) - Library, Framework, Swift Package
2023. 5. 4. 01:55
iOS/iOS
Xcode에서 Project를 생성하면, 하나의 App Target이 자동으로 생성된다. 이때의 App Target은 하나의 Module이 된다. 별도의 Framework를 추가하지 않는 이상,모든 코드는 Single Target에 추가되게 된다. 위와 같이 하나의 Module로 이루어진 App을 "Monolitic App"이라 부른다. 이러한 Monolitic App은 여러 가지 단점을 가지고 있다.하나의 모듈에 모든 소스코드가 들어있기 때문에 internal과 public을 구분할 수 없다. 이로 인해, 객체들은 무분별하게 참조될 가능성이 있으며, 이는 코드 변경의 영향 범위를 파악하기 어려워진다. 또한, 특정 기능만 테스트하고 싶다 해도 Project내의 모든 소스코드를 빌드해야 한다. App의..