스위프트(Swift)는 애플이 iOS, macOS, watchOS, tvOS 및 리눅스용 애플리케이션 개발을 위해 만든 범용, 다중 패러다임, 컴파일 프로그래밍 언어이다. 2014년 애플 세계 개발자 회의(WWDC)에서 처음 공개되었으며, 2015년 12월 3일 오픈 소스로 공개되었다.
== 역사 ==
스위프트는 2010년 7월부터 크리스 래트너를 주축으로 한 애플 개발자들이 기존의 Objective-C, C, C++, Rust, Haskell, Ruby, Python 등 여러 언어의 장점을 결합하여 개발하기 시작했다. 2014년 6월 2일 WWDC에서 첫 공개되었고, 2015년 12월 3일 Apache 2.0 라이선스로 오픈 소스화되었다. 이후 2019년 9월에 공개된 Swift 5.0부터 ABI(Application Binary Interface) 안정화가 이루어졌다.
== 특징 ==
- 안전성(Safe): 널 포인터 역참조, 배열 인덱스 오버플로우 등 일반적인 프로그래밍 오류를 컴파일 타임에 방지한다.
- 빠른 성능(Fast): LLVM 컴파일러를 사용하여 최적화된 네이티브 코드를 생성하며, C++ 수준의 성능을 목표로 한다.
- 표현력(Expressive): 현대적이고 깔끔한 문법을 제공하며, 클로저, 제네릭, 타입 인터페이스 등 강력한 기능을 포함한다.
- 상호운용성: Objective-C와의 완전한 호환성을 제공하여 기존 코드와 라이브러리를 함께 사용할 수 있다.
== 문법 예시 ==
swift
// Hello World 출력
print("Hello, World!")
// 변수와 상수
var variable = 42
variable = 50
let constant = 42
// 옵셔널 타입
var optionalString: String? = "Hello"
optionalString = nil
// 함수 정의
func greet(name: String, day: String) -> String {
return "Hello \(name), today is \(day)."
}
== 응용 분야 ==
스위프트는 주로 애플 생태계 내 애플리케이션 개발에 사용되며, iOS 앱, macOS 앱, watchOS 앱, tvOS 앱 개발의 공식 언어이다. 서버 사이드 개발(예: Vapor, Kitura 프레임워크), 머신러닝(Core ML), 시스템 프로그래밍에도 활용된다.
== 개발 환경 ==
- Xcode: 애플의 공통 개발 환경으로, 스위프트 컴파일러와 통합 개발 환경(IDE)을 제공한다.
- Swift Playgrounds: iPad와 Mac에서 코드를 실험하고 학습할 수 있는 인터랙티브 환경.
- 리눅스: 공식 스위프트 컴파일러를 통해 리눅스에서도 개발 가능하다.
== 버전 역사 ==
- Swift 1.0 (2014년 9월)
- Swift 2.0 (2015년 9월)
- Swift 3.0 (2016년 9월)
- Swift 4.0 (2017년 9월)
- Swift 5.0 (2019년 3월) - ABI 안정화
- Swift 6.0 (개발 중)
== 관련 문서 ==
- [[Objective-C]]
- [[Xcode]]
- [[iOS]]
- [[애플]]
== 외부 링크 ==