8
Swift 소개 오근현 소프트웨어 엔지니어 #Go To Swift 16 1번째 시간

[SwiftStudy 2016] 1장. Swift 소개

Embed Size (px)

Citation preview

Page 1: [SwiftStudy 2016] 1장. Swift 소개

Swift 소개

오근현 소프트웨어 엔지니어

#Go To Swift 161번째 시간

Page 2: [SwiftStudy 2016] 1장. Swift 소개

Swift?

• iOS, macOS, watchOS, tvOS 개발 언어

• 안전하고 명확한 개발 지향

• Objective-C 보다 성능 향상

• Linux 개발 지원

• 하나의 프로그램에서 C/C++/Objective-C 코드를 동시에 실행할수 있음

Page 3: [SwiftStudy 2016] 1장. Swift 소개

Swift 역사

• 2010년 7월 Chris Lattner 프로젝트 시작

• 2014년 6월 WWDC 2014에서 1.0과 첫번째 Swift 앱 “WWDC” 발표

• 2014년 9월 1.0 릴리즈

• 1.1의 망… 아픔을 딛고 1.2, 2.0, 2.2를 거쳐 안정화

• 2015년 말 Open source 로 개방

• 2016년 WWDC 2016에서 3.0 발표 (스터디 기준 버전)

Chris LattnerLLVM과 Swift의 아버지 격

Page 4: [SwiftStudy 2016] 1장. Swift 소개

Swift Open Source

• https://github.com/apple/swift

• https://github.com/apple/swift-evolution

Page 5: [SwiftStudy 2016] 1장. Swift 소개

Swift의 문법적 특징

• 강한 타입 언어

• Optionals and chaining

• Value-Types

• Protocol-Oriented

• 함수형 언어 기능 지원

• ARC

• ……

Page 6: [SwiftStudy 2016] 1장. Swift 소개

왜 Swift를 배워야하나?

• “안전”하고 “명확”하고 “빠르고” “유지보수가 쉬운” 앱을 “일정단축”해서 개발할 수 있음

• 애플의 최신 기술들이 Swift 기반으로 소개되고 있음

• macOS 10.12 Sierra에서 운영체제 상당 부분 코드가 Swift로 대체

• Swift는 쉽다. 쉬우니 빨리 배우고 말자.

Page 7: [SwiftStudy 2016] 1장. Swift 소개

Objective-C에서 Swift로 전환할 때의 리스크

• 프로그래밍 모델, 타입, 인터페이스 설계 등 언어의 철학과 이해가다름

• 문법과 API 인터페이스의 잦은 변경

• iOS 7 / OS X 10.9 이상 운영체제 앱을 지원 (Swift 2.0 기준)

• C/C++ 기반 라이브러리/코드와 통합을 위한 추가 작업들

• Swift 1.1의 트라우마(망…)

Page 8: [SwiftStudy 2016] 1장. Swift 소개

Swift 스터디 순서(변경될 수도 있음)

• 1회. Swift 소개

• 2회. 타입 파트 1: default types, value-type, optionals and chaining

• 3회. 함수

• 4회. 제어문

• 5회. 타입 파트 2: struct, class, memory management, protocol, closure

• 6회. 프로토콜 오리엔티드 프로그래밍 (WWDC 2015, WWDC 2016)

• 7회. Swift 성능에 대한 이해 (WWDC 2016)

• 8회. 코드 리딩 1: SwiftyJson

• ……