IOS/iOS

[TIL] 라이브러리, 프레임워크의 차이

  프레임워크 - 뼈대나 기반구조를 뜻합니다. 프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공해주기 때문에 프레임워크를 사용하는 프로그래머는 이 프레임워크의 뼈대 위에서 코드를 작성하여 프로그램을 개발.

  라이브러리 - 특정 기능에 대한 도구 또는 함수들의 집합입니다. 프로그래머가 어떠한 기능을 수행하기 위해서 도움을 주는 또는 필요한 것을 제공해 주는 역할을 하는 것이죠. 간단히 정리를 하자면 프로그램 기능 수행을 위해 활용 가능한 도구의 집합입니다.

차이 = 프레임워크는 전체적인 흐름을 자체적으로 가지고있어 프로그래머는 그안에서 필요한 코드를 작성합니다. 라이브러리는 프로그래머가 전체적인 흐름을 가지고 있어 라이브러리를 자신이 원하는 기능을 구현하고 싶을 때 가져다 사용할수 있습니다.

  비유하자면 => 프레임워크 = 집( 사람이 들어와서 집을 사용 ) , 라이브러리 = TV, 의자, 침대 ( 사람이 물건을 사용 )

 iOS에서의 프레임워크

 앱의 흐름에 비교를 하면 뷰컨트롤러의경우 호출되는 메서드들의 단계가 정해져있는데 사용자는 그 흐름의 사이사이에 자신의 코드를 삽입하여 프레임워크가 가동될때 코드가 ' 호출 ' 되어지는 것이다.

  • 라이브러리: 내 코드가 호출함
  • 프레임워크: 내 코드가 호출당함
  • Inversion of Control: 제어권이 프레임워크로 넘어간 상황
  • Dependency Injection: IoC의 조금더 구체적인 용어로, 제어역전을 위해 코드를 추상적인 공간에 넣는 것을 의미함

 

##참고 블로그##
medium.com/@hongseongho/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EC%99%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EC%9D%98-%EC%B0%A8%EC%9D%B4-2f5bf35140ca

 

프레임워크와 라이브러리의 차이

프레임워크와 라이브러리라는 단어는 나에게 익숙한 단어다. 내가 필요할 때 가져다 쓰는 도구 정도로 생각하고 있었는데, 두 개념은 다른점이 있다. 오픈소스의 README를 살펴보면 딱히 두 용어

medium.com

 

'IOS > iOS' 카테고리의 다른 글

[iOS]UTC Time To Date (feat. TimeZone)  (2) 2021.01.08
[TIL][iOS] Retain Cycle, Weak, Unowned ( feat. ARC )  (0) 2020.12.22
[TIL] iOS MVC to MVVM Refactoring  (0) 2020.12.01
[TIL] iOS의 구조  (0) 2020.11.29
[TIL] iOS. Password AutoFill  (0) 2020.11.26