📝 기록/오늘 배우거나 깨달은 것들 🍀

230720 TIL

dev_zoe 2023. 7. 20. 16:02
반응형

1. Swift Package Manager vs Cocoapods

https://velog.io/@jee/Dependency-Manager%EC%9D%98%EC%A1%B4%EC%84%B1-%EA%B4%80%EB%A6%AC-%EB%8F%84%EA%B5%AC-in-iOS

 

Dependency Manager(의존성 관리 도구) in iOS

프로젝트를 진행하며 의존성 관리 도구로 상황에 따라 CocoaPods, SPM을 번갈아 사용해 왔습니다. iOS의 의존성 관리 도구에는 Carthage도 있는데, 각각의 차이를 정확히 몰라 이번 기회에 정리해보았

velog.io

https://tech.kakao.com/2022/06/02/swift-package-manager/

 

Swift Package Manager 적용기

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

tech.kakao.com

 

Swift Package Manager의 장점?

- xcworkspace와 Pods 폴더가 생기지 않아 파일 구조가 복잡하지 않고, 더 가볍다.

- 애플 프레임워크이기 때문에 공식에서 나오는 안정성이 있다.

- 버전을 Cocoapods에서는 일일이 업데이트 해줘야하지만, Swift Package Manager는 자동으로 관리해준다는 장점이 있음

 

단점?

단점으로는 아직 Cocoapods에 비해서는 지원하는 서드파티가 많이 없다는 점인데, 우선 내가 사용하는 라이브러리는 모두 지원하는것같다.

 

2. 유지보수 / 추상화 / 모듈화

 

1) "유지보수가 어렵다" 의 의미

-> 개발자는 혼자가 아닌 다같이 일하고, 후임 개발자가 내 일을 뒤이어 할 수 있다.

다른 개발자가 코드를 보면 금방 이해가 잘되어야 하며(이해의 용이성), 수정이 용이해야 한다. (유지보수 효율성)

 

2) 추상화

https://sowells.tistory.com/127

 

[객체지향] 추상화, 캡슐화, 상속, 다형성

추상화 일반적인 추상화란 중요한 특징을 찾아낸 후 간단하게 표현하는 것이다. 추상화는 여러가지 요소를 하나로 통합하는 방향성을 가지고 있다. 이는 문제를 여가지로 쪼개서 나눠보는 '문

sowells.tistory.com

- 특정 공통적인 개념을 모아서 클래스로 만들어 내는 것 자체로 추상화

- 프로토콜(인터페이스), 상위 클래스 정의 --> 클래스들의 공통사항을 추상화한 결과

 

3) 모듈화

- 하나의 기능을 하나의 모듈로 묶어 재사용성을 높이는 방법.

- 예를들어 사용자가 들어올 때마다 인사하는 welcome() 함수가 있다고 할 때, 이를 사용자가 들어올 때마다 매번 코드를 짜면 지저분하고 재사용성이 매우 좋지 않게 될 것이다.

- 따라서 같은 기능을 하는 단위로 묶어내는 과정이라고 할 수 있다. (함수, 클래스 등등 모두 하나의 기능을 하도록 묶어낸다면 모두 모듈화)

 

반응형

'📝 기록 > 오늘 배우거나 깨달은 것들 🍀' 카테고리의 다른 글

230630 TIL  (0) 2023.06.30
230612 TIL  (0) 2023.06.12
230601 TIL  (0) 2023.06.01
230520 TIL  (0) 2023.05.20
230514 TIL  (0) 2023.05.14