Optional을 공부하면서 든 개인적인 생각

연어는결국강으로·2023년 11월 1일
0

Swift

목록 보기
4/6

옵셔널 강의를 들으면서 코드를 쳐보니 자바보다 더 보수적인 언어로 보인다. 어쩌면 서버 개발에서도 강력한 언어이지 않을까? 이 부분에 대해서 알아보았다. 스위프트는 어째서 서버를 구현하는데에 사용되는 경우를 보기 힘든 것인가?

Swift의 설계 철학 중 하나는 안전성이다. 여기에는 옵셔널 처리뿐만 아니라 다음과 같은 특징들도 포함된다:

  1. 강력한 타입 시스템: Swift는 강력한 타입 추론 시스템을 가지고 있어서 변수나 상수의 타입을 명시적으로 쓰지 않아도 컴파일러가 자동으로 타입을 추론한다. 하지만 한 번 선언된 타입은 변경할 수 없어, 타입 관련 버그를 최소화한다.
  2. 불변성: let 키워드를 사용하여 불변 상수를 선언할 수 있다. 이는 상태 관리를 간소화하고 버그를 줄이는 데 도움이 된다.
  3. 범위 기반 루프: for-in 루프를 사용하여 컬렉션의 요소를 안전하게 순회할 수 있다.
  4. 오류 처리: Swift는 throw, try, catch 구문을 사용하여 오류를 명시적으로 처리한다.

그럼에도 불구하고 Swift가 서버 개발 영역에서 널리 사용되지 않는 이유는 몇 가지가 있다:

  1. 시장 점유율: Swift는 iOS 및 macOS 애플리케이션 개발에 주로 사용되므로, 그 외 영역에서의 점유율은 상대적으로 낮다. - 이게 가장 큰 것 같다.
  2. 성숙도: Swift가 최근에 나온 언어이기 때문에, 서버 개발에 필요한 라이브러리나 프레임워크가 다른 언어들에 비해 아직 충분히 성숙하지 않을 수 있다.
  3. 경쟁: 이미 서버 개발에 널리 사용되는 다른 언어들 (예: Java, Python, JavaScript, Go 등)과의 경쟁 때문에 Swift가 서버 영역에서 빠르게 성장하는 것이 어렵다.

그러나 Apple은 Swift로 서버 개발을 할 수 있게끔 Swift Server Work Group을 만들어 지원하고 있다. Vapor, Kitura와 같은 Swift 서버 프레임워크도 있으므로, Swift로 서버 개발을 시작하는 것도 충분히 가능하다. Swift의 안전성과 표현성은 서버 개발에도 매우 유용하므로, 시간이 지남에 따라 Swift 서버 개발의 인기도 높아질 수 있다.

그렇다. 스위프트의 가장 치명적인 단점은 오로지 맥에서만 사용해야한다는 것이다. 아… 맥에서 xcode를 사용해야만 한다는 것 어쩌면 이게 제일 크지 않을까? 그냥 내 생각이다. 이런 제한을 극복하기 위해 크로스 플랫폼 개발을 하려는 시도가 있다고 한다. 대표적으로:

  1. Swift on Windows: Swift 커뮤니티는 Windows에서 Swift를 실행할 수 있는 방법에 대한 연구와 개발을 계속하고 있다. 이는 아직 초기 단계에 있지만, 향후 Windows에서도 Swift를 더 쉽게 사용할 수 있게 될 것이다.
  2. Swift on Server: 이미 언급했듯이, 서버 측 Swift의 개발이 활발하게 진행되고 있다. 이를 통해 다양한 OS와 환경에서 Swift를 사용할 수 있게 된다.
  3. Swift for WebAssembly: WebAssembly는 웹에서 고성능 코드를 실행하기 위한 바이너리 포맷이다. Swift를 WebAssembly로 컴파일할 수 있는 연구와 개발도 진행 중이며, 이를 통해 웹에서도 Swift를 사용할 수 있게 될 것이다.

그러나 현재로서는 맥이 Swift 개발의 주요 플랫폼으로 남아 있으며, 많은 개발자와 회사들이 맥을 사용해야 하는 이유 중 하나이다. Apple이 Swift를 오픈소스로 제공함으로써, 다양한 플랫폼과 환경에서의 Swift 활용이 점점 늘어나고 있으나, 여전히 맥의 의존도는 높다.

0개의 댓글