SlideShare a Scribd company logo
1 of 8
Download to read offline
Swift 소개
오근현 소프트웨어 엔지니어
#Go To Swift 161번째 시간
Swift?
• iOS, macOS, watchOS, tvOS 개발 언어
• 안전하고 명확한 개발 지향
• Objective-C 보다 성능 향상
• Linux 개발 지원
• 하나의 프로그램에서 C/C++/Objective-C 코드를 동시에 실행할
수 있음
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 Lattner
LLVM과 Swift의 아버
지 격
Swift Open Source
• https://github.com/apple/swift
• https://github.com/apple/swift-evolution
Swift의 문법적 특징
• 강한 타입 언어
• Optionals and chaining
• Value-Types
• Protocol-Oriented
• 함수형 언어 기능 지원
• ARC
• ……
왜 Swift를 배워야하나?
• “안전”하고 “명확”하고 “빠르고” “유지보수가 쉬운” 앱을 “일정
단축”해서 개발할 수 있음
• 애플의 최신 기술들이 Swift 기반으로 소개되고 있음
• macOS 10.12 Sierra에서 운영체제 상당 부분 코드가 Swift로 대체
• Swift는 쉽다. 쉬우니 빨리 배우고 말자.
Objective-C에서 Swift로 전환할 때의 리스크
• 프로그래밍 모델, 타입, 인터페이스 설계 등 언어의 철학과 이해가
다름
• 문법과 API 인터페이스의 잦은 변경
• iOS 7 / OS X 10.9 이상 운영체제 앱을 지원 (Swift 2.0 기준)
• C/C++ 기반 라이브러리/코드와 통합을 위한 추가 작업들
• Swift 1.1의 트라우마(망…)
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
• ……

More Related Content

Similar to [SwiftStudy 2016] 1장. Swift 소개

Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)Daniel Juyung Seo
 
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍Chris Ohk
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
iOS App development
iOS App developmentiOS App development
iOS App development404warehouse
 
WWDC2016 스터디 공유 발표 - 공유용
WWDC2016 스터디 공유 발표 - 공유용WWDC2016 스터디 공유 발표 - 공유용
WWDC2016 스터디 공유 발표 - 공유용Keunhyun Oh
 
Swift 3 Programming for iOS
Swift 3 Programming for iOSSwift 3 Programming for iOS
Swift 3 Programming for iOSKwang Woo NAM
 
Swift package manager
Swift package managerSwift package manager
Swift package manager성관 윤
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 rockplace
 
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD StudioDevgear
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYHyun-woo Park
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가smartstudy_official
 
OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)
OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)
OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)Ian Choi
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화KTH, 케이티하이텔
 
React native development
React native developmentReact native development
React native developmentSangSun Park
 
Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅
Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅
Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅Atlassian 대한민국
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기NAVER Engineering
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화DONGSU KIM
 

Similar to [SwiftStudy 2016] 1장. Swift 소개 (20)

Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
Tizen - A Linux Based Open Source Platform (제 17회 한국 LUG 소프트웨어 테크니컬 세미나)
 
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
 
1 swift 소개
1 swift 소개1 swift 소개
1 swift 소개
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
iOS App development
iOS App developmentiOS App development
iOS App development
 
WWDC2016 스터디 공유 발표 - 공유용
WWDC2016 스터디 공유 발표 - 공유용WWDC2016 스터디 공유 발표 - 공유용
WWDC2016 스터디 공유 발표 - 공유용
 
Swift 3 Programming for iOS
Swift 3 Programming for iOSSwift 3 Programming for iOS
Swift 3 Programming for iOS
 
Swift package manager
Swift package managerSwift package manager
Swift package manager
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
 
OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)
OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)
OpenStack과 업스트림 컨트리뷰션 (2016 IT 21 글로벌 컨퍼런스)
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
 
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
[H3 2012] 앱(APP) 중심으로 생각하기 - DevOps와 자동화
 
React native development
React native developmentReact native development
React native development
 
Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅
Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅
Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 
DevOps Demo
DevOps DemoDevOps Demo
DevOps Demo
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화
 

More from Keunhyun Oh

Mastering Python chapter3
Mastering Python chapter3Mastering Python chapter3
Mastering Python chapter3Keunhyun Oh
 
[SwiftStudy 2016] 3장. 함수
[SwiftStudy 2016] 3장. 함수[SwiftStudy 2016] 3장. 함수
[SwiftStudy 2016] 3장. 함수Keunhyun Oh
 
프로그래밍 오브젝티브 C 2.0 (5/E) - 8장 상속
프로그래밍 오브젝티브 C  2.0 (5/E) -  8장 상속프로그래밍 오브젝티브 C  2.0 (5/E) -  8장 상속
프로그래밍 오브젝티브 C 2.0 (5/E) - 8장 상속Keunhyun Oh
 
연관도 분석을 이용한 데이터마이닝
연관도 분석을 이용한 데이터마이닝연관도 분석을 이용한 데이터마이닝
연관도 분석을 이용한 데이터마이닝Keunhyun Oh
 
게임 AI를 통해 본 인공지능 기본 개념
게임 AI를 통해 본 인공지능 기본 개념게임 AI를 통해 본 인공지능 기본 개념
게임 AI를 통해 본 인공지능 기본 개념Keunhyun Oh
 
Doing data science chap11
Doing data science chap11Doing data science chap11
Doing data science chap11Keunhyun Oh
 
Doing data science chap4
Doing data science chap4Doing data science chap4
Doing data science chap4Keunhyun Oh
 

More from Keunhyun Oh (7)

Mastering Python chapter3
Mastering Python chapter3Mastering Python chapter3
Mastering Python chapter3
 
[SwiftStudy 2016] 3장. 함수
[SwiftStudy 2016] 3장. 함수[SwiftStudy 2016] 3장. 함수
[SwiftStudy 2016] 3장. 함수
 
프로그래밍 오브젝티브 C 2.0 (5/E) - 8장 상속
프로그래밍 오브젝티브 C  2.0 (5/E) -  8장 상속프로그래밍 오브젝티브 C  2.0 (5/E) -  8장 상속
프로그래밍 오브젝티브 C 2.0 (5/E) - 8장 상속
 
연관도 분석을 이용한 데이터마이닝
연관도 분석을 이용한 데이터마이닝연관도 분석을 이용한 데이터마이닝
연관도 분석을 이용한 데이터마이닝
 
게임 AI를 통해 본 인공지능 기본 개념
게임 AI를 통해 본 인공지능 기본 개념게임 AI를 통해 본 인공지능 기본 개념
게임 AI를 통해 본 인공지능 기본 개념
 
Doing data science chap11
Doing data science chap11Doing data science chap11
Doing data science chap11
 
Doing data science chap4
Doing data science chap4Doing data science chap4
Doing data science chap4
 

[SwiftStudy 2016] 1장. Swift 소개

  • 1. Swift 소개 오근현 소프트웨어 엔지니어 #Go To Swift 161번째 시간
  • 2. Swift? • iOS, macOS, watchOS, tvOS 개발 언어 • 안전하고 명확한 개발 지향 • Objective-C 보다 성능 향상 • Linux 개발 지원 • 하나의 프로그램에서 C/C++/Objective-C 코드를 동시에 실행할 수 있음
  • 3. 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 Lattner LLVM과 Swift의 아버 지 격
  • 4. Swift Open Source • https://github.com/apple/swift • https://github.com/apple/swift-evolution
  • 5. Swift의 문법적 특징 • 강한 타입 언어 • Optionals and chaining • Value-Types • Protocol-Oriented • 함수형 언어 기능 지원 • ARC • ……
  • 6. 왜 Swift를 배워야하나? • “안전”하고 “명확”하고 “빠르고” “유지보수가 쉬운” 앱을 “일정 단축”해서 개발할 수 있음 • 애플의 최신 기술들이 Swift 기반으로 소개되고 있음 • macOS 10.12 Sierra에서 운영체제 상당 부분 코드가 Swift로 대체 • Swift는 쉽다. 쉬우니 빨리 배우고 말자.
  • 7. Objective-C에서 Swift로 전환할 때의 리스크 • 프로그래밍 모델, 타입, 인터페이스 설계 등 언어의 철학과 이해가 다름 • 문법과 API 인터페이스의 잦은 변경 • iOS 7 / OS X 10.9 이상 운영체제 앱을 지원 (Swift 2.0 기준) • C/C++ 기반 라이브러리/코드와 통합을 위한 추가 작업들 • Swift 1.1의 트라우마(망…)
  • 8. 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 • ……