Swift는 애플이 2014년 세계 개발자 대회에서 발표한 "새로운 언어"입니다.
그 동안 앱을 개발하는 데에 사용되던 오브젝티브-C를 대체할 목적으로 발표된 언어이며
이전 주력 언어였던 '오브젝티브-C'는 'C언어'를 '기초'로 하여
스몰토크의 메시지 전달 개념과 객체 지향 개념을 반영한, 말그대로 "객체지향형 C언어" 입니다.
그러한 특성 때문에 그동안 iOS 앱을 개발하기 위해서는
C 언어의 저수준 프로그래밍과 스몰토크의 객체지향 개념을 동시에 구현해야 한다는 부담이 있었습니다.
게다가
C 언어의 장점이자 단점인 포인터 개념은 오브젝티브-C를 강력한 언어로 만들어주긴 했지만,
처음 접근하는 사람에게는 그만큼 높은 장벽으로 작용하기도 했습니다.
프로그래밍을 익히는데 어려움이 있다보니, 프로그래밍 공부에 지쳐 앱 개발을 포기하는 일도 잦았습니다.
앱의 다양한 기능에 집중해야할 개발자가 성능 개선에 더 많은 노력과 시간을 소모하는 현상을 가져오기도 했습니다.
이는 애플이 바라는 앱 생태계와는 다소 거리가 있었습니다.
애플은 앱 개발자들이 기술적으로 더 훌륭한 앱을 만들기보다는 기능적으로
더 다양한 종류의 앱을 만들기를 원했기 때문에,
아이디어를 가진 많은 잠재적 개발자들까지도
마음만 먹으면 손쉽게 앱을 구현할 수 있는 환경을 만들어주는 것이 과제였습니다.
이같은 목적성에 기초하여 기능이 아니라 성능에 관련된 많은 부분,
특히 코드 최적화나 메모리 관리, 성능 관리 등의 기술 경험 기반 개발 이슈를
시스템이 전담하여 개발자들의 부담을 덜어주는 것이 가장 중요했으며
이러한 목표를 위해 만들어진 언어 플랫폼이 바로 Swift입니다.
스위프트는 기존의 오브젝티브-C가 C 언어로부터 가져온 저수준 프로그래밍을 자동 관리 영역으로 대체했고,
생소한 문법이지만 객체지향을 위해 사용할 수밖에 없었던 스몰토크의 메시지 문법을 사람들에게 익숙한
자바, 파이썬, C#의 문법으로 바꾸었으며, 오브젝티브-C와 호환까지 가능하도록 설계되는 등
여러 가지 언어적 강점을 지녔습니다.
오브젝티브-C가 고급 개발자를 대상으로 사용된 언어라면 스위프트는
개발에 갓 입문하는 사람들까지 무리 없이 사용할 수 있는 언어입니다.
그 대표적인 기능이 바로 '인터랙티브 플레이그라운드' 입니다.

직관적으로 코드를 작성하여 그 결과까지 볼 수 있는 이 편집기는
왼쪽의 편집 창에서 코드를 작성하면 중간 경과물을 보여줄 뿐만 아니라
즉석에서 컴파일하여 처리 결과까지 제공합니다.
직관적인 사용자 인터페이스를 통하여
쉬운 접근을 추구하는 애플의 철학이 반영된 결과물인 것이죠.
기술적인 관점에서 스위프트는 애플의 메인 프레임워크인
코코아 프레임워크와 코코아 터치 프레임워크를 모두 사용할 수 있습니다.
LLVM 컴파일러, 옵티마이저, 오토벡터링, ARC 메모리 관리, 런타임 환경 등을
기존 언어의 개발 환경과 거의 동일하게 사용할 수 있다는 장점도 있다네요!
'IOS > Swift' 카테고리의 다른 글
Swift 자료형 (0) | 2024.02.18 |
---|---|
Swift 변수와 상수 (0) | 2024.02.18 |
Swift 간단 기초 문법 (0) | 2024.02.18 |
Swift 언어의 특징 (0) | 2024.02.18 |
앱개발의 Swift(스위프트)가 무엇인가? (0) | 2024.02.18 |