본문 바로가기

전체 카테고리

(14)
(iOS) Library vs Framework(3) 이전 글에서는 정적, 동적 라이브러리의 차이 및 장단점에 대해서 알아보았고, 이번 글에서는 iOS에서 프레임워크가 어떻게 구성되고 사용되는지에 대해서 정리하려고 한다. Framework 사용 목적 프로젝트 규모가 커지고 복잡해질수록 프레임워크를 사용할 때 이점이 많아질 수 있다. 라이브러리와 마찬가지로 프레임워크는 코드 구성이 쉬워지고, 재사용성이 증가하며, 목적에 따라 사용하는 코드의 분리가 가능하다. 프로젝트가 커지며 새로운 기능이 추가될 수록 당연히 코드도 복잡해지고 관리하기가 어려워진다. 따라서 프레임워크를 사용하면 다음과 같은 이점을 얻을 수 있다. 1. 모듈화 각 프레임워크는 특정 기능을 캡슐화하여 코드를 더 쉽게 이해하고 유지 관리할 수 있도록 한다. 앱의 한 영역에서 버그나 성능 문제가 발..
(iOS) Library vs Framework(2) 이번 포스팅에서는 정적(Static), 동적(Dynamic)라이브러리의 장단점, 사용하는 플랫폼에 따라 어떤 차이가 있는지 살펴본 후 프레임워크에 대해서 다뤄보려고 한다. Static Library의 장점. 1. 휴대성(Portability) 정적 라이브러리는 플랫폼에 독립적이므로 라이브러리가 컴파일된 것과 동일한 아키텍처 및 운영 체제를 지원하는 모든 시스템에서 사용할 수 있다. 여기에서 같은 아키텍처를 지원한다는 말이 조금 어려운데, 우리가 소프트웨어 개발 관점에서 아키텍쳐를 설명할 때는 시스템에서 사용중인 프로세서 또는 CPU를 의미한다. 많이 사용되고있는 x86아키텍쳐와 ARM 아키텍쳐는 사용하고 있는 명령어 셋이 다르기떄문에, 한 아키텍쳐를 목적으로 컴파일한 코드가 다른 아키텍쳐에서 실행되기는 ..
(iOS) Library vs Framework(1) iOS에서 모듈화를 하나씩 공부해 보면서 Library와 Framework를 자연스럽게 접하게 되는데 그 안에서도 Static, Dynamic으로 나눠서 사용하고 있어 정확히 어떤 형태의 라이브러리 또는 프레임워크를 이용해야 할지 확실히 몰라 정리해보고자 한다. 작성한 코드가 실행 가능한 파일이 되기까지.. 일단 iOS예시를 먼저 보기 전 C를 예로 들어보자. 아래와 같이 add라는 함수를 사용하는 코드가 있다고 해보자. // add.h #ifndef ADD_H_ #define ADD_H_ int add(int a, int b); #endif // add.c #include "add.h" int add(int a, int b) { return a + b; } // hello.c #include #incl..
Swift import 알아보기 Swift로 iOS개발을 하면서 UIKit, Foundation 등의 모듈을 import해서 사용하는데 이 import가 어떻게 수행되는지 한번 정리해보고 싶었다. 입사 동기분의 추천으로 한 유튜브 영상을 보게 되었는데, Swift에서 C & Objc, Swift 언어로 빌드된 library 또는 framework가 어떻게 import되는지 잘 설명해주고 있어 이를 정리해보고자 한다. 1. C or ObjC언어로 작성된 static library import하기. 아래 피보나치수열을 출력하는 코드를 C언어로 작성한 후 Swift에서 import해보도록 하자. // CStaticLibrary.h #ifndef CStaticLibrary.h #define CStaticLibrary.h #include #en..