View

300x250

코코아 프레임워크, 코코아 터치가 뭘까?

애플의 애플리케이션 개발을 찾아보고 공부하면서 굉장히 자주 마주치는 단어가 '코코아'였습니다. 코코아 프레임워크, 코코아 터치, 코코아 팟 등 코코아가 자주 보였는데, 오늘은 이 코코아가 도대체 뭔지 궁금해져서 이에 대해서 한 번 찾아봤습니다.


코코아 프레임워크를 알아보기 위해 일단은 프레임워크에 대해 찾아보자.

프레임워크란?

인터넷을 찾아본 결과 다음의 정의를 얻을 수 있었다.

소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것. ( Ralph Johnson - GoF Design Pattern의 저자 )

이 말을 보고는 라이브러리와 굉장히 유사한 정의라고 생각되었다. 클래스와 그에 속하는 메서드들을 미리 만들어놓고 필요할때마다 뽑아서 쓰는게 라이브러리니까.

 

라이브러리는 필요한 상황에서 원하는 메서드를 뽑아쓰도록 완성된 메서드들이 구성되어있다. 이에 반해 프레임워크는 개발자가 자신의 애플리케이션을 작성할 수 있도록 미완성인 형태로도 정의되어있다. ( java의 추상 메서드 implementing처럼 ). 또한 프레임워크는 개발을 하기위한 확장성을 가지는 코드를 포함하고있는데, 이 자체가 미완성 상태의 애플리케이션이라 볼 수 있다. 개발자는 이 미완성 애플리케이션에 프레임워크에서 메서드를 가져와 덧붙여서 원하는 앱의 개발을 진행할 수 있다.

 

정리하면, 프레임워크는 [ 앱 개발을 편리하고 빠르게 할 수 있도록 미리 뼈대를 세워두는 것 + 살을 붙일 때 필요한 라이브러리 ]라고 볼 수 있겠다.

 

그럼 코코아 프레임워크는?

위에서 언급했던 것 처럼 프레임워크는 앱의 뼈대를 만들어두는 것이고, 이런 프레임워크를 여러개 모아서 더욱 큰 프레임워크를 구성한 것이 애플의 코코아 프레임워크라고 볼 수 있다.

 

이중에서, 터치와 관련된 디바이스의 애플리케이션을 개발할 때 사용할 도구가 코코아 터치 프레임워크이다. 보통 iOS 개발을 할 때는 이 코코아 터치 프레임워크를 사용하게 된다. 이 프레임워크에 iOS 개발에서 굉장히 많이 마주치게되는 UIKit과 Foundation 프레임워크가 포함되어있다. 이를 사용하고자 할 때 import로 불러올 수 있다.

 

Foundation 프레임워크는 이름 그대로 기반을 위한 도구들이 포함되어있다. 데이터타입, 콜렉션, OS기능 등이 포함되어있어서 macOS, iOS, watchOS 등등에 범용적으로 사용된다.

 

UIKit 프레임워크는 iOS와 tvOS를 위한 기반을 제공하여 인터페이스 그래픽을 구성하는 도구를 포함한다.

 

코코아 팟이란?

우선 코코아팟 사이트에 올라와있는 What is Cocoapods에 적혀있는 내용이다.

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 63 thousand libraries and is used in over 3 million apps. CocoaPods can help you scale your projects elegantly.

코코아팟은 Swift와 Objective-C 코코아 프로젝트를 위한 의존적인 매니저이다. 굉장히 많은 라이브러리를 가지고 있고 굉장히 많은 애플리케이션에 사용되고 있다. 당신의 프로젝트가 우아하게 돌아가도록 도와줄 수 있다.

만약 코코아 팟이 없이 프로젝트를 만들면, 오픈소스 프레임워크중에 원하는 기능이 있을 때 해당 프레임워크를 수동으로 설치하고, 프로젝트안에 로드시키는 과정이 필요했다. 빌드설정도 건들여야하고 버전이 업데이트되면 위의 작업들을 다시 새로 해야되는 불편함이 있다. 물론 필요한 프레임워크가 많아질수록 기하급수적으로 노동강도가 올라가게 된다. 이런 불편함을 해소하기 위해 만든것이 코코아 팟이다!

 

코코아 팟에 사용하고자 하는 라이브러리 / 프레임워크의 목록을 텍스트로 작성해두면 알아서 설치와 업데이트를 진행하고 Xcode 프로젝트와의 연결 및 설정도 도와준다.

 

작명센스는 정말 좋은 것 같다. 코코아 프레임워크를 위한 기반인 코코아 화분! 입에 감기고 귀여운 어감이다. ㅋㅋㅋ

 

코코아라는 이름의 유래

Java 언어의 이름이 커피산지에서 따온 것은 널리 알려진 사실이다. Cocoa라는 이름은 개발자들이 우리는 어린이를 위한 Java를 만들자는 뜻으로 코코아로 지었다고 한다. ㅋㅋㅋ


참고자료

https://www.geeksforgeeks.org/software-framework-vs-library/

https://velog.io/@sogih/iOS와-코코아-터치-프레임워크-lsjvc0iqlj

https://jokergt.tistory.com/89

https://blog.shako.net/using-cocoapods/

320x100
Share Link
reply
반응형
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30