본문 바로가기
TIL (Today I Learned)

Swift #1

by 프리랜서가 들려주는 IT세계 2019. 12. 28.
반응형

https://devxoul.gitbooks.io/ios-with-swift-in-40-hours/

 

소개 · 40시간만에 Swift로 iOS 앱 만들기

No results matching ""

devxoul.gitbooks.io

위의 사이트를 통해 Swift를 공부하면서ㅋㅋ 너무 웃겨서 정리해본다.

Swift의 역사를 "직접 찾아보세요" 라고 되어있길래...ㅋㅋ


목차

  1. 개요
  2. 개발 철학
  3. Objective-C 와의 관계
  4. 문제점

1. 개요

Swift = "신속한, 재빠른", Swift Logo = "칼새" 상징하는 것으로 추정

기존 Objective-C의 단점을 보완하고, LLVM/Clang 컴파일러로 빌드되는 애플의 신규 프로그래밍 언어.

기존 Objective-C에 비해 클로저, 다중 리턴 타입, 네임스페이스, 제네릭, 타입 인터페이스 등 Objective-C에는 없었던 현대 프로그래밍 언어가 갖고 있는 기능을 많이 포함시켰으며, 이에 따라 일정한 성능을 보이고 있다.

 

2. 개발 철학

Swift는 다음과 같이 코드의 표현력을 높이기 위한 다른 많은 기능을 제공합니다.

  • 함수 포인터와 통합된 클로저
  • 튜플 및 멀티플 반환 값
  • 제네릭
  • 범위 또는 컬렉션에서의 빠르고 간결한 반복
  • 메소드, 확장 프로그램 및 프로토콜을 지원하는 구조
  • 함수형 프로그래밍 패턴 (예: map 및 filter)
  • try/catch/throw를 사용한 기본 오류 처리

3. Objective-C 와의 관계

Swift 프로젝트에서도 Objective-C는 아무런 제약 없이 사용 가능하다. Swift의 컴파일러 백엔드와 Objective-C의 컴파일러 백엔드는 둘다 LLVM으로 동일하며, 어떤 언어를 사용해서 코드를 작성하더라도 같은 중간언어로 번역되어 컴파일 된다.

 

4. 문제점

Objective-C에 비해서 많은 문제점이 나오고 있다. 빠른 Swift의 새로운 버전에 따른 수정. 코드를 하나하나 수정해 주어야하는 일이 발생하는 것. 대표적인 문제로 Swfit3.0 버전에 오면서 조금만 큰 프로젝트를 개발하다 보면 Code Completion 기능은 먹통이 된다. 이 부분에 대해서는 Apple은 Swift4.0 또는 4.2로 마이그레이션할 수 있도록 가이드를 제공하고 있다.

  • 컴파일 속도
    Objective-C에 비해서 빌드 속도가 현저히 느려졌다. 빌드 타임에 작성된 코드를 Swift로 변경하고 다시 그걸 컴파일하는 듯한 속도감을 보인다. 
  • Xcode의 전반적인 반응 속도
    Xcode를 사용하면서 Swift3.0으로 올리고 나서 CPU 사용을 계속적으로 full로 사용하여 전반적인 동작이 느려지는 문제가 발생.

 


위의 내용은 나무위키를 참조하였습니다.

https://namu.wiki/w/Swift(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EC%96%B8%EC%96%B4)

 

Swift(프로그래밍 언어) - 나무위키

Swift는 다음과 같이 코드의 표현력을 높이기 위한 다른 많은 기능을 제공합니다.튜플 및 멀티플 반환 값제네릭범위 또는 컬렉션에서의 빠르고 간결한 반복메소드, 확장 프로그램 및 프로토콜을 지원하는 구조함수형 프로그래밍 패턴 (예: map 및 filter)try/catch/throw를 사용한 기본 오류 처리Swift가 현대적인 프로그래밍 언어인 이유. WWDC에서 공개된 Swift의 특징은 Fast, Modern, Safe, Interactive이었으나,

namu.wiki

 

반응형

댓글