You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 스위프트 언어 on Google, you do not find the information you need! Here are the best content compiled and compiled by the Toplist.maxfit.vn team, along with other related topics such as: 스위프트 언어 스위프트 난이도, 스위프트 문법, Swift 강좌, Swift, 스위프트 책, Swift 언어 특징, 스위프트 파이썬, swift 나무위키
스위프트 (프로그래밍 언어) – 위키백과, 우리 모두의 백과사전
- Article author: ko.wikipedia.org
- Reviews from users: 23210 Ratings
- Top rated: 4.9
- Lowest rated: 1
- Summary of article content: Articles about 스위프트 (프로그래밍 언어) – 위키백과, 우리 모두의 백과사전 스위프트(영어: Swift)는 애플의 iOS와 macOS를 위한 프로그래밍 언어로 2014년 6월 2일 애플 세계 개발자 회의(WWDC)에서 처음 소개되었다. … 스위프트 언어의 문법은 … …
- Most searched keywords: Whether you are looking for 스위프트 (프로그래밍 언어) – 위키백과, 우리 모두의 백과사전 스위프트(영어: Swift)는 애플의 iOS와 macOS를 위한 프로그래밍 언어로 2014년 6월 2일 애플 세계 개발자 회의(WWDC)에서 처음 소개되었다. … 스위프트 언어의 문법은 …
- Table of Contents:
헬로 월드 프로그램[편집]
0부터 9까지 반복문[편집]
같이 보기[편집]
참고 문헌[편집]
외부 링크[편집]
Swift – Apple (KR)
- Article author: www.apple.com
- Reviews from users: 3770 Ratings
- Top rated: 3.5
- Lowest rated: 1
- Summary of article content: Articles about Swift – Apple (KR) Swift는 Apple이 iOS, Mac, Apple TV 그리고 Apple Watch 앱 개발용으로 만든 강력하고 직관적인 프로그래밍 언어입니다. 개발자들에게 어느 때보다 큰 자유를 선사 … …
- Most searched keywords: Whether you are looking for Swift – Apple (KR) Swift는 Apple이 iOS, Mac, Apple TV 그리고 Apple Watch 앱 개발용으로 만든 강력하고 직관적인 프로그래밍 언어입니다. 개발자들에게 어느 때보다 큰 자유를 선사 … Swift는 Apple이 iOS 및 Mac 앱 개발용으로 만든 프로그래밍 언어입니다. 강력하면서도 사용이 간편해 초보자도 쉽게 활용할 수 있죠.
- Table of Contents:
개발자들은 Swift로훌륭한 일들을 해내고 있습니다
교육 기관들도 Swift를 커리큘럼에포함시키고 있습니다
Swift는 쉽게 구할 수 있습니다 그리고 누구에게나 개방되어 있습니다
Swift 시작하기
Apple Footer
Swift는 초보자들이 배우기에 좋은 언어인가요?
- Article author: academy.realm.io
- Reviews from users: 24300 Ratings
- Top rated: 3.8
- Lowest rated: 1
- Summary of article content: Articles about Swift는 초보자들이 배우기에 좋은 언어인가요? 수준에 따라 다릅니다만, Swift는 C 계열 언어와는 달리 함수를 사용하는 것이 필수가 아닙니다. 그냥 코드를 적고 뭔가 동작하게 할 수 있습니다. 또한 … …
- Most searched keywords: Whether you are looking for Swift는 초보자들이 배우기에 좋은 언어인가요? 수준에 따라 다릅니다만, Swift는 C 계열 언어와는 달리 함수를 사용하는 것이 필수가 아닙니다. 그냥 코드를 적고 뭔가 동작하게 할 수 있습니다. 또한 … Swift는 초보자들이 배우기에 좋은 언어인가요?
- Table of Contents:
Swift는 초보자들이 배우기에 좋은 언어인가요
완벽한 Swift 교육도구 Playgrounds
아쉬운 점
정리
[Swift] 나의 3번째 프로그래밍 언어, Swift :: ttaeng_99 ‘s 개발의 흔적들
- Article author: abangpa1ace.tistory.com
- Reviews from users: 21141 Ratings
- Top rated: 5.0
- Lowest rated: 1
- Summary of article content: Articles about [Swift] 나의 3번째 프로그래밍 언어, Swift :: ttaeng_99 ‘s 개발의 흔적들 Swift 란? … Swift는 2014년 Apple 사에서 발표한, iOS와 MacOS X용 응용프로그램 개발을 위한 프로그래밍 언어이다. 기존 애플의 개발을 위해 사용된 … …
- Most searched keywords: Whether you are looking for [Swift] 나의 3번째 프로그래밍 언어, Swift :: ttaeng_99 ‘s 개발의 흔적들 Swift 란? … Swift는 2014년 Apple 사에서 발표한, iOS와 MacOS X용 응용프로그램 개발을 위한 프로그래밍 언어이다. 기존 애플의 개발을 위해 사용된 … 🤔 서론 정말 오랜만에 개발 툴이 아닌, 새로운 언어를 공부하게 되었다. (초심으로 돌아간 기분 🤩🤩) 2022년 올해부터 앱 개발을 조금씩 병행하기로 마음을 먹었고, 다양한 선택지를 고민하다가 iOS 네이티브 언..
- Table of Contents:
TAG
관련글 관련글 더보기
인기포스트
Swift란 어떤 언어인가? – yagom’s blog
- Article author: blog.yagom.net
- Reviews from users: 42454 Ratings
- Top rated: 4.0
- Lowest rated: 1
- Summary of article content: Articles about Swift란 어떤 언어인가? – yagom’s blog 스위프트는 C 언어를 기반으로 한 C, C++, Objective-C와 같은 프로그래밍 언어를 대체하려는 목적으로 만들어졌습니다. 아직은 부분적으로 미흡하지만 … …
- Most searched keywords: Whether you are looking for Swift란 어떤 언어인가? – yagom’s blog 스위프트는 C 언어를 기반으로 한 C, C++, Objective-C와 같은 프로그래밍 언어를 대체하려는 목적으로 만들어졌습니다. 아직은 부분적으로 미흡하지만 … yagom’s blog Swift란 어떤 언어인가?
- Table of Contents:
Swift란 어떤 언어인가
스위프트의 역사
스위프트의 특징
스위프트로 무엇을 할 수 있을까
스위프트 사용 환경
마치며
Continue Reading
뉴스레터를 구독하고 새로운 소식을 빠르게 받아보세요 )
스위프트 언어 – 해시넷
- Article author: wiki.hash.kr
- Reviews from users: 617 Ratings
- Top rated: 4.3
- Lowest rated: 1
- Summary of article content: Articles about 스위프트 언어 – 해시넷 스위프트(Swift)는 미국 애플(Apple) 회사가 아이오에스(iOS)와 오에스텐(OS X) 프로그래밍을 위해 개발한 프로그래밍 언어이다. …
- Most searched keywords: Whether you are looking for 스위프트 언어 – 해시넷 스위프트(Swift)는 미국 애플(Apple) 회사가 아이오에스(iOS)와 오에스텐(OS X) 프로그래밍을 위해 개발한 프로그래밍 언어이다.
- Table of Contents:
위키
목차
개요[편집]
배경[편집]
역사[편집]
특징[편집]
활용[편집]
문제점[편집]
전망[편집]
각주[편집]
참고자료[편집]
같이 보기[편집]
Swift언어는 뭐가좋아?
- Article author: velog.io
- Reviews from users: 22178 Ratings
- Top rated: 4.8
- Lowest rated: 1
- Summary of article content: Articles about Swift언어는 뭐가좋아? Swift는 Apple WWDC 2014에서 최초로 공개된 프로그래밍 언어로 당시 Objective-C의 단점을 보완하며 등장한 언어이다. Swift는 초기버전부터 현재의 … …
- Most searched keywords: Whether you are looking for Swift언어는 뭐가좋아? Swift는 Apple WWDC 2014에서 최초로 공개된 프로그래밍 언어로 당시 Objective-C의 단점을 보완하며 등장한 언어이다. Swift는 초기버전부터 현재의 … Swift는 Apple WWDC 2014에서 최초로 공개된 프로그래밍 언어로 당시 Objective-C의 단점을 보완하며 등장한 언어이다. Swift는 초기버전부터 현재의 Swift5에 이르기까지 다양한 기능들이 추가되고 사라지며 업데이트가 되어왔고, 같은 애플의 언어
- Table of Contents:
Swift_Study
Swift에 대한 간단한 소개
Swift의 특징
Swift의 문제점
개인적인 생각
애플 스위프트 언어를 배워야 하는 12가지 이유 – CIO Korea
- Article author: www.ciokorea.com
- Reviews from users: 3115 Ratings
- Top rated: 3.4
- Lowest rated: 1
- Summary of article content: Articles about 애플 스위프트 언어를 배워야 하는 12가지 이유 – CIO Korea 2017년 3월 월간 TIOBE 지수에 따르면 스위프트는 전세계에서 가장 인기 있는 10대 프로그래밍 언어에 등극했다. PYPL 프로그래밍 언어 인기도 추적에서 … …
- Most searched keywords: Whether you are looking for 애플 스위프트 언어를 배워야 하는 12가지 이유 – CIO Korea 2017년 3월 월간 TIOBE 지수에 따르면 스위프트는 전세계에서 가장 인기 있는 10대 프로그래밍 언어에 등극했다. PYPL 프로그래밍 언어 인기도 추적에서 … 현직 개발자이거나 장래희망이 개발자인 사람, 아니면 가정이나 학교, 대학에서 앱 구축 방법을 배워볼까 하는 사람이라면 애플의 스위프트(Swift
- Table of Contents:
스위프트(Swift) 언어를 배워야 하는 이유
- Article author: daystudy.tistory.com
- Reviews from users: 39655 Ratings
- Top rated: 3.5
- Lowest rated: 1
- Summary of article content: Articles about 스위프트(Swift) 언어를 배워야 하는 이유 2017년 3월 월간 TIOBE 지수에 따르면 스위프트는 전세계에서 가장 인기 있는 10대 프로그래밍 언어에 등극했다. PYPL 프로그래밍 언어 인기도 추적에서 … …
- Most searched keywords: Whether you are looking for 스위프트(Swift) 언어를 배워야 하는 이유 2017년 3월 월간 TIOBE 지수에 따르면 스위프트는 전세계에서 가장 인기 있는 10대 프로그래밍 언어에 등극했다. PYPL 프로그래밍 언어 인기도 추적에서 … 1. 스위프트는 오픈소스이다 스위프트의 사용 및 개발은 애플이 오픈 소스로 만든 이후 가속도가 붙었다. 2017년 3월 월간 TIOBE 지수에 따르면 스위프트는 전세계에서 가장 인기 있는 10대 프로그래밍 언어에..
- Table of Contents:
태그
‘DevOps’ Related Articles
티스토리툴바
See more articles in the same category here: toplist.maxfit.vn/blog.
스위프트 (프로그래밍 언어)
이 문서는 스위프트라는 프로그래밍 언어에 관한 것입니다. 전산학에서 영어 표기와 동일한 철자의 조류학에서 생물 분류에 대해서는 칼새과 문서를 참고하십시오.
스위프트(영어: Swift)는 애플의 iOS와 macOS를 위한 프로그래밍 언어로 2014년 6월 2일 애플 세계 개발자 회의(WWDC)에서 처음 소개되었다.[3] 스위프트 언어의 문법은 파이썬 언어라고 발표 초창기에 알려졌었다. 기존의 애플 운영체제용 언어인 오브젝티브-C와 함께 사용할 목적으로 만들어졌다.[출처 필요]
오브젝티브-C와 마찬가지로 LLVM으로 빌드되고 같은 런타임을 공유한다. 클로저, 다중 리턴 타입, 네임스페이스, 제네릭스, 타입 유추 등 오브젝티브-C에는 없었던 현대 프로그래밍 언어가 갖고 있는 기능을 많이 포함시켰으며 코드 내부에서 C나 오브젝티브-C 코드를 섞어서 프로그래밍하거나 스크립트 언어처럼 실시간으로 상호작용하며 프로그래밍 할 수도 있다.[4] 언어 설명서도 함께 배포되었다. 애플에서는 iBooks에서 Swift에 관한 책을 배포하고 있다. 2.0버전에서 3.0버전이 나오며 많은 C 형식의 for문이 삭제되고 ++,–연산자가 삭제되는 등 많은 변경이 되어 하위호환이 안된다. [5] Xcode에서 사용 가능하다.
헬로 월드 프로그램 [ 편집 ]
//Swift 2.0 이전 println ( “Hello, World!” ) //Swift 2.0 이후 print ( “Hello, World!” )
0부터 9까지 반복문 [ 편집 ]
//Swift 2.2 까지 for ( var i = 0 ; i < 10 ; i ++ ) { print ( i ) } //Swift 3.0 이후 for i in 0. . < 10 { print ( i ) } 같이 보기 [ 편집 ] 참고 문헌 [ 편집 ]
[Swift] 나의 3번째 프로그래밍 언어, Swift
반응형
🤔 서론
정말 오랜만에 개발 툴이 아닌, 새로운 언어를 공부하게 되었다. (초심으로 돌아간 기분 🤩🤩)
2022년 올해부터 앱 개발을 조금씩 병행하기로 마음을 먹었고, 다양한 선택지를 고민하다가 iOS 네이티브 언어인 Swift를 선택한 것이다.
다른 선택지들을 고민하고 포기했던 이유들은 아래와 같다.
React-Native : JS와 React를 다루는 나에게 매력적인 선택지였다. 하지만, Flutter나 Native 언어에 비해 매우 부족한 퍼포먼스 와, 크로스 플랫폼 시작에서 Flutter에게 역전되는 트렌드 , Facebook의 지원 축소 등이 이유가 되었다.
: JS와 React를 다루는 나에게 매력적인 선택지였다. 하지만, 와, , 등이 이유가 되었다. Flutter : 크로스 플랫폼(1개 소스코드로 Android, iOS 2가지 앱을 개발) 시장에서 가장 핫한 언어. Google이 서비스하며 Native 기능 대부분을 차용한다는 장점이 있지만, Dart라는 실패한 언어 사용 및 애매한 시장 점유율 등이 이유가 되었다.
: 크로스 플랫폼(1개 소스코드로 Android, iOS 2가지 앱을 개발) 시장에서 가장 핫한 언어. Google이 서비스하며 Native 기능 대부분을 차용한다는 장점이 있지만, 및 등이 이유가 되었다. Android Studio(Kotlin) : 안드로이드 플랫폼 개발툴 및 언어. 하지만, 개발을 하면서 macOS, 아이폰에 더 흥미가 생김.🤣
특히, Flutter(크로스 플랫폼) vs Swift(네이티브) 사이에서 많은 고민을 한 것 같다. 둘 모두 앱뿐만 아니라 웹, 랩탑 영역까지 개발 가능하단 점에서 매력적으로 다가왔었다. (참고링크)
네이티브 기능의 사용성도 있지만, 현실적으로 좀 더 안정적인 점유율과 커뮤니티, 인력수요를 가진 Swift를 최종적으로 선택하게 되었다.
이번 포스팅에선, Swift라는 언어 자체에 대해 간단하게 알아보고, 다음 포스팅부터 관련 문법을 강의와 학습내용 기반으로 적어가겠다!
📙 Swift 란?
Swift는 2014년 Apple 사에서 발표한, iOS와 MacOS X용 응용프로그램 개발을 위한 프로그래밍 언어이다.
기존 애플의 개발을 위해 사용된 Objective-C 와 공존하면서 좀 더 빠르고, 현대적이고, 안전한 언어라는 취지로 발표한 언어이다.
(Apple 공식 사이트에서는, Swift를 누구에게나 가능한 첫 번쨰 프로그래밍 언어라는 슬로건을 비추고 있다.)
Swift의 언어는 공식적으로 Python의 문법을 많이 차용하고 있다. (for … in, print 등)
또한, 기존의 Objective-C보다 빠른 실행속도와 안전성을 자랑할 뿐 아니라, 현대 프로그래밍 언어의 주요 기능들도 구현했다.
(클로저, 다중 리턴 타입, 네임스페이스, 제너릭, 타입 유추 등)
Swift의 주요 특징이자 장점은 아래와 같은 점들이 있다.
신속성 : 고성능 LLVM 컴파일러로 C언어와 비슷한 빠른 성능을 보이며, 컴파일러를 지속적으로 개량하여 실행 속도가 빠르다.
: 고성능 LLVM 컴파일러로 C언어와 비슷한 빠른 성능을 보이며, 컴파일러를 지속적으로 개량하여 실행 속도가 빠르다. 안전성 : Optional, guard 구문, 오류처리, 강력한 타입 통제 등을 통해 프로그래머의 오류를 방지한다.
: Optional, guard 구문, 오류처리, 강력한 타입 통제 등을 통해 프로그래머의 오류를 방지한다. 현대성 : 간결하고 가독성이 좋은 구조를 취하며, 현대 프로그래밍 언어의 유용한 기능들과 디버깅/테스트가 유리한 장점이 있다.
가장 최신버전은, 2021.12.13에 출시한 5버전의 최신 브랜치 5.5.2이다.
– Swift 프로그래밍 패러다임
Swift는 여러 가지 프로그래밍 언어의 특징과 패러다임을 차용한 다중 패러다임의 언어이다.
1) 객체 지향 프로그래밍
Objective-C와의 연관성이 있다 보니 기본적으로 객체지향의 특징을 취한다.
객체 단위의 소스코드 구성으로, 대규모 어플리케이션 개발 및 유지보수에도 용이하도록 설계가 되었다.
2) 함수형 프로그래밍
최근 트랜드로 각광받는 함수형의 특징도 어느 정도 수용 가능한 모습이다.
반복적인 연산처리를 단순화할 수 있으며, 함수 자체의 응용을 특히 중요하게 여긴다. (이는 사용해봐야 알 듯)
3) 프로토콜 지향
참조 타입인 클래스의 인스턴스보다, 값 타입을 더 효율적으로 사용하며 오류 역시 줄일 수 있는 방법이다.
Swift에서 구조체와 열거형에 기존 클래스에서 구현했던 캡슐화, 추상화, 접근 제어 등의 기능을 추가할 수 있다.
이외에도, 많은 프로그래밍 언어들의 특징을 가져왔는데 참조 링크를 통해 학습해보자 (_Jbee 님의 블로그 포스팅)
– Xcode 시작하기
Xcode는 iOS App 개발을 위한 IDE(통합 개발 환경, Integrated Development Environment) 이다. (vscode 와 같은)
Objective-C, Swift 등의 iOS 개발언어부터, C, C++, Java, Python 등 다양한 언어를 공식적으로 지원한다.
또한, iOS(아이폰)뿐만 아니라 MacOS, watchOS, tvOS 등 다양한 플랫폼 소프트웨어를 개발할 수 있는 크로스 플랫폼 기반환경이다.
iOS 개발을 위해서 이 Xcode의 설치 및 준비가 필요하므로 이를 간단히 알아보도록 하겠다!
* 설치
App Store에서, Xcode를 검색하고 설치하면 된다. (보통 MacOS에 기본적으로 설치가 되어있다.)
* 실행
Xcode를 실행하면 처음으로 뜨는 창이다. Create(새 프로젝트), Clone(가져오기), Open(기존 프로젝트) 등을 선택한다.
우측에는 최근에 작업한 프로젝트들의 로그가 남아있다. 최신버전은, 2022년 1월 기준 Xcode 13의 브랜치 13.2.1 이다.
* Xcode 12부터는 Playground(간단한 코드 실행환경) 구성 옵션이 없어졌다. ( 메뉴 > File > New > Playground 로 생성가능)
* 프로젝트 시작
언어의 특징만을 보다 보니 특별히 적을 내용이 많이 없었지만, Swift 언어의 아이덴티티를 확실히 알고 가게 되었다.
다음 포스팅부터는, Swift의 기본적인 문법들에 대해 우선 학습 및 블로그 작성을 진행하겠다!
📎 참고링크
– [Swift 소개] Apple 개발자 전용 사이트 : https://developer.apple.com/kr/swift/
– [Swift vs Flutter] Dart/Flutter vs Swift/Native iOS, Which One is better? : https://infostride.com/flutter-vs-native-ios/.
– [Swift 특징] _Jbee 님의 블로그 : https://asfirstalways.tistory.com/277
– [Swift 특징과 패러다임] just-noza 님의 블로그 : https://just-noza.tistory.com/144
– [Xcode 시작하기] jdusans 님의 블로그 : https://m.blog.naver.com/jdusans/221921541686
반응형
Swift란 어떤 언어인가?
오늘의 주제
스위프트란 어떤 언어인가?
안녕하세요, 야곰입니다.
스위프트에 대해 몇 번의 포스팅을 통해 전해드릴 예정입니다.
우왕 짝짝짝!
우리가 알아볼 스위프트는 미국의 유명가수 테일러 스위프트가 아니라 스위프트 검색하면 각종 스위프트 정보가… 가수, 자동차, 작가, 자전거 등등… 꽤 최근에 만들어진 프로그래밍 언어를 이야기 합니다.
[스위프트 로고]사전에서 Swift라는 단어를 검색해보면 신속한, 빠른, 칼새 등등의 의미가 나옵니다. 위에 보이는 스위프트 로고 또한 칼새의 형상이죠?
애플에서 스위프트라는 이름의 의미를 직접적으로 발표하지는 않았지만 이 포스팅을 읽고나면 왜 스위프트라는 이름을 썼을지 생각해 볼 수도 있을 것 같습니다. 스위프트라는 언어는 어떤 언어인지, 스위프트에 왜 스위프트라는 이름이 붙게 되었는지 한 번 살펴볼게요 🙂
스위프트의 역사
사람의 언어가 시대에 따라 필요한 것들이 바뀌는 것처럼 프로그래밍 언어도 시대의 요구에 맞게 점점 발전합니다. 새로운 언어가 탄생하기도 하고, 기존의 언어에 새로운 기능이 추가되면서 버전 업데이트를 하기도 하죠.
스위프트는 이제 막 발돋움을 시작한 언어이지만, 짧은 시간 안에 많은 변화들을 겪어 왔습니다.
처음의 스위프트는 2010년 크리스 래트너(Chris Lattner)<애플의 핵심 프로그래머 중 한 명이었으나 이제는 애플을 떠나 자동차 회사인 테슬라로 옮긴다고 발표가 났습니다>를 필두로 한 애플의 프로그래머들이 개발을 시작했습니다.
Objective-C, Ruby, Python, C#, Rust, Haskell, CLU 등 기존의 언어와 신생언어의 많은 부분을 참고하여 만들었습니다. 그리고 2014년 9월 정식 발표된 이후 스위프트는 현재도 계속 발전 중에 있습니다.
또, 현재는 모든 사항들이 오픈소스로 공개되면서 세계의 수많은 프로그래머들이 협력하여 언어를 발전시키고 있습니다.
스위프트의 굵직굵직한 변경사항은 친절한 예제와 함께 스위프트 공식 블로그(https://swift.org/blog/)에서 확인할 수 있습니다.
지금까지 스위프트가 어떻게 발전되어 왔는지 간략히 살펴볼까요?
버전 1.0
애플은 2014년 6월 처음으로 스위프트의 존재를 발표하고 베타버전을 배포했습니다. 그리고 1.0 버전을 2014년 9월 Xcode 6와 함께 공식 배포합니다. 기존의 프로그래밍 언어의 기능을 대부분 갖추었으며, 안전한 코딩을 위한 안전장치 등 새로운 기능 덕에 많은 프로그래머의 관심을 받았습니다.
버전 1.1
애플은 한 달 만인 2014년 10월 1.1 버전을 발표합니다.
버전 1.2
이듬해 봄인 2015년 4월에 스위프트 1.2 버전을 발표했는데 이 시기는 스위프트 문법의 1차 대 혼돈기입니다. 1.0과 1.1에 비해 문법 변화가 많았습니다.
버전 2.0
애플은 2015년 9월 WWDC에서 스위프트 2.0 버전을 발표했습니다. 2차 대 혼돈기였던 이 시기는 1.X 버전 대와 차이가 컸으나 이후로는 버전별 변화가 적어 1차 안정기라 볼 수 있습니다.
버전 2.1
2015년 10월 발표된 스위프트 2.1 버전은 2.0 버전과 비교했을 때 약간의 편의사항 추가와 버그수정 및 안정화 등에 초점을 둔 마이너 업데이트였습니다.
오픈소스 전환
애플은 2015년 12월 스위프트를 오픈소스로 전환하여 공개했습니다. 이제 다른 플랫폼에서도 자유롭게 스위프트를 사용할 수 있습니다. 자세한 내용은 스위프트 오픈소스 공식 사이트(https://swift.org)에서 확인해 볼 수 있습니다. 또, 스위프트 발전에 기여하고 싶다면 Swift Programming Language Evolution 페이지(https://github.com/apple/swift-evolution)에 수정제안을 할 수도 있습니다.
버전 2.2
2016년 3월 스위프트 2.2 버전을 발표했습니다. 향후 3.0 업데이트가 있을 예정이라 변화가 크지는 않았습니다.
버전 3.0
2016년 9월 스위프트 3.0 버전을 발표했습니다.
현재(2017년 1월) 우리가 사용하는 스위프트의 버전은 3.0.1 버전이지만, 올 해 중으로 4.0 버전을 발표한다는 소식이 전해지기도 합니다. 버전이 업데이트 될 때 마다 새로운 문법이 생겨나기도 하고, 삭제되기도 했습니다.
그래서 이제껏 새로운 버전에 대해 자주 확인해 보아야 하는 수고로움이 있었지만 반대로 생각해 본다면 그만큼 빠른시간 안에 강력한 모습으로 변모하고 있다고 생각할 수도 있습니다.
새로 개발된 언어가 프로그래머들에게 쓰이고 사랑받으려면 많은 시간이 필요함에도 불구하고 스위프트는 오픈소스로 전환하여 많은 프로그래머들의 요구를 수용함으로써 빠른 시간안에 프로그래머들이 원하는 언어로 바뀌어 가고 있으며 더욱 많은 사랑은 받고 있다는 것도 눈여겨 볼 점입니다.
스위프트의 특징
애플이 최초에 스위프트를 발표했을 때 스위프트 언어의 특성을 Safe, Modern, Powerful 이라고 발표했습니다. 그러나 오픈소스로 전환되면서 특징을 Safe, Fast, Expressive로 변경하여 발표했습니다.
더불어 애플은 ‘스위프트는 보다 직관적이고 배우기 쉬운 언어’라고 스위프트를 소개했습니다. 먼저 애플이 발표한 스위프트의 언어적 특성을 항목별로 정리해 보았습니다.
안전성(Safe)
스위프트는 안전한 프로그래밍을 지향합니다.
소프트웨어가 배포되기 전에, 즉 프로그래밍을 하는 중에 프로그래머가 저지를 수 있는 실수를 엄격한 문법을 통하여 미연에 방지하고자 노력했습니다.
때론 너무 강제적이라고 느껴질 수 있지만 문법적 제재는 실수를 줄이는 데 도움이 됩니다. 버그를 수정하거나 실수를 찾아내는 시간을 절약할 수 있습니다.
옵셔널이라는 기능을 비롯하여 guard 구문, 오류처리, 강력한 타입통제 등을 통해 스위프트는 안전한 프로그래밍을 구현하고 있습니다.
신속성(Fast)
스위프트는 C 언어를 기반으로 한 C, C++, Objective-C와 같은 프로그래밍 언어를 대체하려는 목적으로 만들어졌습니다.
아직은 부분적으로 미흡하지만 성능 또한 C 언어 수준을 목표로 개발되었습니다.
그래서 스위프트는 성능을 예측할 수 있고 일정한 수준으로 유지할 수 있는 부분에 초점을 맞춰 개발되었습니다.
실행속도의 최적화 뿐만 아니라 컴파일러의 지속된 개량을 통해 더 빠른 컴파일 성능을 구현해 나가고 있습니다.
더 나은 표현성(Expressive)
지난 수십 년 간 컴퓨터 과학 분야는 발전해왔습니다.
이와 함께 성장한 수많은 프로그래밍 언어는 제 각각의 문법 별로 다양한 장단점이 있었습니다.
스위프트는 이를 참고해 더 사용하기 편하고 보기 좋은 문법을 구사하려 노력했습니다. 개발자들이 원하던 현대적이고 세련된 문법을 구현할 수 있었죠.
그러나 지금의 스위프트가 끝이 아닙니다. 계속된 업데이트를 통해 더욱 보기좋고 쓰기좋은 언어로 발전해 나갈 것입니다.
스위프트는 여러 가지 프로그래밍 패러다임을 채용한 다중 패러다임 프로그래밍 언어입니다. 크게 보면 스위프트는 명령형 프로그래밍 패러다임, 객체지향 프로그래밍 패러다임, 함수형 프로그래밍 패러다임, 프로토콜 지향 프로그래밍 패러다임을 지향합니다. 정확하게는 명령형과 객체지향 프로그래밍 패러다임을 기반으로 한 함수형 프로그래밍 패러다임과 프로토콜 지향 프로그래밍 패러다임을 지향합니다. 결과적으로 스위프트에서 가장 강조하는 부분은 함수형 프로그래밍 패러다임과 프로토콜 지향 프로그래밍 패러다임입니다.
기존의 C 언어는 명령형 혹은 절자적 프로그래밍 패러다임을 채용했으며, C++, Java 등의 언어는 명령형 프로그래밍 패러다임과 객체지향 프로그래밍 패러다임을 동시에 채용한 다중 프로그래밍 패러다임 언어입니다.
스위프트는 여기에 함수형 프로그래밍 패러다임과 프로토콜 지향 프로그래밍 패러다임을 더한 언어라고 생각하면 됩니다.
스위프트로 무엇을 할 수 있을까?
많은 분들이 iOS/macOS 애플리케이션을 제작하기 위해 마련된 Cocoa Touch/Cocoa 프레임워크와 스위프트 언어를 동일시 하기도 합니다.
그렇지만 스위프트와 iOS 및 macOS 프로그래밍은 엄연히 다릅니다.
스위프트를 안다 하여 무작정 iOS 프로그래밍을 할 수 있지는 않습니다. 스위프트가 iOS와 macOS용 앱 등 애플 서비스의 앱 개발에 사용할 수 있는 언어로 추가된 것 뿐입니다. 이는 자바 프로그래머가가 모두 안드로이드 앱을 만드는 건 아니라는 점과 같습니다.
현재의 스위프트로는 무엇을 할 수 있을까요?
[애플의 개발자 컨퍼런스인 WWDC 2016 중 장면 발췌]iOS/macOS/tvOS/watchOS 등 애플 플랫폼에서 동작하는 애플리케이션 제작
스위프트 제작의 최초목적이 애플의 플랫폼을 위한 애플리케이션 제작을 위한 것이었기 때문에 당연히 애플 플랫폼을 위한 애플리케이션 제작에 사용할 수 있습니다.
웹서버용 애플리케이션 제작
[IBM사의 웹서버 프레임워크 Kitura의 로고]스위프트 언어를 사용하는 웹서버 애플리케이션 제작용 프레임워크가 생겨나는 추세입니다.
대표적으로는 IBM의 Kitura(http://www.kitura.io/)와 퍼펙트리소프트의 Perfect(http://perfect.org/)라는 프레임워크가 있습니다.
앞으로 스위프트를 위한 다양한 프레임워크가 생겨날 것으로 예상됩니다.
리눅스, 맥 등에서 사용할 프로그램 제작
스위프트를 공식적으로 컴파일 할 수 있는 환경은 현재 애플 플랫폼과 리눅스(Ubuntu) 환경 뿐입니다. 그렇기 때문에 우리가 사용하는 PC 환경 중에서는 맥이나 리눅스 등에서 간단히 사용할 프로그램을 제작해 볼 수 있습니다.
스위프트는 오픈소스이기 때문에 미래에 다른 플랫폼에서 스위프트를 위한 컴파일러를 제공하게 된다면 다른 곳에서도 스위프트를 사용할 수 있게 됩니다.
MS에서 윈도우 애플리케이션을 제작하기 위해 스위프트를 사용할 수 있도록 제공하거나 구글에서 크롬북 등에서 동작할 애플리케이션 제작을 위해 스위프트를 사용할 수 있도록 제공해 준다면 스위프트로 더 다양한 플랫폼의 애플리케이션 제작도 충분히 가능하게 된다는 뜻입니다.
스위프트 사용 환경
스위프트는 오픈소스로 전환된 이후 매킨토시 컴퓨터 및 macOS 외의 다른 환경, 즉 리눅스 및 윈도우 등에서도 사용할 수 있습니다. 그렇지만 아직까지는 스위프트의 문법을 익히고 연습하기에는 애플에서 공식 지원하는 Xcode의 플레이그라운드와 REPL(Read-eval-print-loop)이 가장 편리합니다. 그 외에 웹에서 손쉽게 스위프트 문법을 익히고 실행할 수 있게 서비스를 제공하는 곳도 있습니다.
Xcode(플레이그라운드)
[Xcode 아이콘]Xcode는 macOS에서 동작하는 애플의 통합개발환경입니다.
Xcode는 맥 앱스토어에서 무료로 내려받아 설치할 수 있습니다.
Xcode로는 맥용 애플리케이션 제작부터 iOS, watchOS, tvOS 등의 애플리케이션 제작, 프레임워크 및 라이브러리 제작 등등 다양한 프로그래밍을 할 수 있습니다.
Xcode의 기능 중 하나가 플레이그라운드입니다.
[플레이그라운드 아이콘]플레이그라운드(Playground)는 별도의 프로젝트 생성 없이 스위프트 코드를 실행할 수 있는 스위프트 코딩 환경입니다. 기본 문법 연습에서부터 복잡한 코드 테스트까지 다양한 기능을 수행할 수 있습니다.
스위프트를 맛보고 문법 연습을 하기에 더할 나위 없이 좋은 도구입니다.
REPL
[REPL 사용화면]스위프트는 인터프리터 언어에서 주로 사용되는 REPL(Read-eval-print-loop)으로도 코드를 실행할 수 있습니다. 물론 스위프트는 인터프리터 언어가 아닌 컴파일 언어지만 기존의 인터프리터 언어의 REPL과 거의 비슷하게 사용할 수 있습니다.
REPL은 간단한 코드를 직접 입력하여 바로바로 결과를 볼수있는 환경과 편의를 제공해주는 툴입니다.
맥에서 스위프트의 REPL을 사용하려면 Xcode가 설치된 macOS의 터미널Terminal 애플리케이션을 실행하면 됩니다. 더 정확히 말하자면 Command line tools for Xcode가 설치되어 있어야 합니다(Xcode가 설치되지 않았을 때는 따로 설치해주어야 합니다. Xcode를 설치하면 자동으로 설치되는 도구입니다).
/Application/Utilities 폴더에 위치한 터미널 애플리케이션을 실행하고 swift 라고 명령어를 입력하면 Swift REPL이 실행됩니다.
웹
[IBM Swift Sandbox]스위프트 코드를 macOS 환경이 아닌 다른 환경에서도 쉽게 테스트할 수 있도록 몇몇 웹사이트에서 플레이그라운드 또는 REPL과 유사한 환경을 제공합니다.
스위프트 코드 작성 및 실행도 할 수 있고, 자신이 작성한 코드를 다른 사람들과 공유를 할 수도 있어서 매우 유용합니다. 대표적으로 IBM이 웹에서 스위프트를 작성하고 실행할 수 있는 페이지를 제공합니다. (https://swiftlang.ng.bluemix.net)
모바일 환경
[iPad용 Swift Playgrounds]App Store에서 Swift Playgrounds를 검색해보면 아이패드에서 스위프트 코드를 작성하고 테스트해 볼 수 있는 애플리케이션(https://itunes.apple.com/app/swift-playgrounds/id908519492?mt=8)을 찾을 수 있습니다.
직접 자신만의 코드를 작성할 수도 있으며, 게임을 활용한 튜토리얼을 따라 문제를 해결해 나가며 스위프트를 익힐수도 있습니다. 또, 플레이그라운드를 활용하여 바로 결과들을 확인할 수 있는 여러가지 템플릿들도 제공이 되고 있으므로 재미있게 스위프트를 배워볼 수 있습니다.
리눅스
[우분투 로고]스위프트 코드를 리눅스에서 작성하고 컴파일 할 수 있습니다.
스위프트 다운로드 페이지(https://swift.org/download/#linux)에서 리눅스용 스위프트 패키지에 관한 안내를 찾아볼 수 있습니다.
해당 패키지에는 스위프트 컴파일러를 비롯하여 관련 툴이 포함되어 있습니다.
마치며
애플이 스위프트는 배우기 쉬운 언어라고 발표하였지만 다른 프로그래밍 언어를 알고있는 분들 중 스위프트를 처음 접하는 분들은 조금 어려움을 느낄수도 있습니다. 기존 언어의 프레임에 갖힌 개념들 때문입니다.
사람의 언어가 시대에 따라 필요한 것들이 바뀌는 것처럼 프로그래밍 언어도 시대의 요구에 맞게 점점 발전합니다. 프로그래밍 언어의 기본은 그 뿌리가 비슷하기 때문에 문법의 모양새는 크게 다르지 않아보이지만 세부적인 기능과 개념들은 매우 다를 수 있습니다.
또, 각각의 언어가 지향하는 목표점들도 조금씩 상이합니다. 그래서 새로운 언어를 배울 때에는 기존의 언어에서 배웠던 개념에 자꾸 끼워 맞추려는 노력보다는 처음 배워간다는 마음가짐으로 그 언어의 특성들을 있는 그대로 받아들이는 자세도 중요할 것 같습니다.
크레이그 페더리기(Craig Federighi) 애플 소프트웨어 엔지니어링부 시니어 부사장이 2015년에 The Next Web에서 인터뷰 중 “개발자들이 사용하는 주 언어가 스위프트가 됐으면 좋겠다”, “스위프트를 처음 개발할 때 모바일 앱부터 클라우드까지 어디서든 쓰일 수 있는 언어가 될 수 있도록 신경썼다”라고 말했습니다.
그리고 결과적으로 “스위프트는 향후 20년간 쓰일 주류 언어가 될 것”이라고 말하기도 했습니다.
이번에 스위프트라는 언어에 대해 간단히 알아본 여러분은 어떻게 생각하시나요?
저는 개인적으로 스위프트에 대해 알아가면 알아갈수록 정말 매력적인 언어라는 생각을 하게 됩니다.
크레이그 부사장의 말이 현실화 될 것 같기도 해요 🙂
다음 포스팅에서는 스위프트의 기초 문법에 대해 알아보겠습니다.
추운 날씨 감기 조심하시고 다음 번에 또 뵈어요~
* 본 글의 일부내용은 필자의 저서 [스위프트 프로그래밍](2017, 한빛미디어)(http://book.naver.com/bookdb/book_detail.nhn?bid=11445773)에서 요약, 발췌하였음을 알립니다.
by yagom
facebook : https://www.facebook.com/yagompage
facebook group : https://www.facebook.com/groups/yagom/
p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기
So you have finished reading the 스위프트 언어 topic article, if you find this article useful, please share it. Thank you very much. See more: 스위프트 난이도, 스위프트 문법, Swift 강좌, Swift, 스위프트 책, Swift 언어 특징, 스위프트 파이썬, swift 나무위키