✏️
[TIL] Swift와 Objective-C 비교
January 11, 2022
Swift로 iOS를 입문한 나는 문득 왜 Objective-C를 대신하여 Swift가 나왔을까?에 대하여 의문점을 갖게 되었다.
Swift가 출시했음에도 불구하고 Objective-C를 사용하는 기업도 몇몇 있다고 하는데, 간단하게 두 언어의 장단점을 알고 싶었다. (왜 안쓰고 왜 쓰는지는 알면 좋다고 생각한다)
1. 개발 관점
장점 | 단점 | |
---|---|---|
Swift | - 헤더파일 및 본문 파일이 별도로 존재하지 않아 파일 정리에 편리 - 명확한 타입 선언을 하지 않아도 됨 - 애플 자체 컴파일 |
- Swift만의 문법 존재 - Swift버전 업에 따른 API 변동이 큼(현재는 많이 줄어들었다) |
Objective-C | - C개발자의 경우 Swift대비 빠른 습득 가능 - 컴파일 버전 업에 따른 API변동이 없음 - 안정화된 오픈 소스 사용에 용이 |
- 헤더파일 및 본문 파일에 따른 파일 수 증가 - 포인터 사용에 대한 어려움 - 애플 자체 컴파일이 아님 |
2. 퍼포먼스 관점
장점 | 단점 | |
---|---|---|
Swift | - 개발 속도가 빠름 - Null Point Error 발생 방지 |
- 기본적인 앱 사이즈가 큼, 동일 앱 기준(Swift:24MB, Objective-C:308KB) - 잘 만들지 않는다면 Objective-C보다도 느림 |
Objective-C | - 기본적인 앱 사이즈가 작음 - C기반 빠른 속도 자랑 |
- 개발 속도가 Swift에 비해 느림 - Null Point Error 발생 가능성 존재 |
내가 느낀 결론
- Objective-C의 안전성(안정화)과 속도
- Swift의 민첩한 업데이트와 최신 기술력
- Swift가 앱 사이즈가 크고 더 느려질 수 있다고 하지만, 현재 디바이스의 성능이 좋아지고 개발자들이 비즈니스 변화에 맞춰서 빠른 개발 속도를 내줘야하는 것을 보면 퍼포먼스 관점에서의 단점은 많이 이겨내는 것 같다.