2016년 1월 12일 화요일

Swift 란? (소개, 특징)

Swift  소개

Swift 는 애플이 출시한 새로운 프로그래밍 언어로 코코아 터치(iOS) 와 코코아(Mac OS)  앱 개발하기 위한 언어입니다.

Swift  특징


1. 메모리 관리가 간단하다

  기존 Objective - C 로 개발을 하기 위해서는 메모리를 효율적으로 쓰는데 신경 써야 했으나 ARC
  (Auto Reference Counting)이 나온 후로 조금 간편해지긴 했지만 역시 메모리 사용에 주의를 기울
  이지 않으면 문제가 발생하곤 한다 이런 Memory Leak 문제는  원인을 찾기 어렵기 때문에 디버깅에 
  많은 시간과 노력이 필요하다. 하지만 스위프트는 타입지정이 필요없고 ARC를 사용하기 때문에 메모리
  관리를 위한 노력을 덜 수 있고 로직에 집중 할 수가 있다.


Memory Leak
메모리 누수는 프로그램이 메모리를 할당 후, 해제하지 않아서 시스템의 메모리를 고갈시키는 소프트웨어 오류
* ARC
앱의 메모리 사용량을 추적하기 위해 자동 참조 갯수(ARC: Automatic Reference Counting)를 사용합니다. 대부분의 경우, Swift에서 메모리 관리는 그냥 사용되고, 메모리 관리에 대해서 생각 할 필요가 없습니다. ARC는 인스턴스가 더 이상 필요 없을때 클래스 인스턴스를 자동적으로 메모리에서 해제 해줍니다.
출처: http://kka7.tistory.com/21 [까칠코더]



2. 안전한 코딩을 설계할 수 있다

스위프트는 안전한 프로그래밍을 지향합니다. 현대의 언어는 유연성을 강조한 나머지 의도치 않은
동작을 해서 디버깅이 어려운 경우가 많습니다. 애플은 이런 경우를 대비하여 문법을 통해 미연에 방지코자 노력하였고 변수는 사용되기 전에 반드시 초기화하여야 한다거나, 배열의 오버플로우를 검사하는등
문제가 발생할 여지가 있는 부분을 미리 체크하고 예외를 발생하는 함수나 메소드에 대해서는 반강제적으로 처리하도록 하는등 스위프트는 안전한 프로그래밍을 구현하고 있습니다.

3. 신속하다

스위프트는 성능을 예측할 수 있고 일정한 수준으로 유지할 수 있는 부분에 초점을 맞춰 개발되었습니다.
Objective - C 와 마찬가지로 고성능의 컴파일러인  LLVM으로 컴파일 되어 실행속도의 최적화 뿐만 아니라 빠른 컴파일 성능을 구현해 나가고 있습니다.

* LLVM

Xcode 내에서 실행되지만 LLVM은 스위프트의 검파일러이자 애플 기기를 가동시켜 프로세서가 필요로하는 비트와 바이트로 변환해줍니다.

4. 코드의 실행결과를 바로 확인 할 수 있는 Playground 기능

Playground 기능을 통해 실제 개발에 적용하기 전에 코드 조각이 제대로 동작하는지 확인 하거나, 
알고리즘의 로직을 검증하거나, 문법을 학습하는 용도로 사용할 수 있다.

5. Objective - C 와 같이 사용해서 개발을 할 수 있다.


한줄요약 

상대적으로 언어에 대한 진입 장벽이 낮고 개발하기 쉬운 자바스크립트나 파이썬, 루비와 같은 동적 바인딩 타입의 언어는 생산성이 좋으나 성능면에서 떨어지는 경우가 많고 성능이 좋은 언어일수록 진입 장벽이
높고 개발하기 어려워 생산성이 낮은경우가 많습니다. 이에 비해 스위프트는 개발 생산성과 앱 성능
모두에서 좋은 결과를 가져오는 언어임을 강조하고 있습니다.


댓글 없음:

댓글 쓰기

추천 게시물

애플 개발자 등록방법 2016년 5월 8일 기준!!

애플 개발자 등록 절차 1. 개발자 등록 페이지 이동    애플 개발자 로그인 > Account 페이지 이동 > 하단 영역 클릭 (이미지 참조)   >> Enroll 클릭 >> 무조건 승인!! ...