Swift란
2014년 WWDC를 통해서 처음 공개된 언어
기존에는 Objective-C로만 iOS앱 개발이 가능했는데 Swift가 공개 되고나서는 Swift로도 iOS앱을 개발 할수 있게 되었다.
비교적 최근에 나온 언어인 만큼, 기존 프로그래밍 언어들이 많이 참고되었다.
Swift의 특징
안정성
- Type에 엄격하다 1
- 문자열 배열에는 문자열만 담을 수 있다.
- 타입 안정성을 위해 타입체크를 해줘야한다.
- nil(빈 값)에 엄격하다
- 컴파일을 할떄 문제가 될수있는 nil객 체를 만들거나 사용할수 없도록 함. (nil을 사용할 경우 옵셔널(Optional)을 이용하여 빈값이 올수도 있다고 표현)
표현성
-
표현성을 고려한 프로그래밍 언어이다.
func greet(person: String, from hometown: String) -> String { return "안녕하세요 \(person)님! \(hometown)에서 오시느라 고생 많으셨습니다." } greet(person: "길동", from: "대전") // 안녕하세요 길동님! 대전에서 오시느라 고생 많으셨습니다.
swift가 더 나은 표현성을 제공하는 만큼 해석하기 용이하다.
-
다중 패러다임 프로그래밍 언어 지원
명령형 프로그래밍 패러다임, 객체 지향 프로그래밍 패러다임, 함수형 프로그래밍 패러다임, 프로토콜형 지향 프로그래밍 패러다임을 지원한다.
Swift 학습 자료
Apple Developer Documentation https://developer.apple.com/documentation/
→ 주제별로 다운로드 할수 있는 샘플코드와 설명 제공
Swift.org https://docs.swift.org/swift-book/documentation/the-swift-programming-language/
→ Swft 언어에 대해 사전처럼 검색 가능(소개, 원리, 사용법, 주의할 점 등 안내)
The Swift Language Guide(한국어) https://jusung.gitbook.io/the-swift-language-guide/
Swift API Design Guidelines https://www.swift.org/documentation/api-design-guidelines/
→ 네이밍, 컨벤션 등을 정할떄 참고하면 좋은 API 디자인 가이드라인
Apple Developer WWDC https://developer.apple.com/videos/all-videos/
→ 매년 발표되는 WWDC 영상들이 아카이브 되어있음. WWDC22부터는 한국어 자막 지원
iOS App Dev Tutorials : https://developer.apple.com/tutorials/app-dev-training
-
그만큼 TypeSafe한 언어라고도 할 수 있다. ↩︎