Modern
Swift는 수십 년의 Apple 플랫폼 구축 경험과 결합 된 프로그래밍 언어에 대한 최신 연구의 결과입니다. 명명 된 매개 변수는 Swift의 API를 더 쉽게 읽고 유지 보수 할 수 있도록 깨끗한 구문으로 표현됩니다. 더 좋은 점은 세미콜론을 입력 할 필요도 없다는 것입니다. 유추 된 유형은 코드를 더 깔끔하게 만들고 실수 가능성을 줄이는 반면 모듈은 헤더를 제거하고 네임 스페이스를 제공합니다. 다국어 및 그림 이모티콘을 가장 잘 지원하기 위해 문자열은 유니 코드에 맞고 UTF-8 기반 인코딩을 사용하여 다양한 사용 사례에 대한 성능을 최적화합니다. 메모리는 엄격하고 결정적인 참조 계산을 사용하여 자동으로 관리되므로 가비지 수집의 오버 헤드없이 메모리 사용량을 최소로 유지합니다.
현대적이고 간단한 방식으로 새로운 유형 선언 통사론. 인스턴스 속성에 대한 기본값을 제공하고 사용자 지정 이니셜 라이저를 정의합니다.
확장을 사용하여 기존 유형에 기능을 추가하고 사용자 지정 문자열 보간으로 상용구를 줄입니다.
사용자 지정 형식을 빠르게 확장하여 가져옵니다. 자동 JSON 인코딩 및 디코딩과 같은 강력한 언어 기능의 이점.
간단한 클로저를 사용하여 강력한 사용자 지정 변환을 수행합니다.
이러한 미래 지향적 개념은 재미 있고 쉬운 언어를 만듭니다.
Swift에는 코드를보다 표현력있게 만드는 다른 많은 기능이 있습니다.
- 강력하고 사용하기 쉬운 제네릭
- 프로토콜 확장 일반 코드를 더욱 쉽게 작성
- 1 급 함수 및 경량 클로저 구문
- 범위 또는 컬렉션에 대한 빠르고 간결한 반복
- 튜플 및 여러 반환 값
- 메소드, 확장 및 프로토콜을 지원하는 구조체
- 열거 형은 페이로드를 포함하고 패턴 일치를 지원할 수 있습니다.
- 기능적 프로그래밍 패턴 (예 :지도 및 필터)
- try / catch / throw를 사용한 기본 오류 처리
안전을위한 설계
Swift는 안전하지 않은 코드의 전체 클래스를 제거합니다. 변수는 항상 사용하기 전에 초기화되고, 배열과 정수는 오버플로가 있는지 확인하고, 메모리는 자동으로 관리되며, 메모리에 대한 배타적 액세스를 시행하면 많은 프로그래밍 실수로부터 보호됩니다. 의도를 쉽게 정의 할 수 있도록 구문이 조정됩니다. 예를 들어 간단한 3 자 키워드는 변수 (var) 또는 상수 (let)를 정의합니다. 그리고 Swift는 특히 배열 및 사전과 같이 일반적으로 사용되는 유형에 대해 값 유형을 많이 활용합니다. 즉, 해당 유형으로 무언가의 복사본을 만들면 다른 곳에서 수정되지 않는다는 것을 알 수 있습니다.
또 다른 안전 기능은 기본적으로 Swift 객체는 절대 nil이 될 수 없다는 것입니다. 사실, Swift 컴파일러는 컴파일 타임 오류가있는 nil 객체를 만들거나 사용하지 못하게합니다. 이를 통해 코드 작성이 훨씬 더 깨끗하고 안전 해지며 앱에서 엄청난 범주의 런타임 충돌을 방지 할 수 있습니다. 그러나 nil이 유효하고 적절한 경우가 있습니다. 이러한 상황을 위해 Swift에는 선택 사항으로 알려진 혁신적인 기능이 있습니다. 선택 사항에는 nil이 포함될 수 있지만 Swift 구문은?를 사용하여 안전하게 처리해야합니다. 구문을 사용하여 컴파일러에 동작을 이해하고 안전하게 처리 할 것입니다.
함수에서 반환 할 인스턴스가 있거나 없을 때 선택 사항을 사용합니다.
기능 선택적 바인딩, 선택적 체인 및 nil 병합과 같은 선택적 값으로 안전하고 효율적으로 작업 할 수 있습니다.
빠르고 강력합니다
초기 개념에서 Swift는 빠르도록 구축되었습니다. 믿을 수 없을만큼 고성능 LLVM 컴파일러 기술을 사용하는 Swift 코드는 최신 하드웨어를 최대한 활용하는 최적화 된 네이티브 코드로 변환됩니다. 구문과 표준 라이브러리는 또한 코드를 작성하는 가장 확실한 방법이 손목 시계에서 실행 되든 서버 클러스터에서 실행 되든 상관없이 최고의 성능을 발휘하도록 조정되었습니다.
Swift는 후속 제품입니다. C 및 Objective-C 언어 모두에. 여기에는 유형, 흐름 제어 및 연산자와 같은 저수준 기본 요소가 포함됩니다. 또한 클래스, 프로토콜 및 제네릭과 같은 객체 지향 기능을 제공하여 Cocoa 및 Cocoa Touch 개발자에게 필요한 성능과 성능을 제공합니다.
Great First Language
Swift는 문을 열 수 있습니다. 코딩의 세계에. 실제로 학교에 재학 중이 든 새로운 경력을 쌓고 있든 관계없이 누구나 첫 번째 프로그래밍 언어로 설계되었습니다. 교육자를 위해 Apple은 교실 안팎에서 Swift를 가르치는 무료 커리큘럼을 만들었습니다. 처음 코딩하는 사람은 Swift 코드를 인터랙티브하고 재미있게 시작할 수있는 iPad 용 앱인 Swift Playgrounds를 다운로드 할 수 있습니다.
열망하는 앱 개발자는 무료 과정에 액세스하여 Xcode에서 첫 번째 앱을 빌드하는 방법을 배울 수 있습니다.또한 전 세계의 Apple Store에서 Today at Apple Coding & 앱 세션을 개최하여 Swift 코드를 실습 할 수 있습니다.
Swift 교육 리소스에 대해 자세히 알아보기 Apple에서
소스 및 바이너리 호환성
Swift 5를 사용하면 새 버전의 컴파일러를 사용하기 위해 Swift 4 코드를 수정할 필요가 없습니다. 대신 새로운 컴파일러 사용을 시작하고 한 번에 한 모듈 씩 새로운 Swift 5 기능을 활용하여 원하는 속도로 마이그레이션 할 수 있습니다. 그리고 Swift 5는 이제 앱에 대한 바이너리 호환성을 도입합니다. 즉, Swift 라이브러리는 앞으로 모든 OS 릴리스에 포함될 것이므로 현재 및 향후 OS 릴리스를 대상으로하는 앱에 더 이상 Swift 라이브러리를 포함 할 필요가 없습니다. 앱은 OS에서 최신 버전의 라이브러리를 활용하고 코드는 다시 컴파일하지 않고 계속 실행됩니다. 이렇게하면 앱 개발이 더 간단해질뿐만 아니라 앱의 크기와 실행 시간도 줄어 듭니다.
오픈 소스
Swift는 Swift에서 공개적으로 개발되었습니다. 모든 사람이 사용할 수있는 소스 코드, 버그 추적기, 포럼 및 정기적 인 개발 빌드가 포함 된 org. 이 광범위한 개발자 커뮤니티는 Apple 내부뿐만 아니라 수백 명의 외부 기여자 모두가 함께 협력하여 Swift를 더욱 멋지게 만듭니다. 커뮤니티의 개발자가 Swift의 위대한 잠재력을 실현하는 방법에 대한 경험을 공유하는 훨씬 더 광범위한 블로그, 팟 캐스트, 컨퍼런스 및 모임이 있습니다.
크로스 플랫폼
Swift는 이미 모든 것을 지원합니다. Apple 플랫폼 및 Linux, 커뮤니티 구성원이 더 많은 플랫폼으로 이식하기 위해 적극적으로 노력하고 있습니다. SourceKit-LSP를 통해 커뮤니티는 Swift 지원을 다양한 개발자 도구에 통합하기 위해 노력하고 있습니다. Swift가 소프트웨어를 더 안전하고 빠르게 만드는 동시에 프로그래밍을 더 재미있게 만드는 더 많은 방법을 보게되어 기쁩니다.
Swift for Server
Swift는 Apple 플랫폼에서 많은 새로운 앱을 지원합니다. , 또한 새로운 종류의 최신 서버 응용 프로그램에도 사용되고 있습니다. Swift는 런타임 안전성, 컴파일 된 성능 및 작은 메모리 공간이 필요한 서버 앱에 사용하기에 적합합니다. 서버 애플리케이션 개발 및 배포를위한 Swift의 방향을 안내하기 위해 커뮤니티는 Swift Server 작업 그룹을 구성했습니다. 이러한 노력의 첫 번째 제품은 고성능 프로토콜 서버 및 클라이언트를위한 크로스 플랫폼 비동기 이벤트 중심 네트워크 애플리케이션 프레임 워크 인 SwiftNIO였습니다. 이는 모두 활발하게 개발중인 로깅, 측정 항목 및 데이터베이스 드라이버를 포함하여 추가 서버 지향 도구 및 기술을 구축하기위한 기반 역할을합니다.
오픈 소스 Swift 커뮤니티 및 Swift Server 작업에 대해 자세히 알아보기 그룹은 Swift.org를 방문하십시오.
Playgrounds 및 Read-Eval-Print-Loop (REPL)
iPad 용 Swift Playgrounds와 마찬가지로 Xcode의 놀이터는 Swift 코드 작성을 만듭니다. 믿을 수 없을 정도로 간단하고 재미 있습니다. 코드 줄을 입력하면 결과가 즉시 나타납니다. 그런 다음 코드 측면에서 결과를 훑어 보거나 그 결과를 바로 아래에 고정 할 수 있습니다. 결과보기는 그래픽, 결과 목록 또는 시간에 따른 값의 그래프를 표시 할 수 있습니다. 타임 라인 도우미를 열어 복잡한 뷰가 진화하고 애니메이션되는 것을 볼 수 있으며, 새로운 UI 코드를 실험하거나 코딩하면서 애니메이션 된 SpriteKit 장면을 재생할 수 있습니다. 플레이 그라운드에서 코드를 완성했으면 해당 코드를 프로젝트로 이동하기 만하면됩니다. Swift는 터미널 또는 Xcode의 LLDB 디버깅 콘솔에서 사용할 때도 대화 형입니다. Swift 구문을 사용하여 실행중인 앱을 평가하고 상호 작용하거나 새 코드를 작성하여 스크립트와 유사한 환경에서 어떻게 작동하는지 확인하십시오.
Package Manager
Swift Package Manager는 단일 프로그램입니다. Swift 라이브러리 및 실행 파일을 빌드, 실행, 테스트 및 패키징하기위한 크로스 플랫폼 도구입니다. Swift 패키지는 Swift 커뮤니티에 라이브러리와 소스 코드를 배포하는 가장 좋은 방법입니다. 패키지 구성은 Swift 자체로 작성되어 대상 구성, 제품 선언 및 패키지 종속성 관리가 용이합니다. Swift 5의 새로운 기능인 swift run 명령에는 실행 파일을 빌드 할 필요없이 REPL에서 라이브러리를 가져 오는 기능이 포함됩니다. Swift Package Manager 자체는 실제로 Swift로 빌드되었으며 Swift 오픈 소스 프로젝트에 패키지로 포함되어 있습니다.
Objective-C 상호 운용성
오늘 Swift로 완전히 새로운 애플리케이션을 만들 수 있습니다. 또는 Swift 코드를 사용하여 앱에 새로운 기능을 구현하십시오. Swift 코드는 동일한 프로젝트의 기존 Objective-C 파일과 함께 공존하며 Objective-C API에 대한 전체 액세스 권한을 통해 쉽게 채택 할 수 있습니다.